citeproc (empty) → 0.1
raw patch · 938 files changed
+148222/−0 lines, 938 filesdep +Diffdep +aesondep +aeson-pretty
Dependencies added: Diff, aeson, aeson-pretty, attoparsec, base, bytestring, case-insensitive, citeproc, containers, data-default, directory, file-embed, filepath, mtl, pandoc-types, pretty, rfc5051, safe, scientific, text, text-icu, timeit, transformers, uniplate, vector, xml-conduit
Files
- CHANGELOG.md +6/−0
- LICENSE +25/−0
- README.md +100/−0
- app/Main.hs +159/−0
- cabal.project +4/−0
- citeproc.cabal +168/−0
- locales/af-ZA.xml +312/−0
- locales/ar.xml +253/−0
- locales/bg-BG.xml +324/−0
- locales/ca-AD.xml +312/−0
- locales/cs-CZ.xml +319/−0
- locales/cy-GB.xml +312/−0
- locales/da-DK.xml +315/−0
- locales/de-AT.xml +334/−0
- locales/de-CH.xml +318/−0
- locales/de-DE.xml +331/−0
- locales/el-GR.xml +314/−0
- locales/en-GB.xml +357/−0
- locales/en-US.xml +357/−0
- locales/es-CL.xml +310/−0
- locales/es-ES.xml +309/−0
- locales/es-MX.xml +351/−0
- locales/et-EE.xml +309/−0
- locales/eu.xml +309/−0
- locales/fa-IR.xml +312/−0
- locales/fi-FI.xml +318/−0
- locales/fr-CA.xml +317/−0
- locales/fr-FR.xml +317/−0
- locales/he-IL.xml +315/−0
- locales/hr-HR.xml +309/−0
- locales/hu-HU.xml +313/−0
- locales/id-ID.xml +321/−0
- locales/is-IS.xml +312/−0
- locales/it-IT.xml +309/−0
- locales/ja-JP.xml +315/−0
- locales/km-KH.xml +312/−0
- locales/ko-KR.xml +312/−0
- locales/la.xml +309/−0
- locales/locales.json +263/−0
- locales/lt-LT.xml +328/−0
- locales/lv-LV.xml +361/−0
- locales/mn-MN.xml +306/−0
- locales/nb-NO.xml +309/−0
- locales/nl-NL.xml +328/−0
- locales/nn-NO.xml +309/−0
- locales/pl-PL.xml +312/−0
- locales/pt-BR.xml +324/−0
- locales/pt-PT.xml +320/−0
- locales/ro-RO.xml +311/−0
- locales/ru-RU.xml +321/−0
- locales/sk-SK.xml +318/−0
- locales/sl-SI.xml +312/−0
- locales/sr-RS.xml +312/−0
- locales/sv-SE.xml +322/−0
- locales/th-TH.xml +309/−0
- locales/tr-TR.xml +319/−0
- locales/uk-UA.xml +249/−0
- locales/vi-VN.xml +315/−0
- locales/zh-CN.xml +205/−0
- locales/zh-TW.xml +209/−0
- man/citeproc.1.md +185/−0
- src/Citeproc.hs +65/−0
- src/Citeproc/CaseTransform.hs +176/−0
- src/Citeproc/CslJson.hs +815/−0
- src/Citeproc/Data.hs +12/−0
- src/Citeproc/Element.hs +237/−0
- src/Citeproc/Eval.hs +2371/−0
- src/Citeproc/Locale.hs +104/−0
- src/Citeproc/Pandoc.hs +288/−0
- src/Citeproc/Style.hs +604/−0
- src/Citeproc/Types.hs +1698/−0
- stack.yaml +10/−0
- test/NOTES.md +22/−0
- test/Spec.hs +347/−0
- test/csl/affix_CommaAfterQuote.txt +53/−0
- test/csl/affix_InterveningEmpty.txt +79/−0
- test/csl/affix_MovingPunctuation.txt +56/−0
- test/csl/affix_PrefixFullCitationTextOnly.txt +80/−0
- test/csl/affix_PrefixWithDecorations.txt +80/−0
- test/csl/affix_SpaceWithQuotes.txt +53/−0
- test/csl/affix_TextNodeWithMacro.txt +51/−0
- test/csl/affix_WithCommas.txt +1100/−0
- test/csl/affix_WordProcessorAffixNoSpace.txt +75/−0
- test/csl/bugreports_Abnt.txt +86/−0
- test/csl/bugreports_AccidentalAllCaps.txt +840/−0
- test/csl/bugreports_AllCapsLeakage.txt +853/−0
- test/csl/bugreports_ApostropheOnParticle.txt +49/−0
- test/csl/bugreports_ArabicLocale.txt +65/−0
- test/csl/bugreports_AsaSpacing.txt +78/−0
- test/csl/bugreports_AsmJournals.txt +180/−0
- test/csl/bugreports_AuthorPosition.txt +810/−0
- test/csl/bugreports_AuthorYear.txt +366/−0
- test/csl/bugreports_AutomaticallyDeleteItemsFails.txt +263/−0
- test/csl/bugreports_BadCitationUpdate.txt +99/−0
- test/csl/bugreports_BadDelimiterBeforeCollapse.txt +271/−0
- test/csl/bugreports_ByBy.txt +668/−0
- test/csl/bugreports_CapsAfterOneWordPrefix.txt +60/−0
- test/csl/bugreports_ChicagoAuthorDateLooping.txt +437/−0
- test/csl/bugreports_ChineseCharactersFamilyOnlyPluralLabel.txt +52/−0
- test/csl/bugreports_CitationSortsWithEtAl.txt +168/−0
- test/csl/bugreports_CollapseFailure.txt +154/−0
- test/csl/bugreports_ContainerTitleShort.txt +73/−0
- test/csl/bugreports_ContentPunctuationDuplicate1.txt +64/−0
- test/csl/bugreports_ContextualPluralWithMainItemFields.txt +60/−0
- test/csl/bugreports_CreepingAddNames.txt +362/−0
- test/csl/bugreports_DelimiterOnLayout.txt +84/−0
- test/csl/bugreports_DelimitersOnLocator.txt +377/−0
- test/csl/bugreports_DemoPageFullCiteCruftOnSubsequent.txt +750/−0
- test/csl/bugreports_DisambiguationAddNames.txt +299/−0
- test/csl/bugreports_DisambiguationAddNamesBibliography.txt +302/−0
- test/csl/bugreports_DoubleEncodedAngleBraces.txt +552/−0
- test/csl/bugreports_DroppingGroupDelimiterSpace.txt +53/−0
- test/csl/bugreports_DuplicateSpaces.txt +181/−0
- test/csl/bugreports_DuplicateSpaces2.txt +350/−0
- test/csl/bugreports_DuplicateSpaces3.txt +217/−0
- test/csl/bugreports_DuplicateTerminalPunctuationInBibliography.txt +257/−0
- test/csl/bugreports_EmptyIfMatchNoneFail.txt +51/−0
- test/csl/bugreports_EnvAndUrb.txt +215/−0
- test/csl/bugreports_EtAlSubsequent.txt +107/−0
- test/csl/bugreports_FourAndFour.txt +802/−0
- test/csl/bugreports_FrenchApostrophe.txt +46/−0
- test/csl/bugreports_GreekStyleProblems.txt +1245/−0
- test/csl/bugreports_GreekStyleTwoEditors.txt +1243/−0
- test/csl/bugreports_IeeePunctuation.txt +179/−0
- test/csl/bugreports_LabelsOutOfPlace.txt +748/−0
- test/csl/bugreports_LegislationCrash.txt +119/−0
- test/csl/bugreports_MatchedAuthorAndDate.txt +374/−0
- test/csl/bugreports_MissingItemInJoin.txt +287/−0
- test/csl/bugreports_MovePunctuationInsideQuotesForLocator.txt +748/−0
- test/csl/bugreports_NoCaseEscape.txt +471/−0
- test/csl/bugreports_NoEventInNestedMacroWithOldProcessor.txt +141/−0
- test/csl/bugreports_NoTitle.txt +365/−0
- test/csl/bugreports_NumberAffixEscape.txt +47/−0
- test/csl/bugreports_NumberInMacroWithVerticalAlign.txt +59/−0
- test/csl/bugreports_OldMhraDisambiguationFailure.txt +499/−0
- test/csl/bugreports_OverwriteCitationItems.txt +138/−0
- test/csl/bugreports_ProcessorHang1.txt +400/−0
- test/csl/bugreports_SectionAndLocator.txt +69/−0
- test/csl/bugreports_SelfLink.txt +627/−0
- test/csl/bugreports_SimpleBib.txt +94/−0
- test/csl/bugreports_SingleQuote.txt +160/−0
- test/csl/bugreports_SingleQuoteXml.txt +645/−0
- test/csl/bugreports_SingletonIfMatchNoneFail.txt +51/−0
- test/csl/bugreports_SmallCapsEscape.txt +454/−0
- test/csl/bugreports_SortSecondaryKey.txt +283/−0
- test/csl/bugreports_SortSecondaryKeyBibliography.txt +286/−0
- test/csl/bugreports_SortedIeeeItalicsFail.txt +372/−0
- test/csl/bugreports_StyleError001.txt +361/−0
- test/csl/bugreports_ThesisUniversityAppearsTwice.txt +742/−0
- test/csl/bugreports_TitleCase.txt +45/−0
- test/csl/bugreports_UndefinedBeforeVal.txt +521/−0
- test/csl/bugreports_UndefinedInName.txt +214/−0
- test/csl/bugreports_UndefinedInName2.txt +202/−0
- test/csl/bugreports_UndefinedInName3.txt +396/−0
- test/csl/bugreports_UndefinedNotString.txt +157/−0
- test/csl/bugreports_UndefinedStr.txt +167/−0
- test/csl/bugreports_UnisaHarvardInitialization.txt +83/−0
- test/csl/bugreports_YearSuffixInHarvard1.txt +285/−0
- test/csl/bugreports_YearSuffixLingers.txt +132/−0
- test/csl/bugreports_disambiguate.txt +398/−0
- test/csl/bugreports_effingBug.txt +67/−0
- test/csl/bugreports_ikeyOne.txt +369/−0
- test/csl/bugreports_parenthesis.txt +349/−0
- test/csl/bugreports_parseName.txt +88/−0
- test/csl/bugreports_undefinedCrash.txt +165/−0
- test/csl/collapse_AuthorCollapse.txt +85/−0
- test/csl/collapse_AuthorCollapseDifferentAuthorsOneWithEtAl.txt +89/−0
- test/csl/collapse_AuthorCollapseNoDate.txt +98/−0
- test/csl/collapse_AuthorCollapseNoDateSorted.txt +114/−0
- test/csl/collapse_ChicagoAfterCollapse.txt +829/−0
- test/csl/collapse_CitationNumberRangesInsert.txt +142/−0
- test/csl/collapse_CitationNumberRangesMixed.txt +131/−0
- test/csl/collapse_CitationNumberRangesMixed2.txt +167/−0
- test/csl/collapse_CitationNumberRangesMixed3.txt +132/−0
- test/csl/collapse_CitationNumberRangesOneOnly.txt +60/−0
- test/csl/collapse_CitationNumberRangesWithAffixes.txt +69/−0
- test/csl/collapse_CitationNumberRangesWithAffixesGrouped.txt +85/−0
- test/csl/collapse_CitationNumberRangesWithAffixesGroupedLocator.txt +86/−0
- test/csl/collapse_CitationNumberRangesWithAffixesNoCollapse.txt +59/−0
- test/csl/collapse_NumericDuplicate.txt +82/−0
- test/csl/collapse_NumericDuplicate2.txt +87/−0
- test/csl/collapse_TrailingDelimiter.txt +217/−0
- test/csl/collapse_YearSuffixCollapse.txt +207/−0
- test/csl/collapse_YearSuffixCollapseNoRange.txt +204/−0
- test/csl/collapse_YearSuffixCollapseNoYearSuffixDelimiter.txt +205/−0
- test/csl/collapse_YearSuffixImplicitCollapseNoYearSuffixDelimiter.txt +204/−0
- test/csl/condition_EmptyDate.txt +92/−0
- test/csl/condition_EmptyIsNumericFalse.txt +52/−0
- test/csl/condition_EmptyIsUncertainDateFalse.txt +52/−0
- test/csl/condition_EmptyShortTitleFalse.txt +52/−0
- test/csl/condition_FirstNullAny.txt +56/−0
- test/csl/condition_LocatorIsFalse.txt +80/−0
- test/csl/condition_MatchAll.txt +64/−0
- test/csl/condition_NameAndTextVars.txt +91/−0
- test/csl/condition_NumberIsNumeric.txt +52/−0
- test/csl/condition_NumeralIsNumeric.txt +52/−0
- test/csl/condition_NumeralWithTextIsNumeric.txt +52/−0
- test/csl/condition_RefTypeBranching.txt +216/−0
- test/csl/condition_SingletonIfMatchNone.txt +70/−0
- test/csl/condition_TextIsNotNumeric.txt +52/−0
- test/csl/condition_VariableAll.txt +59/−0
- test/csl/condition_VariableAny.txt +58/−0
- test/csl/condition_VariableNone.txt +57/−0
- test/csl/date_Accessed.txt +53/−0
- test/csl/date_AccessedCrash.txt +678/−0
- test/csl/date_DateAD.txt +57/−0
- test/csl/date_DateBC.txt +57/−0
- test/csl/date_DateNoDateNoTest.txt +50/−0
- test/csl/date_DateNoDateWithTest.txt +58/−0
- test/csl/date_DayOrdinalDayOneOnly.txt +79/−0
- test/csl/date_DisappearingBug.txt +704/−0
- test/csl/date_EmptyStrings.txt +60/−0
- test/csl/date_IgnoreNonexistentSort.txt +83/−0
- test/csl/date_InPress.txt +59/−0
- test/csl/date_January.txt +53/−0
- test/csl/date_KeyVariable.txt +106/−0
- test/csl/date_LiteralFailGracefullyIfNoValue.txt +54/−0
- test/csl/date_LocalizedDateFormats-af-ZA.txt +76/−0
- test/csl/date_LocalizedDateFormats-ar-AR.txt +76/−0
- test/csl/date_LocalizedDateFormats-bg-BG.txt +76/−0
- test/csl/date_LocalizedDateFormats-ca-AD.txt +76/−0
- test/csl/date_LocalizedDateFormats-cs-CZ.txt +76/−0
- test/csl/date_LocalizedDateFormats-da-DK.txt +76/−0
- test/csl/date_LocalizedDateFormats-de-AT.txt +76/−0
- test/csl/date_LocalizedDateFormats-de-CH.txt +76/−0
- test/csl/date_LocalizedDateFormats-de-DE.txt +76/−0
- test/csl/date_LocalizedDateFormats-el-GR.txt +76/−0
- test/csl/date_LocalizedDateFormats-en-US.txt +76/−0
- test/csl/date_LocalizedDateFormats-es-ES.txt +76/−0
- test/csl/date_LocalizedDateFormats-et-EE.txt +76/−0
- test/csl/date_LocalizedDateFormats-fr-FR.txt +76/−0
- test/csl/date_LocalizedDateFormats-he-IL.txt +76/−0
- test/csl/date_LocalizedDateFormats-hu-HU.txt +76/−0
- test/csl/date_LocalizedDateFormats-is-IS.txt +76/−0
- test/csl/date_LocalizedDateFormats-it-IT.txt +76/−0
- test/csl/date_LocalizedDateFormats-ja-JP.txt +76/−0
- test/csl/date_LocalizedDateFormats-kh-KH.txt +65/−0
- test/csl/date_LocalizedDateFormats-ko-KR.txt +76/−0
- test/csl/date_LocalizedDateFormats-mn-MN.txt +76/−0
- test/csl/date_LocalizedDateFormats-nb-NO.txt +76/−0
- test/csl/date_LocalizedDateFormats-nl-NL.txt +76/−0
- test/csl/date_LocalizedDateFormats-pl-PL.txt +76/−0
- test/csl/date_LocalizedDateFormats-pt-BR.txt +76/−0
- test/csl/date_LocalizedDateFormats-pt-PT.txt +76/−0
- test/csl/date_LocalizedDateFormats-ro-RO.txt +76/−0
- test/csl/date_LocalizedDateFormats-ru-RU.txt +76/−0
- test/csl/date_LocalizedDateFormats-sk-SK.txt +76/−0
- test/csl/date_LocalizedDateFormats-sl-SL.txt +76/−0
- test/csl/date_LocalizedDateFormats-sr-RS.txt +76/−0
- test/csl/date_LocalizedDateFormats-sv-SE.txt +76/−0
- test/csl/date_LocalizedDateFormats-th-TH.txt +76/−0
- test/csl/date_LocalizedDateFormats-tr-TR.txt +76/−0
- test/csl/date_LocalizedDateFormats-uk-UA.txt +76/−0
- test/csl/date_LocalizedDateFormats-vi-VN.txt +76/−0
- test/csl/date_LocalizedDateFormats-zh-CN.txt +76/−0
- test/csl/date_LocalizedDateFormats-zh-TW.txt +76/−0
- test/csl/date_LocalizedNumericDefault.txt +55/−0
- test/csl/date_LocalizedNumericDefaultMissingDay.txt +54/−0
- test/csl/date_LocalizedNumericDefaultWithAffixes.txt +55/−0
- test/csl/date_LocalizedNumericYear.txt +55/−0
- test/csl/date_LocalizedNumericYearMonth.txt +55/−0
- test/csl/date_LocalizedNumericYearRange.txt +59/−0
- test/csl/date_LocalizedNumericYearWithAffixes.txt +55/−0
- test/csl/date_LocalizedTextDefault.txt +55/−0
- test/csl/date_LocalizedTextDefaultMissingDay.txt +54/−0
- test/csl/date_LocalizedTextDefaultWithAffixes.txt +55/−0
- test/csl/date_LocalizedTextInStyleLocaleWithTextCase.txt +64/−0
- test/csl/date_LocalizedTextMonthFormOverride.txt +57/−0
- test/csl/date_LocalizedTextYear.txt +55/−0
- test/csl/date_LocalizedTextYearMonth.txt +55/−0
- test/csl/date_LocalizedTextYearWithAffixes.txt +55/−0
- test/csl/date_LocalizedWithInStyleFormatting.txt +57/−0
- test/csl/date_LongMonth.txt +59/−0
- test/csl/date_LopsidedDataYearSuffixCollapse.txt +88/−0
- test/csl/date_MaskNonexistentWithCondition.txt +55/−0
- test/csl/date_NegativeDateSort.txt +107/−0
- test/csl/date_NegativeDateSortViaMacro.txt +110/−0
- test/csl/date_NegativeDateSortViaMacroOnYearMonthOnly.txt +120/−0
- test/csl/date_NoDate.txt +58/−0
- test/csl/date_NonexistentSortReverseBibliography.txt +94/−0
- test/csl/date_NonexistentSortReverseCitation.txt +84/−0
- test/csl/date_OtherAlone.txt +54/−0
- test/csl/date_OtherWithDate.txt +58/−0
- test/csl/date_RangeDelimiter.txt +188/−0
- test/csl/date_SeasonRange1.txt +57/−0
- test/csl/date_SeasonRange2.txt +56/−0
- test/csl/date_SeasonRange3.txt +56/−0
- test/csl/date_SeasonSubstituteInGroup.txt +67/−0
- test/csl/date_SortEmptyDatesBibliography.txt +103/−0
- test/csl/date_SortEmptyDatesCitation.txt +91/−0
- test/csl/date_String.txt +52/−0
- test/csl/date_TextFormFulldateDayRange.txt +64/−0
- test/csl/date_TextFormFulldateMonthRange.txt +64/−0
- test/csl/date_TextFormFulldateYearRange.txt +64/−0
- test/csl/date_TextFormMonthdateMonthRange.txt +62/−0
- test/csl/date_TextFormMonthdateYearRange.txt +62/−0
- test/csl/date_TextFormYeardateYearRange.txt +60/−0
- test/csl/date_TextFormYeardateYearRangeOpen.txt +60/−0
- test/csl/date_Uncertain.txt +76/−0
- test/csl/date_VariousInvalidDates.txt +109/−0
- test/csl/date_YearSuffixDelimiter.txt +109/−0
- test/csl/date_YearSuffixImplicitWithNoDate.txt +108/−0
- test/csl/date_YearSuffixImplicitWithNoDateOneOnly.txt +86/−0
- test/csl/date_YearSuffixWithNoDate.txt +108/−0
- test/csl/decorations_AndTermUnaffectedByNameDecorations.txt +61/−0
- test/csl/decorations_Baseline.txt +73/−0
- test/csl/decorations_NestedQuotes.txt +45/−0
- test/csl/decorations_NestedQuotesInnerReverse.txt +45/−0
- test/csl/decorations_NoNormalWithoutDecoration.txt +53/−0
- test/csl/decorations_SimpleFlipFlop.txt +45/−0
- test/csl/decorations_SimpleQuotes.txt +45/−0
- test/csl/disambiguate_AddNamesFailure.txt +100/−0
- test/csl/disambiguate_AddNamesFailureWithAddGivenname.txt +101/−0
- test/csl/disambiguate_AddNamesSuccess.txt +100/−0
- test/csl/disambiguate_AllNamesBaseNameCountOnFailureIfYearSuffixAvailable.txt +226/−0
- test/csl/disambiguate_AllNamesGenerally.txt +103/−0
- test/csl/disambiguate_AllNamesSimpleSequence.txt +88/−0
- test/csl/disambiguate_AllNamesWithInitialsBibliography.txt +142/−0
- test/csl/disambiguate_AllNamesWithInitialsGenerally.txt +103/−0
- test/csl/disambiguate_AndreaEg1a.txt +193/−0
- test/csl/disambiguate_AndreaEg1b.txt +194/−0
- test/csl/disambiguate_AndreaEg1c.txt +195/−0
- test/csl/disambiguate_AndreaEg2.txt +185/−0
- test/csl/disambiguate_AndreaEg3.txt +185/−0
- test/csl/disambiguate_AndreaEg4.txt +188/−0
- test/csl/disambiguate_AndreaEg5.txt +189/−0
- test/csl/disambiguate_BasedOnEtAlSubsequent.txt +174/−0
- test/csl/disambiguate_BasedOnSubsequentFormWithBackref2.txt +268/−0
- test/csl/disambiguate_ByCiteBaseNameCountOnFailureIfYearSuffixAvailable.txt +158/−0
- test/csl/disambiguate_ByCiteDisambiguateCondition.txt +104/−0
- test/csl/disambiguate_ByCiteGivennameExpandCrossNestedNames.txt +125/−0
- test/csl/disambiguate_ByCiteGivennameNoShortFormInitializeWith.txt +97/−0
- test/csl/disambiguate_ByCiteGivennameShortFormInitializeWith.txt +136/−0
- test/csl/disambiguate_ByCiteGivennameShortFormNoInitializeWith.txt +97/−0
- test/csl/disambiguate_ByCiteIncremental1.txt +513/−0
- test/csl/disambiguate_ByCiteIncremental2.txt +458/−0
- test/csl/disambiguate_ByCiteIsDefault.txt +346/−0
- test/csl/disambiguate_ByCiteMinimalGivennameExpandMinimalNames.txt +107/−0
- test/csl/disambiguate_ByCiteRetainNamesOnFailureIfYearSuffixNotAvailable.txt +160/−0
- test/csl/disambiguate_ByCiteTwoAuthorsSameCite.txt +66/−0
- test/csl/disambiguate_ByCiteTwoAuthorsSameFamilyName.txt +109/−0
- test/csl/disambiguate_CitationLabelDefault.txt +95/−0
- test/csl/disambiguate_CitationLabelInData.txt +153/−0
- test/csl/disambiguate_DifferentSpacingInInitials.txt +69/−0
- test/csl/disambiguate_DisambiguateTrueAndYearSuffixOne.txt +128/−0
- test/csl/disambiguate_DisambiguateTrueReflectedInBibliography.txt +114/−0
- test/csl/disambiguate_DisambiguateWithThree.txt +104/−0
- test/csl/disambiguate_DisambiguateWithThree2.txt +193/−0
- test/csl/disambiguate_DisambiguationHang.txt +252/−0
- test/csl/disambiguate_ExtraTextCitation.txt +90/−0
- test/csl/disambiguate_FailWithYearSuffix.txt +507/−0
- test/csl/disambiguate_FamilyNameOnly.txt +97/−0
- test/csl/disambiguate_HonorFullnameInBibliography.txt +99/−0
- test/csl/disambiguate_ImplicitYearSuffixOnceOnly.txt +107/−0
- test/csl/disambiguate_IncrementalExtraText.txt +147/−0
- test/csl/disambiguate_InitializeWithButNoDisambiguation.txt +335/−0
- test/csl/disambiguate_LastOnlyFailWithByCite.txt +107/−0
- test/csl/disambiguate_NoTextElementUsesYearSuffixVariable.txt +83/−0
- test/csl/disambiguate_PrimaryNameGenerally.txt +91/−0
- test/csl/disambiguate_PrimaryNameWithInitialsLimitedToPrimary.txt +127/−0
- test/csl/disambiguate_SetsOfNames.txt +329/−0
- test/csl/disambiguate_SkipAccessedYearSuffix.txt +196/−0
- test/csl/disambiguate_ThreeNoAuthorNoTitleEntries.txt +123/−0
- test/csl/disambiguate_ToInitialOnly.txt +86/−0
- test/csl/disambiguate_Trigraph.txt +110/−0
- test/csl/disambiguate_WithOriginalYear.txt +341/−0
- test/csl/disambiguate_YearCollapseWithInstitution.txt +135/−0
- test/csl/disambiguate_YearSuffixAndSort.txt +471/−0
- test/csl/disambiguate_YearSuffixAtTwoLevels.txt +175/−0
- test/csl/disambiguate_YearSuffixFiftyTwoEntries.txt +1149/−0
- test/csl/disambiguate_YearSuffixFiftyTwoEntriesByCite.txt +1154/−0
- test/csl/disambiguate_YearSuffixMacroSameYearExplicit.txt +97/−0
- test/csl/disambiguate_YearSuffixMacroSameYearImplicit.txt +94/−0
- test/csl/disambiguate_YearSuffixMidInsert.txt +483/−0
- test/csl/disambiguate_YearSuffixMixedDates.txt +106/−0
- test/csl/disambiguate_YearSuffixTwoPairsBibliography.txt +159/−0
- test/csl/disambiguate_YearSuffixTwoPairsFirstNameBibliography.txt +161/−0
- test/csl/disambiguate_YearSuffixTwoPairsFullNamesBibliography.txt +159/−0
- test/csl/disambiguate_YearSuffixWithEtAlSubequent.txt +138/−0
- test/csl/disambiguate_YearSuffixWithMixedCreatorTypes.txt +109/−0
- test/csl/display_AuthorAsHeading.txt +180/−0
- test/csl/display_DisplayBlock.txt +99/−0
- test/csl/display_LostSuffix.txt +272/−0
- test/csl/display_SecondFieldAlignClone.txt +106/−0
- test/csl/display_SecondFieldAlignMigratePunctuation.txt +208/−0
- test/csl/etal_CitationAndBibliographyDecorationsInBibliography.txt +141/−0
- test/csl/etal_CitationAndBibliographyDecorationsInCitation.txt +139/−0
- test/csl/etal_ShortFormOfName.txt +63/−0
- test/csl/etal_UseZeroFirst.txt +67/−0
- test/csl/flipflop_ApostropheInsideTag.txt +68/−0
- test/csl/flipflop_Apostrophes.txt +1077/−0
- test/csl/flipflop_BoldfaceNodeLevelMarkup.txt +43/−0
- test/csl/flipflop_CompleteCiteInPrefix.txt +58/−0
- test/csl/flipflop_ItalicsFlipped.txt +66/−0
- test/csl/flipflop_ItalicsSimple.txt +120/−0
- test/csl/flipflop_ItalicsWithOk.txt +71/−0
- test/csl/flipflop_ItalicsWithOkAndTextcase.txt +71/−0
- test/csl/flipflop_LeadingMarkupWithApostrophe.txt +63/−0
- test/csl/flipflop_LeadingSingleQuote.txt +45/−0
- test/csl/flipflop_LongComplexPrefix.txt +58/−0
- test/csl/flipflop_NumericField.txt +75/−0
- test/csl/flipflop_OrphanQuote.txt +52/−0
- test/csl/flipflop_QuotesInFieldNotOnNode.txt +43/−0
- test/csl/flipflop_QuotesNodeLevelMarkup.txt +59/−0
- test/csl/flipflop_SingleBeforeColon.txt +52/−0
- test/csl/flipflop_SingleQuotesOnItalics.txt +43/−0
- test/csl/flipflop_SmallCaps.txt +49/−0
- test/csl/flipflop_StartingApostrophe.txt +44/−0
- test/csl/form_TitleShort.txt +46/−0
- test/csl/form_TitleShortNoLong.txt +45/−0
- test/csl/form_TitleTestNoLongFalse.txt +52/−0
- test/csl/fullstyles_ABdNT.txt +713/−0
- test/csl/fullstyles_APA.txt +393/−0
- test/csl/fullstyles_ChicagoArticleTitleQuestion.txt +419/−0
- test/csl/fullstyles_ChicagoAuthorDateSimple.txt +590/−0
- test/csl/fullstyles_ChicagoNoteWithBibliographyWithPublisher.txt +762/−0
- test/csl/group_ComplexNesting.txt +424/−0
- test/csl/group_LegalWithAuthorDate.txt +122/−0
- test/csl/group_ShortOutputOnly.txt +48/−0
- test/csl/group_SuppressTermInMacro.txt +80/−0
- test/csl/group_SuppressTermWhenNoOutputFromPartialDate.txt +57/−0
- test/csl/group_SuppressValueWithEmptySubgroup.txt +57/−0
- test/csl/group_SuppressWithEmptyNestedDateNode.txt +241/−0
- test/csl/integration_CitationSort.txt +112/−0
- test/csl/integration_CitationSortTwice.txt +121/−0
- test/csl/integration_DeleteName.txt +117/−0
- test/csl/integration_DisambiguateAddGivenname1.txt +125/−0
- test/csl/integration_DisambiguateAddGivenname2.txt +158/−0
- test/csl/integration_DuplicateItem.txt +151/−0
- test/csl/integration_DuplicateItem2.txt +166/−0
- test/csl/integration_FirstReferenceNoteNumberPositionChange.txt +247/−0
- test/csl/integration_IbidOnInsert.txt +194/−0
- test/csl/integration_IbidWithDifferentLocators.txt +205/−0
- test/csl/integration_SimpleFirstReferenceNoteNumber.txt +196/−0
- test/csl/integration_SimpleIbid.txt +158/−0
- test/csl/integration_SubsequentWhenInterveningFootnote.txt +108/−0
- test/csl/integration_YearSuffixOnOffOn.txt +189/−0
- test/csl/label_CollapsedPageNumberPluralDetection.txt +69/−0
- test/csl/label_CompactNamesAfterFullNames.txt +67/−0
- test/csl/label_EditorTranslator1.txt +613/−0
- test/csl/label_EditorTranslator2.txt +53/−0
- test/csl/label_EmptyLabelVanish.txt +56/−0
- test/csl/label_EmptyLabelVanishPage.txt +61/−0
- test/csl/label_ImplicitForm.txt +53/−0
- test/csl/label_MissingReturnsEmpty.txt +70/−0
- test/csl/label_NameLabelThroughSubstitute.txt +1443/−0
- test/csl/label_NoFirstCharCapWithInTextClass.txt +49/−0
- test/csl/label_NonexistentNameVariableLabel.txt +53/−0
- test/csl/label_PluralNumberOfVolumes.txt +61/−0
- test/csl/label_PluralPagesWithAlphaPrefix.txt +50/−0
- test/csl/label_PluralWithAmpersand.txt +60/−0
- test/csl/label_PluralWithAnd.txt +61/−0
- test/csl/label_PluralWithCommaAnd.txt +60/−0
- test/csl/label_PluralWithCommaLocalizedAnd.txt +60/−0
- test/csl/label_PluralWithLocalizedAmpersand.txt +66/−0
- test/csl/label_PluralWithLocalizedAnd.txt +60/−0
- test/csl/locale_EmptyDate.txt +62/−0
- test/csl/locale_EmptyPlusOverrideDate.txt +69/−0
- test/csl/locale_EmptyPlusOverrideStyleOpt.txt +51/−0
- test/csl/locale_EmptyPlusOverrideTerm.txt +56/−0
- test/csl/locale_EmptyStyleOpt.txt +48/−0
- test/csl/locale_EmptyTerm.txt +51/−0
- test/csl/locale_ForceEmptyAndOthersTerm.txt +66/−0
- test/csl/locale_ForceEmptyEtAlTerm.txt +65/−0
- test/csl/locale_NonExistentLocaleDef.txt +71/−0
- test/csl/locale_OverloadWithEmptyString.txt +58/−0
- test/csl/locale_PageRangeDelimiterTermDefined.txt +51/−0
- test/csl/locale_PageRangeDelimiterTermFrenchUndef.txt +48/−0
- test/csl/locale_PageRangeDelimiterTermUndefined.txt +46/−0
- test/csl/locale_SpecificDate.txt +62/−0
- test/csl/locale_SpecificStyleOpt.txt +48/−0
- test/csl/locale_SpecificTerm.txt +51/−0
- test/csl/locale_TitleCaseEmptyLangEmptyLocale.txt +45/−0
- test/csl/locale_TitleCaseEmptyLangNonEnglishLocale.txt +46/−0
- test/csl/locale_TitleCaseGarbageLangEmptyLocale.txt +78/−0
- test/csl/locale_TitleCaseGarbageLangEnglishLocale.txt +47/−0
- test/csl/locale_TitleCaseGarbageLangNonEnglishLocale.txt +47/−0
- test/csl/locale_TitleCaseNonEnglishLangUpperEmptyLocale.txt +46/−0
- test/csl/locale_UnknownTerm.txt +46/−0
- test/csl/locator_SimpleLocators.txt +107/−0
- test/csl/locator_SingularEmbeddedLabelAfterPlural.txt +59/−0
- test/csl/locator_TermSelection.txt +60/−0
- test/csl/locator_TrickyEntryForPlurals.txt +64/−0
- test/csl/locator_WithLeadingSpace.txt +62/−0
- test/csl/locator_WorkaroundTestForSubVerbo.txt +79/−0
- test/csl/magic_AllowRepeatDateRenderings.txt +94/−0
- test/csl/magic_CapitalizeFirstOccurringNameParticle.txt +54/−0
- test/csl/magic_CapitalizeFirstOccurringTerm.txt +45/−0
- test/csl/magic_CitationLabelInBibliography.txt +303/−0
- test/csl/magic_CitationLabelInCitation.txt +293/−0
- test/csl/magic_EntrySpacingDouble.txt +95/−0
- test/csl/magic_HangingIndent.txt +95/−0
- test/csl/magic_ImplicitYearSuffixDelimiter.txt +79/−0
- test/csl/magic_ImplicitYearSuffixExplicitDelimiter.txt +94/−0
- test/csl/magic_LineSpacingDouble.txt +95/−0
- test/csl/magic_LineSpacingTripleStretch.txt +95/−0
- test/csl/magic_NameParticle.txt +53/−0
- test/csl/magic_NameSuffixNoComma.txt +52/−0
- test/csl/magic_NameSuffixWithComma.txt +52/−0
- test/csl/magic_NumberRangeEnglish.txt +45/−0
- test/csl/magic_NumberRangeFrench.txt +47/−0
- test/csl/magic_PunctuationInQuoteDefaultEnglishDelimiter.txt +67/−0
- test/csl/magic_PunctuationInQuoteDefaultEnglishSuffix.txt +65/−0
- test/csl/magic_PunctuationInQuoteDelimiterTrue.txt +70/−0
- test/csl/magic_PunctuationInQuoteFalse.txt +70/−0
- test/csl/magic_PunctuationInQuoteFalseSuppressExtra.txt +51/−0
- test/csl/magic_PunctuationInQuoteNested.txt +73/−0
- test/csl/magic_PunctuationInQuoteSuffixTrue.txt +68/−0
- test/csl/magic_PunctuationInQuoteTrueSuppressExtra.txt +51/−0
- test/csl/magic_QuotesAndBraces1.txt +48/−0
- test/csl/magic_QuotesAndBraces2.txt +48/−0
- test/csl/magic_SecondFieldAlign.txt +100/−0
- test/csl/magic_StripPeriodsExcludeAffixes.txt +74/−0
- test/csl/magic_StripPeriodsFalse.txt +48/−0
- test/csl/magic_StripPeriodsTrue.txt +48/−0
- test/csl/magic_StripPeriodsTrueShortForm.txt +71/−0
- test/csl/magic_SubsequentAuthorSubstitute.txt +124/−0
- test/csl/magic_SubsequentAuthorSubstituteNotFooled.txt +560/−0
- test/csl/magic_SubsequentAuthorSubstituteOfTitleField.txt +110/−0
- test/csl/magic_SuperscriptChars.txt +269/−0
- test/csl/magic_SuppressDuplicateVariableRendering.txt +60/−0
- test/csl/magic_SuppressLayoutDelimiterIfPrefixComma.txt +61/−0
- test/csl/magic_TermCapitalizationWithPrefix.txt +168/−0
- test/csl/magic_TextRangeEnglish.txt +45/−0
- test/csl/magic_TextRangeFrench.txt +47/−0
- test/csl/name_AfterInvertedName.txt +184/−0
- test/csl/name_AllCapsInitialsUntouched.txt +63/−0
- test/csl/name_AndTextDelimiterPrecedesLastAlways.txt +60/−0
- test/csl/name_ApostropheInGivenName.txt +62/−0
- test/csl/name_ArabicShortForms.txt +75/−0
- test/csl/name_ArticularNameAsSortOrder.txt +53/−0
- test/csl/name_ArticularPlain.txt +61/−0
- test/csl/name_ArticularShortForm.txt +53/−0
- test/csl/name_ArticularShortFormCommaSuffix.txt +54/−0
- test/csl/name_ArticularWithComma.txt +62/−0
- test/csl/name_ArticularWithCommaNameAsSortOrder.txt +54/−0
- test/csl/name_AsianGlyphs.txt +60/−0
- test/csl/name_AuthorCount.txt +120/−0
- test/csl/name_AuthorCountWithMultipleVariables.txt +76/−0
- test/csl/name_AuthorCountWithSameVarContentAndCombinedTermFail.txt +76/−0
- test/csl/name_AuthorCountWithSameVarContentAndCombinedTermSucceed.txt +76/−0
- test/csl/name_AuthorEditorCount.txt +76/−0
- test/csl/name_BibliographyNameFormNeverShrinks.txt +143/−0
- test/csl/name_CelticClanName.txt +53/−0
- test/csl/name_CeltsAndToffsCrowdedInitials.txt +70/−0
- test/csl/name_CeltsAndToffsNoHyphens.txt +61/−0
- test/csl/name_CeltsAndToffsSpacedInitials.txt +69/−0
- test/csl/name_CeltsAndToffsWithHyphens.txt +61/−0
- test/csl/name_CiteGroupDelimiterWithYearCollapse.txt +432/−0
- test/csl/name_CiteGroupDelimiterWithYearSuffixCollapse.txt +97/−0
- test/csl/name_CiteGroupDelimiterWithYearSuffixCollapse2.txt +808/−0
- test/csl/name_CiteGroupDelimiterWithYearSuffixCollapse3.txt +739/−0
- test/csl/name_CollapseRoleLabels.txt +93/−0
- test/csl/name_Delimiter.txt +79/−0
- test/csl/name_DelimiterAfterInverted.txt +112/−0
- test/csl/name_EditorTranslatorBoth.txt +225/−0
- test/csl/name_EditorTranslatorSameEmptyTerm.txt +64/−0
- test/csl/name_EditorTranslatorSameWithTerm.txt +65/−0
- test/csl/name_EditorTranslatorWithTranslatorOnlyBib.txt +219/−0
- test/csl/name_EtAlKanji.txt +64/−0
- test/csl/name_EtAlUseLast.txt +92/−0
- test/csl/name_EtAlWithCombined.txt +411/−0
- test/csl/name_FirstInitialFullForm.txt +59/−0
- test/csl/name_FormattingOfParticles.txt +56/−0
- test/csl/name_GreekSimple.txt +52/−0
- test/csl/name_HebrewAnd.txt +59/−0
- test/csl/name_HierarchicalDelimiter.txt +57/−0
- test/csl/name_HyphenatedFirstName.txt +52/−0
- test/csl/name_HyphenatedNonDroppingParticle1.txt +88/−0
- test/csl/name_HyphenatedNonDroppingParticle2.txt +88/−0
- test/csl/name_InheritAttributesEtAlStyle.txt +68/−0
- test/csl/name_InitialsInitializeFalse.txt +198/−0
- test/csl/name_InitialsInitializeFalseEmpty.txt +198/−0
- test/csl/name_InitialsInitializeFalsePeriod.txt +198/−0
- test/csl/name_InitialsInitializeFalsePeriodSpace.txt +198/−0
- test/csl/name_InitialsInitializeTrue.txt +198/−0
- test/csl/name_InitialsInitializeTrueEmpty.txt +198/−0
- test/csl/name_InitialsInitializeTruePeriod.txt +198/−0
- test/csl/name_InitialsInitializeTruePeriodSpace.txt +198/−0
- test/csl/name_Institution.txt +59/−0
- test/csl/name_InstitutionDecoration.txt +61/−0
- test/csl/name_LabelAfterPlural.txt +65/−0
- test/csl/name_LabelAfterPluralDecorations.txt +67/−0
- test/csl/name_LabelFormatBug.txt +74/−0
- test/csl/name_LiteralWithComma.txt +93/−0
- test/csl/name_LongAbbreviation.txt +62/−0
- test/csl/name_LowercaseSurnameSuffix.txt +54/−0
- test/csl/name_MultipleLiteral.txt +72/−0
- test/csl/name_NoNameNode.txt +60/−0
- test/csl/name_NonDroppingParticleDefault.txt +53/−0
- test/csl/name_OnlyFamilyname.txt +53/−0
- test/csl/name_OnlyGivenname.txt +53/−0
- test/csl/name_OverridingHierarchicalDelimiter.txt +58/−0
- test/csl/name_ParseNames.txt +76/−0
- test/csl/name_ParsedCommaDelimitedDroppingParticleSortOrderingWithoutAffixes.txt +55/−0
- test/csl/name_ParsedDroppingParticleWithAffixes.txt +56/−0
- test/csl/name_ParsedDroppingParticleWithApostrophe.txt +55/−0
- test/csl/name_ParsedNonDroppingParticleWithAffixes.txt +56/−0
- test/csl/name_ParsedNonDroppingParticleWithApostrophe.txt +56/−0
- test/csl/name_ParsedUpperCaseNonDroppingParticle.txt +57/−0
- test/csl/name_ParticleCaps1.txt +86/−0
- test/csl/name_ParticleCaps2.txt +93/−0
- test/csl/name_ParticleCaps3.txt +109/−0
- test/csl/name_ParticleFormatting.txt +58/−0
- test/csl/name_ParticleParse1.txt +75/−0
- test/csl/name_ParticlesDemoteNonDroppingNever.txt +715/−0
- test/csl/name_PeriodAfterInitials.txt +56/−0
- test/csl/name_QuashOrdinaryVariableRenderedViaSubstitute.txt +51/−0
- test/csl/name_RomanianTwo.txt +57/−0
- test/csl/name_SemicolonWithAnd.txt +63/−0
- test/csl/name_SplitInitials.txt +62/−0
- test/csl/name_SubsequentAuthorSubstituteMultipleNames.txt +97/−0
- test/csl/name_SubsequentAuthorSubstituteSingleField.txt +102/−0
- test/csl/name_SubstituteInheritLabel.txt +89/−0
- test/csl/name_SubstituteMacroInheritDecorations.txt +69/−0
- test/csl/name_SubstituteName.txt +63/−0
- test/csl/name_SubstituteOnDateGroupSpanFail.txt +71/−0
- test/csl/name_SubstituteOnGroupSpanGroupSpanFail.txt +72/−0
- test/csl/name_SubstituteOnMacroGroupSpanFail.txt +73/−0
- test/csl/name_SubstituteOnNamesSingletonGroupSpanFail.txt +68/−0
- test/csl/name_SubstituteOnNamesSpanGroupSpanFail.txt +70/−0
- test/csl/name_SubstituteOnNamesSpanNamesSpanFail.txt +75/−0
- test/csl/name_SubstituteOnNumberGroupSpanFail.txt +68/−0
- test/csl/name_SubstitutePartialEach.txt +76/−0
- test/csl/name_TwoRolesSameRenderingSeparateRoleLabels.txt +90/−0
- test/csl/name_WesternArticularLowercase.txt +61/−0
- test/csl/name_WesternPrimaryFontStyle.txt +64/−0
- test/csl/name_WesternPrimaryFontStyleTwoAuthors.txt +66/−0
- test/csl/name_WesternSimple.txt +62/−0
- test/csl/name_WesternTwoAuthors.txt +64/−0
- test/csl/name_WithNonBreakingSpace.txt +65/−0
- test/csl/name_namepartAffixes.txt +58/−0
- test/csl/name_namepartAffixesNameAsSortOrder.txt +59/−0
- test/csl/name_namepartAffixesNameAsSortOrderDemoteNonDroppingParticle.txt +59/−0
- test/csl/nameattr_AndOnBibliographyInBibliography.txt +63/−0
- test/csl/nameattr_AndOnBibliographyInCitation.txt +63/−0
- test/csl/nameattr_AndOnCitationInBibliography.txt +65/−0
- test/csl/nameattr_AndOnCitationInCitation.txt +56/−0
- test/csl/nameattr_AndOnNamesInBibliography.txt +62/−0
- test/csl/nameattr_AndOnNamesInCitation.txt +55/−0
- test/csl/nameattr_AndOnStyleInBibliography.txt +63/−0
- test/csl/nameattr_AndOnStyleInCitation.txt +63/−0
- test/csl/nameattr_DelimiterPrecedesEtAlOnBibliographyInBibliography.txt +63/−0
- test/csl/nameattr_DelimiterPrecedesEtAlOnBibliographyInCitation.txt +63/−0
- test/csl/nameattr_DelimiterPrecedesEtAlOnCitationInBibliography.txt +65/−0
- test/csl/nameattr_DelimiterPrecedesEtAlOnCitationInCitation.txt +56/−0
- test/csl/nameattr_DelimiterPrecedesEtAlOnNamesInBibliography.txt +62/−0
- test/csl/nameattr_DelimiterPrecedesEtAlOnNamesInCitation.txt +55/−0
- test/csl/nameattr_DelimiterPrecedesEtAlOnStyleInBibliography.txt +63/−0
- test/csl/nameattr_DelimiterPrecedesEtAlOnStyleInCitation.txt +56/−0
- test/csl/nameattr_DelimiterPrecedesLastOnBibliographyInBibliography.txt +63/−0
- test/csl/nameattr_DelimiterPrecedesLastOnBibliographyInCitation.txt +63/−0
- test/csl/nameattr_DelimiterPrecedesLastOnCitationInBibliography.txt +65/−0
- test/csl/nameattr_DelimiterPrecedesLastOnCitationInCitation.txt +56/−0
- test/csl/nameattr_DelimiterPrecedesLastOnNamesInBibliography.txt +62/−0
- test/csl/nameattr_DelimiterPrecedesLastOnNamesInCitation.txt +55/−0
- test/csl/nameattr_DelimiterPrecedesLastOnStyleInBibliography.txt +63/−0
- test/csl/nameattr_DelimiterPrecedesLastOnStyleInCitation.txt +56/−0
- test/csl/nameattr_EtAlMinOnBibliographyInBibliography.txt +63/−0
- test/csl/nameattr_EtAlMinOnBibliographyInCitation.txt +63/−0
- test/csl/nameattr_EtAlMinOnCitationInBibliography.txt +65/−0
- test/csl/nameattr_EtAlMinOnCitationInCitation.txt +56/−0
- test/csl/nameattr_EtAlMinOnNamesInBibliography.txt +62/−0
- test/csl/nameattr_EtAlMinOnNamesInCitation.txt +55/−0
- test/csl/nameattr_EtAlMinOnStyleInBibliography.txt +62/−0
- test/csl/nameattr_EtAlMinOnStyleInCitation.txt +55/−0
- test/csl/nameattr_EtAlSubsequentMinOnBibliographyInBibliography.txt +66/−0
- test/csl/nameattr_EtAlSubsequentMinOnBibliographyInCitation.txt +63/−0
- test/csl/nameattr_EtAlSubsequentMinOnCitationInBibliography.txt +65/−0
- test/csl/nameattr_EtAlSubsequentMinOnNamesInBibliography.txt +66/−0
- test/csl/nameattr_EtAlSubsequentMinOnStyleInBibliography.txt +65/−0
- test/csl/nameattr_EtAlSubsequentUseFirstOnBibliographyInBibliography.txt +70/−0
- test/csl/nameattr_EtAlSubsequentUseFirstOnBibliographyInCitation.txt +69/−0
- test/csl/nameattr_EtAlSubsequentUseFirstOnCitationInBibliography.txt +72/−0
- test/csl/nameattr_EtAlSubsequentUseFirstOnStyleInBibliography.txt +71/−0
- test/csl/nameattr_EtAlUseFirstOnBibliographyInBibliography.txt +67/−0
- test/csl/nameattr_EtAlUseFirstOnBibliographyInCitation.txt +69/−0
- test/csl/nameattr_EtAlUseFirstOnCitationInBibliography.txt +69/−0
- test/csl/nameattr_EtAlUseFirstOnCitationInCitation.txt +67/−0
- test/csl/nameattr_EtAlUseFirstOnNamesInBibliography.txt +66/−0
- test/csl/nameattr_EtAlUseFirstOnNamesInCitation.txt +59/−0
- test/csl/nameattr_EtAlUseFirstOnStyleInBibliography.txt +67/−0
- test/csl/nameattr_EtAlUseFirstOnStyleInCitation.txt +59/−0
- test/csl/nameattr_InitializeWithOnBibliographyInBibliography.txt +59/−0
- test/csl/nameattr_InitializeWithOnBibliographyInCitation.txt +59/−0
- test/csl/nameattr_InitializeWithOnCitationInBibliography.txt +61/−0
- test/csl/nameattr_InitializeWithOnCitationInCitation.txt +52/−0
- test/csl/nameattr_InitializeWithOnNamesInBibliography.txt +58/−0
- test/csl/nameattr_InitializeWithOnNamesInCitation.txt +51/−0
- test/csl/nameattr_InitializeWithOnStyleInBibliography.txt +59/−0
- test/csl/nameattr_InitializeWithOnStyleInCitation.txt +52/−0
- test/csl/nameattr_NameAsSortOrderOnBibliographyInBibliography.txt +63/−0
- test/csl/nameattr_NameAsSortOrderOnBibliographyInCitation.txt +63/−0
- test/csl/nameattr_NameAsSortOrderOnCitationInBibliography.txt +65/−0
- test/csl/nameattr_NameAsSortOrderOnCitationInCitation.txt +56/−0
- test/csl/nameattr_NameAsSortOrderOnNamesInBibliography.txt +62/−0
- test/csl/nameattr_NameAsSortOrderOnNamesInCitation.txt +55/−0
- test/csl/nameattr_NameAsSortOrderOnStyleInBibliography.txt +63/−0
- test/csl/nameattr_NameAsSortOrderOnStyleInCitation.txt +55/−0
- test/csl/nameattr_NameDelimiterOnBibliographyInBibliography.txt +63/−0
- test/csl/nameattr_NameDelimiterOnBibliographyInCitation.txt +63/−0
- test/csl/nameattr_NameDelimiterOnCitationInBibliography.txt +65/−0
- test/csl/nameattr_NameDelimiterOnCitationInCitation.txt +63/−0
- test/csl/nameattr_NameDelimiterOnNamesInBibliography.txt +62/−0
- test/csl/nameattr_NameDelimiterOnNamesInCitation.txt +62/−0
- test/csl/nameattr_NameDelimiterOnStyleInBibliography.txt +63/−0
- test/csl/nameattr_NameDelimiterOnStyleInCitation.txt +63/−0
- test/csl/nameattr_NameFormOnBibliographyInBibliography.txt +59/−0
- test/csl/nameattr_NameFormOnBibliographyInCitation.txt +59/−0
- test/csl/nameattr_NameFormOnCitationInBibliography.txt +61/−0
- test/csl/nameattr_NameFormOnCitationInCitation.txt +59/−0
- test/csl/nameattr_NameFormOnNamesInBibliography.txt +58/−0
- test/csl/nameattr_NameFormOnNamesInCitation.txt +51/−0
- test/csl/nameattr_NameFormOnStyleInBibliography.txt +59/−0
- test/csl/nameattr_NameFormOnStyleInCitation.txt +52/−0
- test/csl/nameattr_NamesDelimiterOnBibliographyInBibliography.txt +66/−0
- test/csl/nameattr_NamesDelimiterOnBibliographyInCitation.txt +66/−0
- test/csl/nameattr_NamesDelimiterOnCitationInBibliography.txt +68/−0
- test/csl/nameattr_NamesDelimiterOnCitationInCitation.txt +59/−0
- test/csl/nameattr_NamesDelimiterOnNamesInBibliography.txt +65/−0
- test/csl/nameattr_NamesDelimiterOnNamesInCitation.txt +58/−0
- test/csl/nameattr_NamesDelimiterOnStyleInBibliography.txt +65/−0
- test/csl/nameattr_NamesDelimiterOnStyleInCitation.txt +59/−0
- test/csl/nameattr_SortSeparatorOnBibliographyInBibliography.txt +59/−0
- test/csl/nameattr_SortSeparatorOnBibliographyInCitation.txt +60/−0
- test/csl/nameattr_SortSeparatorOnCitationInBibliography.txt +61/−0
- test/csl/nameattr_SortSeparatorOnCitationInCitation.txt +52/−0
- test/csl/nameattr_SortSeparatorOnNamesInBibliography.txt +58/−0
- test/csl/nameattr_SortSeparatorOnNamesInCitation.txt +51/−0
- test/csl/nameattr_SortSeparatorOnStyleInBibliography.txt +59/−0
- test/csl/nameattr_SortSeparatorOnStyleInCitation.txt +52/−0
- test/csl/nameorder_Long.txt +55/−0
- test/csl/nameorder_LongNameAsSortDemoteDisplayAndSort.txt +56/−0
- test/csl/nameorder_LongNameAsSortDemoteNever.txt +56/−0
- test/csl/nameorder_Short.txt +55/−0
- test/csl/nameorder_ShortDemoteDisplayAndSort.txt +56/−0
- test/csl/nameorder_ShortNameAsSortDemoteNever.txt +56/−0
- test/csl/namespaces_NonNada3.txt +45/−0
- test/csl/number_FailingDelimiters.txt +58/−0
- test/csl/number_IsNumericWithAlpha.txt +52/−0
- test/csl/number_LeadingZeros.txt +55/−0
- test/csl/number_LimitOrdinalsToDayOne.txt +78/−0
- test/csl/number_MixedPageRange.txt +47/−0
- test/csl/number_MixedText.txt +50/−0
- test/csl/number_NewOrdinalsEdition.txt +1071/−0
- test/csl/number_NewOrdinalsWithGenderChange.txt +57/−0
- test/csl/number_OrdinalSpacing.txt +57/−0
- test/csl/number_PageFirst.txt +50/−0
- test/csl/number_PageRange.txt +46/−0
- test/csl/number_PlainHyphenOrEnDashAlwaysPlural.txt +83/−0
- test/csl/number_PreserveDelimiter.txt +90/−0
- test/csl/number_SeparateOrdinalNamespaces.txt +83/−0
- test/csl/number_SimpleNumberArabic.txt +46/−0
- test/csl/number_SimpleNumberOrdinalLong.txt +70/−0
- test/csl/number_SimpleNumberOrdinalShort.txt +46/−0
- test/csl/number_SimpleNumberRoman.txt +46/−0
- test/csl/number_SpacesMakeIsNumericFalse.txt +74/−0
- test/csl/number_StrangeError.txt +47/−0
- test/csl/page_Chicago.txt +267/−0
- test/csl/page_ChicagoWeird.txt +82/−0
- test/csl/page_Expand.txt +144/−0
- test/csl/page_ExpandWeirdComposite.txt +69/−0
- test/csl/page_Minimal.txt +290/−0
- test/csl/page_NoOption.txt +47/−0
- test/csl/page_NumberPageFirst.txt +46/−0
- test/csl/page_PluralDetectWithEndash.txt +46/−0
- test/csl/page_WithLocaleAndWeirdDelimiter.txt +48/−0
- test/csl/plural_LabelForced.txt +56/−0
- test/csl/plural_NameLabelAlways.txt +53/−0
- test/csl/plural_NameLabelContextualPlural.txt +57/−0
- test/csl/plural_NameLabelContextualSingular.txt +53/−0
- test/csl/plural_NameLabelDefaultPlural.txt +57/−0
- test/csl/plural_NameLabelDefaultSingular.txt +53/−0
- test/csl/plural_NameLabelNever.txt +57/−0
- test/csl/position_FalseInBibliography.txt +59/−0
- test/csl/position_FirstTrueOnlyOnce.txt +123/−0
- test/csl/position_IbidInText.txt +159/−0
- test/csl/position_IbidSeparateCiteSameNote.txt +337/−0
- test/csl/position_IbidWithLocator.txt +96/−0
- test/csl/position_IbidWithMultipleSoloCitesInBackref.txt +171/−0
- test/csl/position_IbidWithPrefixFullStop.txt +79/−0
- test/csl/position_IbidWithSuffix.txt +116/−0
- test/csl/position_IfIbidIsTrueThenSubsequentIsTrue.txt +106/−0
- test/csl/position_IfIbidWithLocatorIsTrueThenIbidIsTrue.txt +103/−0
- test/csl/position_NearNoteFalse.txt +65/−0
- test/csl/position_NearNoteSameNote.txt +130/−0
- test/csl/position_NearNoteUnsupported.txt +53/−0
- test/csl/position_NearNoteWithPlugin.txt +485/−0
- test/csl/position_ResetNoteNumbers.txt +329/−0
- test/csl/position_TrueInCitation.txt +57/−0
- test/csl/punctuation_DateStripPeriods.txt +56/−0
- test/csl/punctuation_DefaultYearSuffixDelimiter.txt +252/−0
- test/csl/punctuation_DelimiterWithStripPeriodsAndSubstitute1.txt +76/−0
- test/csl/punctuation_DelimiterWithStripPeriodsAndSubstitute2.txt +74/−0
- test/csl/punctuation_DelimiterWithStripPeriodsAndSubstitute3.txt +82/−0
- test/csl/punctuation_DoNotSuppressColonAfterPeriod.txt +47/−0
- test/csl/punctuation_FieldDuplicates.txt +66/−0
- test/csl/punctuation_FrenchOrthography.txt +52/−0
- test/csl/punctuation_FullMontyField.txt +241/−0
- test/csl/punctuation_FullMontyPlain.txt +241/−0
- test/csl/punctuation_FullMontyQuotesIn.txt +244/−0
- test/csl/punctuation_FullMontyQuotesOut.txt +244/−0
- test/csl/punctuation_NoSuppressOfPeriodBeforeSemicolon.txt +63/−0
- test/csl/punctuation_OnMacro.txt +56/−0
- test/csl/punctuation_SemicolonDelimiter.txt +123/−0
- test/csl/punctuation_SuppressPrefixPeriodForDelimiterSemicolon.txt +810/−0
- test/csl/quotes_Punctuation.txt +68/−0
- test/csl/quotes_PunctuationNasty.txt +1004/−0
- test/csl/quotes_PunctuationWithInnerQuote.txt +55/−0
- test/csl/quotes_QuotesUnderQuotesFalse.txt +324/−0
- test/csl/simplespace_case1.txt +226/−0
- test/csl/sort_AguStyle.txt +273/−0
- test/csl/sort_AguStyleReverseGroups.txt +273/−0
- test/csl/sort_AuthorDateWithYearSuffix.txt +320/−0
- test/csl/sort_BibliographyCitationNumberDescending.txt +127/−0
- test/csl/sort_BibliographyCitationNumberDescendingSecondary.txt +127/−0
- test/csl/sort_BibliographyCitationNumberDescendingViaCompositeMacro.txt +78/−0
- test/csl/sort_BibliographyCitationNumberDescendingViaMacro.txt +102/−0
- test/csl/sort_BibliographyResortOnUpdate.txt +100/−0
- test/csl/sort_CaseInsensitiveBibliography.txt +80/−0
- test/csl/sort_CaseInsensitiveCitation.txt +71/−0
- test/csl/sort_ChangeInNameSort.txt +113/−0
- test/csl/sort_ChicagoYearSuffix1.txt +437/−0
- test/csl/sort_ChicagoYearSuffix2.txt +438/−0
- test/csl/sort_Citation.txt +78/−0
- test/csl/sort_CitationNumberPrimaryAscendingViaMacroBibliography.txt +85/−0
- test/csl/sort_CitationNumberPrimaryAscendingViaMacroCitation.txt +112/−0
- test/csl/sort_CitationNumberPrimaryAscendingViaVariableBibliography.txt +82/−0
- test/csl/sort_CitationNumberPrimaryAscendingViaVariableCitation.txt +109/−0
- test/csl/sort_CitationNumberPrimaryDescendingViaMacroBibliography.txt +85/−0
- test/csl/sort_CitationNumberPrimaryDescendingViaMacroCitation.txt +111/−0
- test/csl/sort_CitationNumberPrimaryDescendingViaVariableBibliography.txt +82/−0
- test/csl/sort_CitationNumberPrimaryDescendingViaVariableCitation.txt +110/−0
- test/csl/sort_CitationNumberSecondaryAscendingViaMacroBibliography.txt +87/−0
- test/csl/sort_CitationNumberSecondaryAscendingViaMacroCitation.txt +88/−0
- test/csl/sort_CitationNumberSecondaryAscendingViaVariableBibliography.txt +84/−0
- test/csl/sort_CitationNumberSecondaryAscendingViaVariableCitation.txt +112/−0
- test/csl/sort_CitationSecondaryKey.txt +96/−0
- test/csl/sort_CiteGroupDelimiter.txt +115/−0
- test/csl/sort_ConditionalMacroDates.txt +112/−0
- test/csl/sort_DaleDalebout.txt +104/−0
- test/csl/sort_DateMacroSortWithSecondFieldAlign.txt +83/−0
- test/csl/sort_DateVariable.txt +67/−0
- test/csl/sort_DateVariableMixedElementsAscendingA.txt +68/−0
- test/csl/sort_DateVariableMixedElementsAscendingB.txt +68/−0
- test/csl/sort_DateVariableMixedElementsDescendingA.txt +68/−0
- test/csl/sort_DateVariableMixedElementsDescendingB.txt +68/−0
- test/csl/sort_DateVariableRange.txt +77/−0
- test/csl/sort_DateVariableRangeMixed.txt +73/−0
- test/csl/sort_DropNameLabelInSort.txt +176/−0
- test/csl/sort_EtAlUseLast.txt +142/−0
- test/csl/sort_FamilyOnly.txt +83/−0
- test/csl/sort_GroupedByAuthorstring.txt +128/−0
- test/csl/sort_LatinUnicode.txt +82/−0
- test/csl/sort_LeadingA.txt +1462/−0
- test/csl/sort_LeadingApostropheOnNameParticle.txt +171/−0
- test/csl/sort_LocalizedDateLimitedParts.txt +99/−0
- test/csl/sort_NameImplicitSortOrderAndForm.txt +112/−0
- test/csl/sort_NameParticleInNameSortFalse.txt +88/−0
- test/csl/sort_NameParticleInNameSortTrue.txt +88/−0
- test/csl/sort_NameVariable.txt +84/−0
- test/csl/sort_NamesUseLast.txt +123/−0
- test/csl/sort_NumberOfAuthorsAsKey.txt +141/−0
- test/csl/sort_OmittedBibRefMixedNumericStyle.txt +123/−0
- test/csl/sort_OmittedBibRefNonNumericStyle.txt +114/−0
- test/csl/sort_Quotes.txt +90/−0
- test/csl/sort_RangeUnaffected.txt +341/−0
- test/csl/sort_SeparateAuthorsAndOthers.txt +187/−0
- test/csl/sort_StatusFieldAscending.txt +68/−0
- test/csl/sort_StatusFieldDescending.txt +68/−0
- test/csl/sort_StripMarkup.txt +67/−0
- test/csl/sort_SubstituteTitle.txt +467/−0
- test/csl/sort_TestInheritance.txt +78/−0
- test/csl/sort_VariousNameMacros1.txt +369/−0
- test/csl/sort_VariousNameMacros2.txt +369/−0
- test/csl/sort_VariousNameMacros3.txt +370/−0
- test/csl/sort_WithAndInOneEntry.txt +645/−0
- test/csl/sortseparator_SortSeparatorEmpty.txt +60/−0
- test/csl/substitute_RepeatedNamesOk.txt +75/−0
- test/csl/substitute_SharedMacro.txt +721/−0
- test/csl/substitute_SuppressOrdinaryVariable.txt +116/−0
- test/csl/testers_FirstAutoGeneratedZoteroPluginTest.txt +814/−0
- test/csl/testers_SecondAutoGeneratedZoteroPluginTest.txt +770/−0
- test/csl/textcase_AfterQuote.txt +43/−0
- test/csl/textcase_CapitalizeAll.txt +45/−0
- test/csl/textcase_CapitalizeFirst.txt +45/−0
- test/csl/textcase_CapitalizeFirstWithDecor.txt +45/−0
- test/csl/textcase_CapitalsUntouched.txt +69/−0
- test/csl/textcase_ImplicitNocase.txt +74/−0
- test/csl/textcase_InQuotes.txt +52/−0
- test/csl/textcase_LastChar.txt +63/−0
- test/csl/textcase_LocaleUnicode.txt +96/−0
- test/csl/textcase_Lowercase.txt +45/−0
- test/csl/textcase_NoSpaceBeforeApostrophe.txt +93/−0
- test/csl/textcase_NonEnglishChars.txt +63/−0
- test/csl/textcase_RepeatedTitleBug.txt +720/−0
- test/csl/textcase_SentenceCapitalization.txt +45/−0
- test/csl/textcase_SkipNameParticlesInTitleCase.txt +60/−0
- test/csl/textcase_StopWordBeforeHyphen.txt +52/−0
- test/csl/textcase_TitleCapitalization.txt +45/−0
- test/csl/textcase_TitleCapitalization2.txt +45/−0
- test/csl/textcase_TitleCaseNonEnglish.txt +46/−0
- test/csl/textcase_TitleCaseNonEnglish2.txt +47/−0
- test/csl/textcase_TitleCaseWithFinalNocase.txt +43/−0
- test/csl/textcase_TitleCaseWithHyphens.txt +43/−0
- test/csl/textcase_TitleCaseWithInitials.txt +45/−0
- test/csl/textcase_TitleCaseWithNonBreakSpace.txt +43/−0
- test/csl/textcase_TitleWithCircumflex.txt +52/−0
- test/csl/textcase_TitleWithEmDash.txt +52/−0
- test/csl/textcase_TitleWithEnDash.txt +52/−0
- test/csl/textcase_Uppercase.txt +82/−0
- test/csl/textcase_UppercaseNumber.txt +45/−0
- test/csl/unicode_NonBreakingSpace.txt +46/−0
- test/csl/variables_ContainerTitleShort.txt +435/−0
- test/csl/variables_ContainerTitleShort2.txt +431/−0
- test/csl/variables_TitleShortOnShortTitleNoTitle.txt +45/−0
- test/csl/variables_TitleShortOnShortTitleNoTitleCondition.txt +91/−0
- test/csl/variables_TitleShortOnShortTitleNoTitleGroup.txt +78/−0
- test/csl/virtual_PageFirst.txt +49/−0
- test/extra/abbreviations_Basic.txt +53/−0
- test/extra/abbreviations_WithFormatting.txt +54/−0
- test/extra/name_issue10.txt +726/−0
- test/overrides/bugreports_AccidentalAllCaps.txt +842/−0
- test/overrides/bugreports_DoubleEncodedAngleBraces.txt +556/−0
- test/overrides/bugreports_NoTitle.txt +369/−0
- test/overrides/bugreports_UnisaHarvardInitialization.txt +85/−0
- test/overrides/display_AuthorAsHeading.txt +176/−0
- test/overrides/flipflop_NumericField.txt +79/−0
- test/overrides/fullstyles_ABdNT.txt +716/−0
- test/overrides/label_EditorTranslator2.txt +56/−0
- test/overrides/number_PreserveDelimiter.txt +92/−0
- test/overrides/page_ChicagoWeird.txt +82/−0
- test/overrides/page_Expand.txt +144/−0
- test/overrides/page_ExpandWeirdComposite.txt +71/−0
- test/overrides/page_Minimal.txt +294/−0
- test/overrides/variables_ContainerTitleShort.txt +437/−0
- test/overrides/variables_ContainerTitleShort2.txt +433/−0
- test/overrides/variables_TitleShortOnShortTitleNoTitleCondition.txt +96/−0
+ CHANGELOG.md view
@@ -0,0 +1,6 @@+# citeproc changelog++## 0.1++* Initial release.+
+ LICENSE view
@@ -0,0 +1,25 @@+BSD 2-Clause License++Copyright (c) 2020, John MacFarlane+All rights reserved.++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions are met:++1. Redistributions of source code must retain the above copyright notice, this+ list of conditions and the following disclaimer.++2. Redistributions in binary form must reproduce the above copyright notice,+ this list of conditions and the following disclaimer in the documentation+ and/or other materials provided with the distribution.++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ README.md view
@@ -0,0 +1,100 @@+# citeproc++[](LICENSE)+[](https://github.com/jgm/citeproc/actions)++<!--+[](https://hackage.haskell.org/package/citeproc)+[](http://stackage.org/lts/package/citeproc)+[](http://stackage.org/nightly/package/citeproc)+-->++This library generates citations and bibliography formatted+according to a [CSL] style. Currently version 1.0.2 of the CSL+spec is targeted.++This library is a successor to pandoc-citeproc, which was a fork+of Andrea Rossato's citeproc-hs. I always found it difficult to+fix bugs in pandoc-citeproc and decided that implementing+citeproc from scratch would give me a better basis for+understanding. This library has a number of other advantages+over pandoc-citeproc:++- it is much faster (as a rough benchmark, running the CSL+ test suite takes less than 4 seconds with this library,+ compared to 12 seconds with pandoc-citeproc)++- it interprets CSL more faithfully, passing more of the CSL+ tests++- it has fewer dependencies (in particular, it does not depend+ on pandoc)++- it is more flexible, not being tied to pandoc's types.++Unlike pandoc-citeproc, this library does not provide an+executable. It will be used in pandoc itself to provide+integrated citation support and bibliography format conversion+(so the pandoc-citeproc filter will no longer be necessary).++[CSL]: https://docs.citationstyles.org/en/stable/specification.html++## How to use it++The main point of entry is the function `citeproc` from the+module `Citeproc`. This takes as arguments:++- a `CiteprocOptions` structure (which currently just allows you+ to set whether citations are hyperlinked to the bibliography)++- a `Style`, which you will want to produce by parsing a CSL+ style file using `parseStyle` from `Citeproc.Style`.++- Optionally a `Lang`, which allows you to override a default locale,++- a list of `Reference`s, which you can produce from a CSL JSON+ bibliography using aeson's `decode`,++- a list of `Citation`s (each of which may have multiple+ `CitationItems`).++It yields a `Result`, which includes a list of formatted+citations and a formatted bibliography, as well any warnings+produced in evaluating the style.++The types are parameterized on a `CiteprocOutput` instance `a`,+which represents formatted content in your bibliographic+fields (e.g. the title). If you want a classic CSL processor,+you can use `CslJson Text`. But you can also use another type,+such as a pandoc `Inlines`. All you need to do is define+an instance of `CiteprocOutput` for your type.++The signature of `parseStyle` may not be self-evident:+the first argument is a function that takes a URL and+retrieves the text from that URL. This is used to fetch+the "indendent parent" of a dependent style. You can supply+whatever function you like: it can search your local file+system or fetch the content via HTTP. If you're not using+dependent styles, you can get by with `\_ -> return mempty`.++## The citeproc executable++If the package is compiled with the `executable` flag, an+executable `citeproc` will be built. `citeproc` reads+a JSON-encoded `Inputs` object from `stdin` (or from+a file if a filename is provided) and writes+a JSON-encoded `Result` object to `stdout`. This executable+can be used to add citation processing to non-Haskell projects.++`citeproc --help` will summarize usage information. See+the [man page](man/citeproc.1.md) for more information.++## Known bugs and limitations++Although this library is much more accurate in implementing the+CSL spec than pandoc-citeproc was, it still fails some of the+tests from the CSL test suite (59/845). However, most of the+failures are on minor corner cases, and in many cases the+expected behavior goes beyond what is required by the CSL spec.+
+ app/Main.hs view
@@ -0,0 +1,159 @@+{-# LANGUAGE CPP #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE ScopedTypeVariables #-}+module Main where+import Citeproc+import Citeproc.CslJson+import Control.Monad (when, unless)+import Control.Applicative ((<|>))+import Data.Maybe (fromMaybe)+import Data.Text (Text)+import qualified Data.Text as T+import qualified Data.Text.IO as TIO+import qualified Data.ByteString.Lazy as BL+import qualified Data.Aeson as Aeson+import Data.Aeson.Encode.Pretty as AesonPretty+import Data.Ord (comparing)+import System.IO+import System.Exit+import System.Environment+import System.Console.GetOpt++main :: IO ()+main = do+ rawargs <- getArgs+ let (opts, args, errs) = getOpt Permute options rawargs+ unless (null errs) $ do+ mapM_ err errs+ exitWith $ ExitFailure 1+ let opt = foldr ($) defaultOpt opts+ when (optHelp opt) $ do+ putStr $ usageInfo "citeproc [OPTIONS] [FILE]" options+ exitWith ExitSuccess+ when (optVersion opt) $ do+ putStrLn $ "citeproc version " <> VERSION_citeproc+ exitWith ExitSuccess+ format <- case optFormat opt of+ Just "html" -> return Html+ Just "json" -> return Json+ Just _ -> err "--format must be html or json"+ Nothing -> return Html+ bs <- case args of+ [] -> BL.getContents+ (f:_) -> BL.readFile f+ case Aeson.eitherDecode bs of+ Left e -> err e+ Right (inp :: Inputs (CslJson Text)) -> do+ stylesheet <- case optStyle opt of+ Just fp -> TIO.readFile fp+ Nothing ->+ case inputsStyle inp of+ Just s -> return s+ Nothing -> err "No style specified"+ references <- case optReferences opt of+ Just fp -> do+ raw <- BL.readFile fp+ case Aeson.eitherDecode raw of+ Left e -> err e+ Right rs -> return rs+ Nothing ->+ case inputsReferences inp of+ Just rs -> return rs+ Nothing -> err "No references specified"+ abbreviations <- case optAbbreviations opt of+ Just fp -> do+ raw <- BL.readFile fp+ case Aeson.eitherDecode raw of+ Left e -> err e+ Right ab -> return $ Just ab+ Nothing -> return $ inputsAbbreviations inp+ let lang = optLang opt <|> inputsLang inp++ parseResult <-+ parseStyle (\_ -> return mempty) stylesheet+ case parseResult of+ Left e -> err (T.unpack $ prettyCiteprocError e)+ Right parsedStyle -> do+ let style = parsedStyle{ styleAbbreviations = abbreviations }+ let locale = mergeLocales lang style+ let result= citeproc defaultCiteprocOptions+ style+ lang+ references+ (fromMaybe [] (inputsCitations inp))+ let jsonResult :: Aeson.Value+ jsonResult =+ case format of+ Json -> Aeson.object+ [ ("citations", Aeson.toJSON $+ map (cslJsonToJson locale)+ (resultCitations result))+ , ("bibliography", Aeson.toJSON $+ map (\(id',ent) ->+ (id', cslJsonToJson locale ent))+ (resultBibliography result))+ , ("warnings", Aeson.toJSON $ resultWarnings result)+ ]+ Html -> Aeson.toJSON result+ BL.putStr $ AesonPretty.encodePretty'+ AesonPretty.defConfig+ { confIndent = AesonPretty.Spaces 2+ , confCompare = AesonPretty.keyOrder+ ["citations","bibliography","warnings"]+ `mappend` comparing T.length+ , confTrailingNewline = True }+ jsonResult++data Format = Json | Html deriving (Show, Ord, Eq)++data Opt =+ Opt{ optStyle :: Maybe String+ , optReferences :: Maybe String+ , optAbbreviations :: Maybe String+ , optFormat :: Maybe String+ , optLang :: Maybe Lang+ , optHelp :: Bool+ , optVersion :: Bool+ } deriving Show++defaultOpt :: Opt+defaultOpt =+ Opt { optStyle = Nothing+ , optReferences = Nothing+ , optAbbreviations = Nothing+ , optFormat = Nothing+ , optLang = Nothing+ , optHelp = False+ , optVersion = False+ }++options :: [OptDescr (Opt -> Opt)]+options =+ [ Option ['s'] ["style"]+ (ReqArg (\fp opt -> opt{ optStyle = Just fp }) "FILE")+ "CSL style file"+ , Option ['r'] ["references"]+ (ReqArg (\fp opt -> opt{ optReferences = Just fp }) "FILE")+ "CSL JSON bibliography"+ , Option ['a'] ["abbrevations"]+ (ReqArg (\fp opt -> opt{ optAbbreviations = Just fp }) "FILE")+ "CSL abbreviations table"+ , Option ['l'] ["lang"]+ (ReqArg (\lang opt -> opt{ optLang = Just $ parseLang $ T.pack lang })+ "IETF language")+ "Override locale"+ , Option ['f'] ["format"]+ (ReqArg (\format opt -> opt{ optFormat = Just format }) "html|json")+ "Controls formatting of entries in result"+ , Option ['h'] ["help"]+ (NoArg (\opt -> opt{ optHelp = True }))+ "Print usage information"+ , Option ['V'] ["version"]+ (NoArg (\opt -> opt{ optVersion = True }))+ "Print version number"+ ]++err :: String -> IO a+err s = do+ hPutStrLn stderr s+ exitWith $ ExitFailure 1
+ cabal.project view
@@ -0,0 +1,4 @@+packages: citeproc.cabal++package citeproc+ flags: -icu +executable
+ citeproc.cabal view
@@ -0,0 +1,168 @@+cabal-version: 2.2+name: citeproc+version: 0.1+synopsis: Generates citations and bibliography from CSL styles.+description: citeproc parses CSL style files and uses them to+ generate a list of formatted citations and bibliography+ entries. For more information about CSL, see+ <https://citationstyles.org/>.+license: BSD-2-Clause+license-file: LICENSE+author: John MacFarlane+maintainer: jgm@berkeley.edu+copyright: 2020 John MacFarlane+category: Text+build-type: Simple+extra-doc-files: README.md+ , CHANGELOG.md+extra-source-files: stack.yaml+ cabal.project+ locales/*.xml+ locales/locales.json+ man/citeproc.1.md+ test/NOTES.md+ test/csl/*.txt+ test/extra/*.txt+ test/overrides/*.txt+tested-with: GHC == 8.2.2, GHC == 8.4.4,+ GHC == 8.6.5, GHC == 8.8.1,+ GHC == 8.10.1++source-repository head+ type: git+ location: https://github.com/jgm/citeproc.git++flag icu+ description: Use Haskell bindings to the ICU library+ default: False++flag executable+ description: Build citeproc executable+ default: False++common hie-options+ if impl(ghc >= 8.8)+ ghc-options: -fwrite-ide-info -hiedir=.hie++library+ import: hie-options+ hs-source-dirs: src+ exposed-modules: Citeproc+ Citeproc.Types+ Citeproc.Locale+ Citeproc.Style+ Citeproc.CslJson+ Citeproc.Pandoc+ Citeproc.Eval+ Citeproc.CaseTransform+ other-modules: Citeproc.Element+ Citeproc.Data++ build-depends: base >= 4.8 && < 5+ , safe+ , bytestring+ , text+ , containers >= 0.6.0.1 && < 0.7+ , transformers >= 0.5.6 && < 0.6+ , case-insensitive >= 1.2 && < 1.3+ , vector+ , scientific+ , uniplate+ , xml-conduit+ , attoparsec+ , data-default+ , aeson+ , filepath+ , file-embed+ , pandoc-types >= 1.22 && < 1.23+ -- , pretty-show+ if flag(icu)+ build-depends: text-icu+ else+ build-depends: rfc5051 >= 0.2 && < 0.3++ ghc-options: -Wall+ -Wincomplete-record-updates+ -Wcompat+ -Widentities+ -Wredundant-constraints++ if impl(ghc >= 8.2)+ ghc-options: -Wcpp-undef+ if impl(ghc >= 8.4)+ ghc-options: -Wincomplete-uni-patterns+ -Widentities+ -Werror=missing-home-modules+ -fhide-source-paths+++ default-language: Haskell2010++executable citeproc+ import: hie-options+ hs-source-dirs: app+ main-is: Main.hs+ build-depends: base >= 4.8 && < 5+ , citeproc+ , bytestring+ , text+ , aeson+ , aeson-pretty++ ghc-options: -Wall+ -Wincomplete-record-updates+ -Wcompat+ -Widentities+ -Wredundant-constraints+ -optP-Wno-nonportable-include-path+ if impl(ghc >= 8.2)+ ghc-options: -Wcpp-undef+ if impl(ghc >= 8.4)+ ghc-options: -Wincomplete-uni-patterns+ -Widentities+ -fhide-source-paths+ default-language: Haskell2010+ if flag(executable)+ buildable: True+ else+ buildable: False++test-suite spec+ import: hie-options+ type: exitcode-stdio-1.0+ hs-source-dirs: test+ main-is: Spec.hs++ build-depends: base >= 4.8 && < 5+ , citeproc+ , bytestring+ , text+ , containers+ , directory+ , transformers+ , mtl+ , timeit+ , Diff >= 0.4+ , pretty+ , filepath+ , aeson+++ ghc-options: -Wall+ -threaded+ -rtsopts+ -with-rtsopts=-N+ -Wincomplete-record-updates+ -Wcompat+ -Widentities+ -Wredundant-constraints+ if impl(ghc >= 8.2)+ ghc-options: -Wcpp-undef+ if impl(ghc >= 8.4)+ ghc-options: -Wincomplete-uni-patterns+ -Widentities+ -Werror=missing-home-modules+ -fhide-source-paths++ default-language: Haskell2010+
+ locales/af-ZA.xml view
@@ -0,0 +1,312 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="af-ZA">+ <info>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" form="numeric-leading-zeros" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="year"/>+ <date-part name="month" form="numeric-leading-zeros" prefix="/"/>+ <date-part name="day" form="numeric-leading-zeros" prefix="/"/>+ </date>+ <terms>+ <term name="accessed">toegang verkry</term>+ <term name="and">en</term>+ <term name="and others">and others</term>+ <term name="anonymous">anonymous</term>+ <term name="anonymous" form="short">anon</term>+ <term name="at">at</term>+ <term name="available at">available at</term>+ <term name="by">by</term>+ <term name="circa">circa</term>+ <term name="circa" form="short">c.</term>+ <term name="cited">cited</term>+ <term name="edition">+ <single>edition</single>+ <multiple>editions</multiple>+ </term>+ <term name="edition" form="short">ed</term>+ <term name="et-al">et al.</term>+ <term name="forthcoming">voorhande</term>+ <term name="from">van</term>+ <term name="ibid">ibid.</term>+ <term name="in">in</term>+ <term name="in press">in press</term>+ <term name="internet">internet</term>+ <term name="interview">interview</term>+ <term name="letter">letter</term>+ <term name="no date">no date</term>+ <term name="no date" form="short">n.d.</term>+ <term name="online">online</term>+ <term name="presented at">presented at the</term>+ <term name="reference">+ <single>reference</single>+ <multiple>references</multiple>+ </term>+ <term name="reference" form="short">+ <single>ref.</single>+ <multiple>refs.</multiple>+ </term>+ <term name="retrieved">opgehaal</term>+ <term name="scale">scale</term>+ <term name="version">version</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">AD</term>+ <term name="bc">BC</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">“</term>+ <term name="close-quote">”</term>+ <term name="open-inner-quote">‘</term>+ <term name="close-inner-quote">’</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">th</term>+ <term name="ordinal-01">st</term>+ <term name="ordinal-02">nd</term>+ <term name="ordinal-03">rd</term>+ <term name="ordinal-11">th</term>+ <term name="ordinal-12">th</term>+ <term name="ordinal-13">th</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">first</term>+ <term name="long-ordinal-02">second</term>+ <term name="long-ordinal-03">third</term>+ <term name="long-ordinal-04">fourth</term>+ <term name="long-ordinal-05">fifth</term>+ <term name="long-ordinal-06">sixth</term>+ <term name="long-ordinal-07">seventh</term>+ <term name="long-ordinal-08">eighth</term>+ <term name="long-ordinal-09">ninth</term>+ <term name="long-ordinal-10">tenth</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>book</single>+ <multiple>books</multiple>+ </term>+ <term name="chapter">+ <single>chapter</single>+ <multiple>chapters</multiple>+ </term>+ <term name="column">+ <single>column</single>+ <multiple>columns</multiple>+ </term>+ <term name="figure">+ <single>figure</single>+ <multiple>figures</multiple>+ </term>+ <term name="folio">+ <single>folio</single>+ <multiple>folios</multiple>+ </term>+ <term name="issue">+ <single>number</single>+ <multiple>numbers</multiple>+ </term>+ <term name="line">+ <single>reël</single>+ <multiple>reëls</multiple>+ </term>+ <term name="note">+ <single>note</single>+ <multiple>notes</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opera</multiple>+ </term>+ <term name="page">+ <single>bladsy</single>+ <multiple>bladsye</multiple>+ </term>+ <term name="number-of-pages">+ <single>bladsy</single>+ <multiple>bladsye</multiple>+ </term>+ <term name="paragraph">+ <single>paragraaf</single>+ <multiple>paragrawe</multiple>+ </term>+ <term name="part">+ <single>part</single>+ <multiple>parts</multiple>+ </term>+ <term name="section">+ <single>section</single>+ <multiple>sections</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>verse</single>+ <multiple>verses</multiple>+ </term>+ <term name="volume">+ <single>volume</single>+ <multiple>volumes</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">bk</term>+ <term name="chapter" form="short">chap</term>+ <term name="column" form="short">col</term>+ <term name="figure" form="short">fig</term>+ <term name="folio" form="short">f</term>+ <term name="issue" form="short">no</term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">op</term>+ <term name="page" form="short">+ <single>bl</single>+ <multiple>bll</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>bl</single>+ <multiple>bll</multiple>+ </term>+ <term name="paragraph" form="short">para</term>+ <term name="part" form="short">pt</term>+ <term name="section" form="short">sec</term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>v</single>+ <multiple>vv</multiple>+ </term>+ <term name="volume" form="short">+ <single>vol</single>+ <multiple>vols</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>director</single>+ <multiple>directors</multiple>+ </term>+ <term name="editor">+ <single>redakteur</single>+ <multiple>redakteurs</multiple>+ </term>+ <term name="editorial-director">+ <single>editor</single>+ <multiple>editors</multiple>+ </term>+ <term name="illustrator">+ <single>illustrator</single>+ <multiple>illustrators</multiple>+ </term>+ <term name="translator">+ <single>vertaler</single>+ <multiple>vertalers</multiple>+ </term>+ <term name="editortranslator">+ <single>editor & translator</single>+ <multiple>editors & translators</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>dir.</single>+ <multiple>dirs.</multiple>+ </term>+ <term name="editor" form="short">+ <single>red</single>+ <multiple>reds</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>ed.</single>+ <multiple>eds.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>ill.</single>+ <multiple>ills.</multiple>+ </term>+ <term name="translator" form="short">+ <single>vert</single>+ <multiple>verts</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>ed. & tran.</single>+ <multiple>eds. & trans.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">by</term>+ <term name="director" form="verb">directed by</term>+ <term name="editor" form="verb">onder redaksie van</term>+ <term name="editorial-director" form="verb">edited by</term>+ <term name="illustrator" form="verb">illustrated by</term>+ <term name="interviewer" form="verb">interview by</term>+ <term name="recipient" form="verb">to</term>+ <term name="reviewed-author" form="verb">by</term>+ <term name="translator" form="verb">vertaal deur</term>+ <term name="editortranslator" form="verb">edited & translated by</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">dir.</term>+ <term name="editor" form="verb-short">red</term>+ <term name="editorial-director" form="verb-short">ed.</term>+ <term name="illustrator" form="verb-short">illus.</term>+ <term name="translator" form="verb-short">verts</term>+ <term name="editortranslator" form="verb-short">ed. & trans. by</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">Januarie</term>+ <term name="month-02">Februarie</term>+ <term name="month-03">Maart</term>+ <term name="month-04">April</term>+ <term name="month-05">Mei</term>+ <term name="month-06">Junie</term>+ <term name="month-07">Julie</term>+ <term name="month-08">Augustus</term>+ <term name="month-09">September</term>+ <term name="month-10">Oktober</term>+ <term name="month-11">November</term>+ <term name="month-12">Desember</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">Jan</term>+ <term name="month-02" form="short">Feb</term>+ <term name="month-03" form="short">Mrt</term>+ <term name="month-04" form="short">Apr</term>+ <term name="month-05" form="short">Mei</term>+ <term name="month-06" form="short">Jun</term>+ <term name="month-07" form="short">Jul</term>+ <term name="month-08" form="short">Aug</term>+ <term name="month-09" form="short">Sep</term>+ <term name="month-10" form="short">Okt</term>+ <term name="month-11" form="short">Nov</term>+ <term name="month-12" form="short">Des</term>++ <!-- SEASONS -->+ <term name="season-01">Spring</term>+ <term name="season-02">Summer</term>+ <term name="season-03">Autumn</term>+ <term name="season-04">Winter</term>+ </terms>+</locale>
+ locales/ar.xml view
@@ -0,0 +1,253 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="ar">+ <info>+ <translator>+ <name>abdealikhurrum</name>+ </translator>+ <translator>+ <name>Dr. Ayman Saleh</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix="، "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" suffix="/"/>+ <date-part name="month" form="numeric" suffix="/"/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">تاريخ الوصول</term>+ <term name="and">و</term>+ <term name="and others">وآخرون</term>+ <term name="anonymous">مجهول</term>+ <term name="anonymous" form="short">مجهول</term>+ <term name="at">عند</term>+ <term name="available at">موجود في</term>+ <term name="by">عن طريق</term>+ <term name="circa">حوالي</term>+ <term name="circa" form="short">حوالي</term>+ <term name="cited">وثق</term>+ <term name="edition">+ <single>الطبعة</single>+ <multiple>الطبعات</multiple>+ </term>+ <term name="edition" form="short">ط</term>+ <term name="et-al">وآخرون</term>+ <term name="forthcoming">التالي</term>+ <term name="from">من</term>+ <term name="ibid">المرجع السابق</term>+ <term name="in">في</term>+ <term name="in press">قيد النشر</term>+ <term name="internet">انترنت</term>+ <term name="interview">مقابلة</term>+ <term name="letter">خطاب</term>+ <term name="no date">دون تاريخ</term>+ <term name="no date" form="short">د.ت</term>+ <term name="online">مباشر على الإنترنت</term>+ <term name="presented at">قُدَّم في</term>+ <term name="reference">+ <single>مرجع</single>+ <multiple>مراجع</multiple>+ </term>+ <term name="reference" form="short">+ <single>مرجع</single>+ <multiple>مراجع</multiple>+ </term>+ <term name="retrieved">استرجع في</term>+ <term name="scale">السلم الموسيقي</term>+ <term name="version">إصدار</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">ب.م.</term>+ <term name="bc">ق.م.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">"</term>+ <term name="close-quote">"</term>+ <term name="open-inner-quote">'</term>+ <term name="close-inner-quote">'</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal"></term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">الأول</term>+ <term name="long-ordinal-02">الثاني</term>+ <term name="long-ordinal-03">الثالث</term>+ <term name="long-ordinal-04">الرابع</term>+ <term name="long-ordinal-05">الخامس</term>+ <term name="long-ordinal-06">السادس</term>+ <term name="long-ordinal-07">السابع</term>+ <term name="long-ordinal-08">الثامن</term>+ <term name="long-ordinal-09">التاسع</term>+ <term name="long-ordinal-10">العاشر</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>كتاب</single>+ <multiple>كتب</multiple>+ </term>+ <term name="chapter">+ <single>فصل</single>+ <multiple>فصول</multiple>+ </term>+ <term name="column">+ <single>عمود</single>+ <multiple>أعمدة</multiple>+ </term>+ <term name="figure">+ <single>رسم توضيحي</single>+ <multiple>رسوم توضيحية</multiple>+ </term>+ <term name="folio">+ <single>ورقة</single>+ <multiple>أوراق</multiple>+ </term>+ <term name="issue">+ <single>عدد</single>+ <multiple>أعداد</multiple>+ </term>+ <term name="line">+ <single>سطر</single>+ <multiple>أسطر</multiple>+ </term>+ <term name="note">+ <single>ملاحظة</single>+ <multiple>ملاحظات</multiple>+ </term>+ <term name="opus">+ <single>نوته موسيقية</single>+ <multiple>نوتات موسيقية</multiple>+ </term>+ <term name="page">+ <single>صفحة</single>+ <multiple>صفحات</multiple>+ </term>+ <term name="number-of-pages">+ <single>صفحة</single>+ <multiple>صفحات</multiple>+ </term>+ <term name="paragraph">+ <single>فقرة</single>+ <multiple>فقرات</multiple>+ </term>+ <term name="part">+ <single>جزء</single>+ <multiple>أجزاء</multiple>+ </term>+ <term name="section">+ <single>قسم</single>+ <multiple>أقسام</multiple>+ </term>+ <term name="sub verbo">+ <single>تفسير فرعي</single>+ <multiple>تفسيرات فرعية</multiple>+ </term>+ <term name="verse">+ <single>بيت شعر</single>+ <multiple>أبيات شعر</multiple>+ </term>+ <term name="volume">+ <single>مجلد</single>+ <multiple>مجلدات</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">كتاب</term>+ <term name="chapter" form="short">فصل</term>+ <term name="column" form="short">عمود</term>+ <term name="figure" form="short">رسم توضيحي</term>+ <term name="folio" form="short">مطوية</term>+ <term name="issue" form="short">عدد</term>+ <term name="line" form="short">سـ</term>+ <term name="note" form="short">ملاحظة</term>+ <term name="opus" form="short">نوتة موسيقية</term>+ <term name="page" form="short">+ <single>ص</single>+ <multiple>ص</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>ص</single>+ <multiple>ص</multiple>+ </term>+ <term name="paragraph" form="short">فقرة</term>+ <term name="part" form="short">ج</term>+ <term name="section" form="short">قسم</term>+ <term name="sub verbo" form="short">+ <single>تفسير فرعي</single>+ <multiple>تفسيرات فرعية</multiple>+ </term>+ <term name="verse" form="short">+ <single>بيت شعر</single>+ <multiple>أبيات شعر</multiple>+ </term>+ <term name="volume" form="short">+ <single>م</single>+ <multiple>م</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">إدارة</term>+ <term name="editor">تحقيق</term>+ <term name="editorial-director">إدارة التحرير</term>+ <term name="illustrator">رسوم</term>+ <term name="translator">ترجمة</term>+ <term name="editortranslator">ترجمة وتحقيق</term>++ <!-- SHORT ROLE FORMS -->++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">إنشاء</term>+ <term name="director" form="verb">إشراف</term>+ <term name="editor" form="verb">تحقيق</term>+ <term name="editorial-director" form="verb">إعداد</term>+ <term name="illustrator" form="verb">رسوم</term>+ <term name="interviewer" form="verb">مقابلة مع</term>+ <term name="recipient" form="verb">المستلم</term>+ <term name="reviewed-author" form="verb">مراجعة</term>+ <term name="translator" form="verb">ترجمة</term>+ <term name="editortranslator" form="verb">تحقيق وترجمة</term>++ <!-- SHORT VERB ROLE FORMS -->+ + <!-- LONG MONTH FORMS -->+ <term name="month-01">يناير</term>+ <term name="month-02">فبراير</term>+ <term name="month-03">مارس</term>+ <term name="month-04">أبريل</term>+ <term name="month-05">مايو</term>+ <term name="month-06">يونيو</term>+ <term name="month-07">يوليو</term>+ <term name="month-08">أغسطس</term>+ <term name="month-09">سبتمبر</term>+ <term name="month-10">أكتوبر</term>+ <term name="month-11">نوفمبر</term>+ <term name="month-12">ديسمبر</term>++ <!-- SHORT MONTH FORMS -->+++ <!-- SEASONS -->+ <term name="season-01">ربيع</term>+ <term name="season-02">صيف</term>+ <term name="season-03">خريف</term>+ <term name="season-04">شتاء</term>+ </terms>+</locale>
+ locales/bg-BG.xml view
@@ -0,0 +1,324 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="bg-BG">+ <info>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2018-02-15T04:14:02+00:00</updated>+ <translator>+ <name>Valeriya Simeonova</name>+ <email>simeonova@fmi.uni-sofia.bg</email>+ <uri>http://www.mendeley.com/profiles/valeriya-simeonova/</uri>+ </translator>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" form="numeric-leading-zeros" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="."/>+ <date-part name="month" form="numeric-leading-zeros" suffix="."/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">отворен на</term>+ <term name="and">и</term>+ <term name="and others">и други</term>+ <term name="anonymous">анонимен</term>+ <term name="anonymous" form="short">анон.</term>+ <term name="at">в</term>+ <term name="available at">достъпен на</term>+ <term name="by">от</term>+ <term name="circa">около</term>+ <term name="circa" form="short">ок.</term>+ <term name="cited">цитиран</term>+ <term name="edition">+ <single>издание</single>+ <multiple>издания</multiple>+ </term>+ <term name="edition" form="short">изд.</term>+ <term name="et-al">и съавт.</term>+ <term name="forthcoming">предстоящ</term>+ <term name="from">от</term>+ <term name="ibid">пак там</term>+ <term name="in">в</term>+ <term name="in press">под печат</term>+ <term name="internet">интернет</term>+ <term name="interview">интервю</term>+ <term name="letter">писмо</term>+ <term name="no date">без дата</term>+ <term name="no date" form="short">б.д.</term>+ <term name="online">онлайн</term>+ <term name="presented at">представен на</term>+ <term name="reference">+ <single>източник</single>+ <multiple>източници</multiple>+ </term>+ <term name="reference" form="short">+ <single>изт.</single>+ <multiple>изт.</multiple>+ </term>+ <term name="retrieved">изтеглен на</term>+ <term name="scale">скала</term>+ <term name="version">версия</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">сл.хр.</term>+ <term name="bc">пр.хр.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">„</term>+ <term name="close-quote">“</term>+ <term name="open-inner-quote">„</term>+ <term name="close-inner-quote">“</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">то</term>+ <term name="ordinal-01">во</term>+ <term name="ordinal-02">ро</term>+ <term name="ordinal-03">то</term>+ <term name="ordinal-21">во</term>+ <term name="ordinal-22">ро</term>+ <term name="ordinal-33">то</term>+ <term name="ordinal" gender-form="masculine">ти</term>+ <term name="ordinal-01" gender-form="masculine">ви</term>+ <term name="ordinal-02" gender-form="masculine">ри</term>+ <term name="ordinal-03" gender-form="masculine">ти</term>+ <term name="ordinal-21" gender-form="masculine">ви</term>+ <term name="ordinal-22" gender-form="masculine">ри</term>+ <term name="ordinal-33" gender-form="masculine">ти</term>+ <term name="ordinal" gender-form="feminine">та</term>+ <term name="ordinal-01" gender-form="feminine">ва</term>+ <term name="ordinal-02" gender-form="feminine">ра</term>+ <term name="ordinal-03" gender-form="feminine">та</term>+ <term name="ordinal-21" gender-form="feminine">ва</term>+ <term name="ordinal-22" gender-form="feminine">ра</term>+ <term name="ordinal-33" gender-form="feminine">та</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">първo</term>+ <term name="long-ordinal-02">вторo</term>+ <term name="long-ordinal-03">третo</term>+ <term name="long-ordinal-04">четвъртo</term>+ <term name="long-ordinal-05">петo</term>+ <term name="long-ordinal-06">шестo</term>+ <term name="long-ordinal-07">седмo</term>+ <term name="long-ordinal-08">осмo</term>+ <term name="long-ordinal-09">деветo</term>+ <term name="long-ordinal-10">десетo</term>+ <term name="long-ordinal-01" gender-form="masculine">първи</term>+ <term name="long-ordinal-02" gender-form="masculine">втори</term>+ <term name="long-ordinal-03" gender-form="masculine">трети</term>+ <term name="long-ordinal-04" gender-form="masculine">четверти</term>+ <term name="long-ordinal-05" gender-form="masculine">пети</term>+ <term name="long-ordinal-06" gender-form="masculine">шести</term>+ <term name="long-ordinal-07" gender-form="masculine">седми</term>+ <term name="long-ordinal-08" gender-form="masculine">осми</term>+ <term name="long-ordinal-09" gender-form="masculine">девети</term>+ <term name="long-ordinal-10" gender-form="masculine">десети</term>+ <term name="long-ordinal-01" gender-form="feminine">първа</term>+ <term name="long-ordinal-02" gender-form="feminine">втора</term>+ <term name="long-ordinal-03" gender-form="feminine">трета</term>+ <term name="long-ordinal-04" gender-form="feminine">четверта</term>+ <term name="long-ordinal-05" gender-form="feminine">пета</term>+ <term name="long-ordinal-06" gender-form="feminine">шеста</term>+ <term name="long-ordinal-07" gender-form="feminine">седма</term>+ <term name="long-ordinal-08" gender-form="feminine">осма</term>+ <term name="long-ordinal-09" gender-form="feminine">девета</term>+ <term name="long-ordinal-10" gender-form="feminine">десета</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>книга</single>+ <multiple>книги</multiple>+ </term>+ <term name="chapter">+ <single>глава</single>+ <multiple>глави</multiple>+ </term>+ <term name="column">+ <single>колона</single>+ <multiple>колони</multiple>+ </term>+ <term name="figure">+ <single>фигура</single>+ <multiple>фигури</multiple>+ </term>+ <term name="folio">+ <single>фолио</single>+ <multiple>фолия</multiple>+ </term>+ <term name="issue">+ <single>брой</single>+ <multiple>броеве</multiple>+ </term>+ <term name="line">+ <single>ред</single>+ <multiple>редове</multiple>+ </term>+ <term name="note">+ <single>бележка</single>+ <multiple>бележки</multiple>+ </term>+ <term name="opus">+ <single>опус</single>+ <multiple>опуси</multiple>+ </term>+ <term name="page">+ <single>страница</single>+ <multiple>страници</multiple>+ </term>+ <term name="number-of-pages">брой страници</term>+ <term name="paragraph">+ <single>абзац</single>+ <multiple>абзаци</multiple>+ </term>+ <term name="part">+ <single>част</single>+ <multiple>части</multiple>+ </term>+ <term name="section">+ <single>раздел</single>+ <multiple>раздели</multiple>+ </term>+ <term name="sub verbo">+ <single>под раздел</single>+ <multiple>под раздели</multiple>+ </term>+ <term name="verse">+ <single>стихотворение</single>+ <multiple>стихове</multiple>+ </term>+ <term name="volume">+ <single>том</single>+ <multiple>томове</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">кн.</term>+ <term name="chapter" form="short">гл.</term>+ <term name="column" form="short">кол.</term>+ <term name="figure" form="short">фиг.</term>+ <term name="folio" form="short">фол.</term>+ <term name="issue" form="short">бр.</term>+ <term name="line" form="short">р.</term>+ <term name="note" form="short">бел.</term>+ <term name="opus" form="short">оп.</term>+ <term name="page" form="short">стр.</term>+ <term name="number-of-pages" form="short">бр.стр.</term>+ <term name="paragraph" form="short">абз.</term>+ <term name="part" form="short">ч.</term>+ <term name="section" form="short">разд.</term>+ <term name="sub verbo" form="short">подразд.</term>+ <term name="verse" form="short">ст.</term>+ <term name="volume" form="short">+ <single>том</single>+ <multiple>томове</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">режисьор</term>+ <term name="editor">+ <single>редактор</single>+ <multiple>редактори</multiple>+ </term>+ <term name="editorial-director">+ <single>главен редактор</single>+ <multiple>редакторски колектив</multiple>+ </term>+ <term name="illustrator">илюстрации</term>+ <term name="translator">+ <single>преводач</single>+ <multiple>преводачи</multiple>+ </term>+ <term name="editortranslator">+ <single>editor & translator</single>+ <multiple>editors & translators</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">реж.</term>+ <term name="editor" form="short">+ <single>ред.</single>+ <multiple>ред.кол.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>гл.ред.</single>+ <multiple>гл.ред.кол.</multiple>+ </term>+ <term name="illustrator" form="short">ил.</term>+ <term name="translator" form="short">+ <single>прев</single>+ <multiple>прев.кол.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>ред. & прев.</single>+ <multiple>ред.кол. & прев.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">от</term>+ <term name="director" form="verb">под общата редакция на</term>+ <term name="editor" form="verb">редактиран от</term>+ <term name="editorial-director" form="verb">главен редактор</term>+ <term name="illustrator" form="verb">илюстрации от</term>+ <term name="interviewer" form="verb">интервюиран от</term>+ <term name="recipient" form="verb">до</term>+ <term name="reviewed-author" form="verb">рецензент</term>+ <term name="translator" form="verb">преведен от</term>+ <term name="editortranslator" form="verb">редактирано & преведено от</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">п.о.р.</term>+ <term name="editor" form="verb-short">ред.</term>+ <term name="editorial-director" form="verb-short">гл.ред.</term>+ <term name="illustrator" form="verb-short">ил.</term>+ <term name="translator" form="verb-short">прев.</term>+ <term name="editortranslator" form="verb-short">ред. & прев. от</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">Януари</term>+ <term name="month-02">Февруари</term>+ <term name="month-03">Март</term>+ <term name="month-04">Април</term>+ <term name="month-05">Май</term>+ <term name="month-06">Юни</term>+ <term name="month-07">Юли</term>+ <term name="month-08">Август</term>+ <term name="month-09">Септември</term>+ <term name="month-10">Октомври</term>+ <term name="month-11">Ноември</term>+ <term name="month-12">Декември</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">Яну</term>+ <term name="month-02" form="short">Фев</term>+ <term name="month-03" form="short">Мар</term>+ <term name="month-04" form="short">Апр</term>+ <term name="month-05" form="short">Май</term>+ <term name="month-06" form="short">Юни</term>+ <term name="month-07" form="short">Юли</term>+ <term name="month-08" form="short">Авг</term>+ <term name="month-09" form="short">Сеп</term>+ <term name="month-10" form="short">Окт</term>+ <term name="month-11" form="short">Ное</term>+ <term name="month-12" form="short">Дек</term>++ <!-- SEASONS -->+ <term name="season-01">Пролет</term>+ <term name="season-02">Лято</term>+ <term name="season-03">Есен</term>+ <term name="season-04">Зима</term>+ </terms>+</locale>
+ locales/ca-AD.xml view
@@ -0,0 +1,312 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="ca-AD">+ <info>+ <translator>+ <name>anidal</name>+ </translator>+ <translator>+ <name>javimat</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">consulta</term>+ <term name="and">i</term>+ <term name="and others">i altres</term>+ <term name="anonymous">anònim</term>+ <term name="anonymous" form="short">anòn.</term>+ <term name="at">a</term>+ <term name="available at">disponible a</term>+ <term name="by">per</term>+ <term name="circa">circa</term>+ <term name="circa" form="short">c.</term>+ <term name="cited">citat</term>+ <term name="edition">+ <single>edició</single>+ <multiple>edicions</multiple>+ </term>+ <term name="edition" form="short">ed.</term>+ <term name="et-al">et al.</term>+ <term name="forthcoming">previst</term>+ <term name="from">de</term>+ <term name="ibid">ibíd.</term>+ <term name="in">en</term>+ <term name="in press">en impremta</term>+ <term name="internet">internet</term>+ <term name="interview">entrevista</term>+ <term name="letter">carta</term>+ <term name="no date">sense data</term>+ <term name="no date" form="short">s.d.</term>+ <term name="online">en línia</term>+ <term name="presented at">presentat a</term>+ <term name="reference">+ <single>referència</single>+ <multiple>referències</multiple>+ </term>+ <term name="reference" form="short">+ <single>ref.</single>+ <multiple>ref.</multiple>+ </term>+ <term name="retrieved">recuperat</term>+ <term name="scale">escala</term>+ <term name="version">versió</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">dC</term>+ <term name="bc">aC</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">«</term>+ <term name="close-quote">»</term>+ <term name="open-inner-quote">“</term>+ <term name="close-inner-quote">”</term>+ <term name="page-range-delimiter">-</term>++ <!-- ORDINALS -->+ <term name="ordinal">a</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">primera</term>+ <term name="long-ordinal-02">segona</term>+ <term name="long-ordinal-03">tercera</term>+ <term name="long-ordinal-04">quarta</term>+ <term name="long-ordinal-05">cinquena</term>+ <term name="long-ordinal-06">sisena</term>+ <term name="long-ordinal-07">setena</term>+ <term name="long-ordinal-08">vuitena</term>+ <term name="long-ordinal-09">novena</term>+ <term name="long-ordinal-10">desena</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>llibre</single>+ <multiple>llibres</multiple>+ </term>+ <term name="chapter">+ <single>capítol</single>+ <multiple>capítols</multiple>+ </term>+ <term name="column">+ <single>columna</single>+ <multiple>columnes</multiple>+ </term>+ <term name="figure">+ <single>figura</single>+ <multiple>figures</multiple>+ </term>+ <term name="folio">+ <single>foli</single>+ <multiple>folis</multiple>+ </term>+ <term name="issue">+ <single>número</single>+ <multiple>números</multiple>+ </term>+ <term name="line">+ <single>línia</single>+ <multiple>línies</multiple>+ </term>+ <term name="note">+ <single>nota</single>+ <multiple>notes</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opera</multiple>+ </term>+ <term name="page">+ <single>pàgina</single>+ <multiple>pàgines</multiple>+ </term>+ <term name="number-of-pages">+ <single>pàgina</single>+ <multiple>pàgines</multiple>+ </term>+ <term name="paragraph">+ <single>paràgraf</single>+ <multiple>paràgrafs</multiple>+ </term>+ <term name="part">+ <single>part</single>+ <multiple>parts</multiple>+ </term>+ <term name="section">+ <single>secció</single>+ <multiple>seccions</multiple>+ </term>+ <term name="sub verbo">+ <single>sub voce</single>+ <multiple>sub vocibus</multiple>+ </term>+ <term name="verse">+ <single>vers</single>+ <multiple>versos</multiple>+ </term>+ <term name="volume">+ <single>volum</single>+ <multiple>volums</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">llib.</term>+ <term name="chapter" form="short">cap.</term>+ <term name="column" form="short">col.</term>+ <term name="figure" form="short">fig.</term>+ <term name="folio" form="short">f.</term>+ <term name="issue" form="short">núm.</term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">+ <single>p.</single>+ <multiple>p.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>p.</single>+ <multiple>p.</multiple>+ </term>+ <term name="paragraph" form="short">par.</term>+ <term name="part" form="short">pt.</term>+ <term name="section" form="short">sec.</term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.v.</multiple>+ </term>+ <term name="verse" form="short">+ <single>v.</single>+ <multiple>v.</multiple>+ </term>+ <term name="volume" form="short">+ <single>vol.</single>+ <multiple>vol.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>§</single>+ <multiple>§</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>director</single>+ <multiple>directors</multiple>+ </term>+ <term name="editor">+ <single>editor</single>+ <multiple>editors</multiple>+ </term>+ <term name="editorial-director">+ <single>editor</single>+ <multiple>editors</multiple>+ </term>+ <term name="illustrator">+ <single>il·lustrador</single>+ <multiple>il·lustradors</multiple>+ </term>+ <term name="translator">+ <single>traductor</single>+ <multiple>traductors</multiple>+ </term>+ <term name="editortranslator">+ <single>editor i traductor</single>+ <multiple>editors i traductors</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>dir.</single>+ <multiple>dir.</multiple>+ </term>+ <term name="editor" form="short">+ <single>ed.</single>+ <multiple>ed.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>ed.</single>+ <multiple>ed.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>il·lust.</single>+ <multiple>il·lust.</multiple>+ </term>+ <term name="translator" form="short">+ <single>trad.</single>+ <multiple>trad.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>ed. i trad.</single>+ <multiple>ed. i trad.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">per</term>+ <term name="director" form="verb">dirigit per</term>+ <term name="editor" form="verb">editat per</term>+ <term name="editorial-director" form="verb">editat per</term>+ <term name="illustrator" form="verb">il·lustrat per</term>+ <term name="interviewer" form="verb">entrevistat per</term>+ <term name="recipient" form="verb">a</term>+ <term name="reviewed-author" form="verb">per</term>+ <term name="translator" form="verb">traduït per</term>+ <term name="editortranslator" form="verb">editat i traduït per</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">dir.</term>+ <term name="editor" form="verb-short">ed.</term>+ <term name="editorial-director" form="verb-short">ed.</term>+ <term name="illustrator" form="verb-short">il·lust.</term>+ <term name="translator" form="verb-short">trad.</term>+ <term name="editortranslator" form="verb-short">ed. i trad. per</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">gener</term>+ <term name="month-02">febrer</term>+ <term name="month-03">març</term>+ <term name="month-04">abril</term>+ <term name="month-05">maig</term>+ <term name="month-06">juny</term>+ <term name="month-07">juliol</term>+ <term name="month-08">agost</term>+ <term name="month-09">setembre</term>+ <term name="month-10">octubre</term>+ <term name="month-11">novembre</term>+ <term name="month-12">desembre</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">gen.</term>+ <term name="month-02" form="short">feb.</term>+ <term name="month-03" form="short">març</term>+ <term name="month-04" form="short">abr.</term>+ <term name="month-05" form="short">maig</term>+ <term name="month-06" form="short">juny</term>+ <term name="month-07" form="short">jul.</term>+ <term name="month-08" form="short">ago.</term>+ <term name="month-09" form="short">set.</term>+ <term name="month-10" form="short">oct.</term>+ <term name="month-11" form="short">nov.</term>+ <term name="month-12" form="short">des.</term>++ <!-- SEASONS -->+ <term name="season-01">primavera</term>+ <term name="season-02">estiu</term>+ <term name="season-03">tardor</term>+ <term name="season-04">hivern</term>+ </terms>+</locale>
+ locales/cs-CZ.xml view
@@ -0,0 +1,319 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="cs-CZ">+ <info>+ <translator>+ <name>nosaal</name>+ </translator>+ <translator>+ <name>Andrew Dunning</name>+ </translator>+ <translator>+ <name>libora</name>+ </translator>+ <translator>+ <name>Michal Hoftich</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" form="ordinal" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric" suffix=". " range-delimiter="-"/>+ <date-part name="month" form="numeric" suffix=". " range-delimiter="-"/>+ <date-part name="year" range-delimiter="-"/>+ </date>+ <terms>+ <term name="accessed">viděno</term>+ <term name="accessed" form="short">vid.</term>+ <term name="and">a</term>+ <term name="and others">a další</term>+ <term name="anonymous">anonym</term>+ <term name="anonymous" form="short">anon.</term>+ <term name="at">v</term>+ <term name="available at">dostupné z</term>+ <term name="by">od</term>+ <term name="circa">asi</term>+ <term name="circa" form="short">cca.</term>+ <term name="cited">citován</term>+ <term name="edition">+ <single>vydání</single>+ <multiple>vydání</multiple>+ </term>+ <term name="edition" form="short">vyd.</term>+ <term name="et-al">et al.</term>+ <term name="forthcoming">nadcházející</term>+ <term name="from">z</term>+ <term name="ibid">ibid.</term>+ <term name="in">in</term>+ <term name="in press">v tisku</term>+ <term name="internet">internet</term>+ <term name="interview">interview</term>+ <term name="letter">dopis</term>+ <term name="no date">nedatováno</term>+ <term name="no date" form="short">b.r.</term>+ <term name="online">online</term>+ <term name="presented at">prezentováno v</term>+ <term name="reference">+ <single>reference</single>+ <multiple>reference</multiple>+ </term>+ <term name="reference" form="short">+ <single>ref.</single>+ <multiple>ref.</multiple>+ </term>+ <term name="retrieved">získáno</term>+ <term name="scale">měřítko</term>+ <term name="version">verze</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">n. l.</term>+ <term name="bc">př. n. l.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">„</term>+ <term name="close-quote">"</term>+ <term name="open-inner-quote">‚</term>+ <term name="close-inner-quote">´</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">.</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">první</term>+ <term name="long-ordinal-02">druhé</term>+ <term name="long-ordinal-03">třetí</term>+ <term name="long-ordinal-04">čtvrté</term>+ <term name="long-ordinal-05">páté</term>+ <term name="long-ordinal-06">šesté</term>+ <term name="long-ordinal-07">sedmé</term>+ <term name="long-ordinal-08">osmé</term>+ <term name="long-ordinal-09">deváté</term>+ <term name="long-ordinal-10">desáté</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>kniha</single>+ <multiple>knihy</multiple>+ </term>+ <term name="chapter">+ <single>kapitola</single>+ <multiple>kapitoly</multiple>+ </term>+ <term name="column">+ <single>sloupec</single>+ <multiple>sloupce</multiple>+ </term>+ <term name="figure">+ <single>obrázek</single>+ <multiple>obrázky</multiple>+ </term>+ <term name="folio">+ <single>list</single>+ <multiple>listy</multiple>+ </term>+ <term name="issue">+ <single>číslo</single>+ <multiple>čísla</multiple>+ </term>+ <term name="line">+ <single>řádek</single>+ <multiple>řádky</multiple>+ </term>+ <term name="note">+ <single>poznámka</single>+ <multiple>poznámky</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opusy</multiple>+ </term>+ <term name="page">+ <single>strana</single>+ <multiple>strany</multiple>+ </term>+ <term name="number-of-pages">+ <single>strana</single>+ <multiple>strany</multiple>+ </term>+ <term name="paragraph">+ <single>odstavec</single>+ <multiple>odstavce</multiple>+ </term>+ <term name="part">+ <single>část</single>+ <multiple>části</multiple>+ </term>+ <term name="section">+ <single>sekce</single>+ <multiple>sekce</multiple>+ </term>+ <term name="sub verbo">+ <single>pod heslem</single>+ <multiple>pod hesly</multiple>+ </term>+ <term name="verse">+ <single>verš</single>+ <multiple>verše</multiple>+ </term>+ <term name="volume">+ <single>ročník</single>+ <multiple>ročníky</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">k.</term>+ <term name="chapter" form="short">kap.</term>+ <term name="column" form="short">sl.</term>+ <term name="figure" form="short">obr.</term>+ <term name="folio" form="short">l.</term>+ <term name="issue" form="short">č.</term>+ <term name="line" form="short">ř.</term>+ <term name="note" form="short">pozn.</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">+ <single>s.</single>+ <multiple>s.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>s.</single>+ <multiple>s.</multiple>+ </term>+ <term name="paragraph" form="short">odst.</term>+ <term name="part" form="short">č.</term>+ <term name="section" form="short">sek.</term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.v.</multiple>+ </term>+ <term name="verse" form="short">+ <single>v.</single>+ <multiple>v.</multiple>+ </term>+ <term name="volume" form="short">+ <single>roč.</single>+ <multiple>roč.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>ředitel</single>+ <multiple>ředitelé</multiple>+ </term>+ <term name="editor">+ <single>editor</single>+ <multiple>editoři</multiple>+ </term>+ <term name="editorial-director">+ <single>vedoucí editor</single>+ <multiple>vedoucí editoři</multiple>+ </term>+ <term name="illustrator">+ <single>ilustrátor</single>+ <multiple>ilustrátoři</multiple>+ </term>+ <term name="translator">+ <single>překladatel</single>+ <multiple>překladatelé</multiple>+ </term>+ <term name="editortranslator">+ <single>editor a překladatel</single>+ <multiple>editoři a překladatelé</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>řed.</single>+ <multiple>řed.</multiple>+ </term>+ <term name="editor" form="short">+ <single>ed.</single>+ <multiple>ed.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>ed.</single>+ <multiple>ed.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>il.</single>+ <multiple>il.</multiple>+ </term>+ <term name="translator" form="short">+ <single>přel.</single>+ <multiple>přel.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>ed. a přel.</single>+ <multiple>ed. a přel.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb"></term>+ <term name="director" form="verb">řídil</term>+ <term name="editor" form="verb">editoval</term>+ <term name="editorial-director" form="verb">editoval</term>+ <term name="illustrator" form="verb">ilustroval</term>+ <term name="interviewer" form="verb">rozhovor vedl</term>+ <term name="recipient" form="verb">pro</term>+ <term name="reviewed-author" form="verb">recenzoval</term>+ <term name="translator" form="verb">přeložil</term>+ <term name="editortranslator" form="verb">editoval a přeložil</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">řed.</term>+ <term name="editor" form="verb-short">ed.</term>+ <term name="editorial-director" form="verb-short">ed.</term>+ <term name="illustrator" form="verb-short">ilust.</term>+ <term name="translator" form="verb-short">přel.</term>+ <term name="editortranslator" form="verb-short">ed. a přel.</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">leden</term>+ <term name="month-02">únor</term>+ <term name="month-03">březen</term>+ <term name="month-04">duben</term>+ <term name="month-05">květen</term>+ <term name="month-06">červen</term>+ <term name="month-07">červenec</term>+ <term name="month-08">srpen</term>+ <term name="month-09">září</term>+ <term name="month-10">říjen</term>+ <term name="month-11">listopad</term>+ <term name="month-12">prosinec</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">led.</term>+ <term name="month-02" form="short">úno.</term>+ <term name="month-03" form="short">bře.</term>+ <term name="month-04" form="short">dub.</term>+ <term name="month-05" form="short">kvě.</term>+ <term name="month-06" form="short">čer.</term>+ <term name="month-07" form="short">čvc.</term>+ <term name="month-08" form="short">srp.</term>+ <term name="month-09" form="short">zář.</term>+ <term name="month-10" form="short">říj.</term>+ <term name="month-11" form="short">lis.</term>+ <term name="month-12" form="short">pro.</term>++ <!-- SEASONS -->+ <term name="season-01">jaro</term>+ <term name="season-02">léto</term>+ <term name="season-03">podzim</term>+ <term name="season-04">zima</term>+ </terms>+</locale>
+ locales/cy-GB.xml view
@@ -0,0 +1,312 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="cy-GB">+ <info>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2014-10-08T12:00:00+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">gwelwyd</term>+ <term name="and">a/ac</term>+ <term name="and others">ac eraill</term>+ <term name="anonymous">di-enw</term>+ <term name="anonymous" form="short">dienw</term>+ <term name="at">at</term>+ <term name="available at">ar gael</term>+ <term name="by">gan</term>+ <term name="circa">circa</term>+ <term name="circa" form="short">c.</term>+ <term name="cited">dyfynnwyd</term>+ <term name="edition">+ <single>argraffiad</single>+ <multiple>argraffiadau</multiple>+ </term>+ <term name="edition" form="short">arg.</term>+ <term name="et-al">et al.</term>+ <term name="forthcoming">ar fin ymddangos</term>+ <term name="from">gan</term>+ <term name="ibid">ibid.</term>+ <term name="in">yn</term>+ <term name="in press">yn y wasg</term>+ <term name="internet">rhyngrwyd</term>+ <term name="interview">cyfweliad</term>+ <term name="letter">llythyr</term>+ <term name="no date">dim dyddiad</term>+ <term name="no date" form="short">d.d.</term>+ <term name="online">arlein</term>+ <term name="presented at">cyflwynwyd yn</term>+ <term name="reference">+ <single>cyfeirnod</single>+ <multiple>cyfeirnodau</multiple>+ </term>+ <term name="reference" form="short">+ <single>cyf.</single>+ <multiple>cyf’au.</multiple>+ </term>+ <term name="retrieved">gwelwyd</term>+ <term name="scale">graddfa</term>+ <term name="version">fersiwn</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">OC</term>+ <term name="bc">CC</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">‘</term>+ <term name="close-quote">’</term>+ <term name="open-inner-quote">“</term>+ <term name="close-inner-quote">”</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">th</term>+ <term name="ordinal-01">af</term>+ <term name="ordinal-02">il</term>+ <term name="ordinal-03">ydd</term>+ <term name="ordinal-11">ed</term>+ <term name="ordinal-12">ed</term>+ <term name="ordinal-13">ed</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">cyntaf</term>+ <term name="long-ordinal-02">ail</term>+ <term name="long-ordinal-03">trydydd</term>+ <term name="long-ordinal-04">pedwerydd</term>+ <term name="long-ordinal-05">pumed</term>+ <term name="long-ordinal-06">chweched</term>+ <term name="long-ordinal-07">seithfed</term>+ <term name="long-ordinal-08">wythfed</term>+ <term name="long-ordinal-09">nawfed</term>+ <term name="long-ordinal-10">degfed</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>llyfr</single>+ <multiple>llyfrau</multiple>+ </term>+ <term name="chapter">+ <single>pennod</single>+ <multiple>penodau</multiple>+ </term>+ <term name="column">+ <single>colofn</single>+ <multiple>colofnau</multiple>+ </term>+ <term name="figure">+ <single>ffigwr</single>+ <multiple>ffigyrau</multiple>+ </term>+ <term name="folio">+ <single>ffolio</single>+ <multiple>ffolios</multiple>+ </term>+ <term name="issue">+ <single>rhifyn</single>+ <multiple>rhifynnau</multiple>+ </term>+ <term name="line">+ <single>llinell</single>+ <multiple>llinellau</multiple>+ </term>+ <term name="note">+ <single>nodyn</single>+ <multiple>nodiadau</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opera</multiple>+ </term>+ <term name="page">+ <single>tudalen</single>+ <multiple>tudalennau</multiple>+ </term>+ <term name="number-of-pages">+ <single>tudalen</single>+ <multiple>tudalennau</multiple>+ </term>+ <term name="paragraph">+ <single>paragraff</single>+ <multiple>paragraffau</multiple>+ </term>+ <term name="part">+ <single>rhan</single>+ <multiple>rhannau</multiple>+ </term>+ <term name="section">+ <single>adran</single>+ <multiple>adrannau</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>pennill</single>+ <multiple>penillion</multiple>+ </term>+ <term name="volume">+ <single>cyfrol</single>+ <multiple>cyfrolau</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">llyfr.</term>+ <term name="chapter" form="short">pen.</term>+ <term name="column" form="short">col.</term>+ <term name="figure" form="short">ffig.</term>+ <term name="folio" form="short">ff.</term>+ <term name="issue" form="short">rhif.</term>+ <term name="line" form="short">ll.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">+ <single>t.</single>+ <multiple>tt.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>t.</single>+ <multiple>tt.</multiple>+ </term>+ <term name="paragraph" form="short">para.</term>+ <term name="part" form="short">rhan.</term>+ <term name="section" form="short">adr.</term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>p.</single>+ <multiple>pp.</multiple>+ </term>+ <term name="volume" form="short">+ <single>rhif.</single>+ <multiple>rhifu.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>cyfarwyddwr</single>+ <multiple>cyfarwyddwyr</multiple>+ </term>+ <term name="editor">+ <single>golygydd</single>+ <multiple>golygyddion</multiple>+ </term>+ <term name="editorial-director">+ <single>cyfarwyddwr-golygyddol</single>+ <multiple>cyfarwyddwyr-golygyddol</multiple>+ </term>+ <term name="illustrator">+ <single>darlunydd</single>+ <multiple>darlunwyr</multiple>+ </term>+ <term name="translator">+ <single>cyfieithydd</single>+ <multiple>cyfieithwyr</multiple>+ </term>+ <term name="editortranslator">+ <single>golygydd a chyfieithydd</single>+ <multiple>golygyddion a chyfieithwyr</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>cyf.</single>+ <multiple>cyfy.</multiple>+ </term>+ <term name="editor" form="short">+ <single>gol.</single>+ <multiple>goln.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>gol.</single>+ <multiple>goln.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>darlun.</single>+ <multiple>darlun.</multiple>+ </term>+ <term name="translator" form="short">+ <single>cyf.</single>+ <multiple>cyf.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>gol. a chyf.</single>+ <multiple>goln. a chyf.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">gan</term>+ <term name="director" form="verb">cyfarwyddwyd gan</term>+ <term name="editor" form="verb">golygwyd gan</term>+ <term name="editorial-director" form="verb">cyfarwyddwyd a golygwyd gan</term>+ <term name="illustrator" form="verb">darlunwyd gan</term>+ <term name="interviewer" form="verb">cyfweliad gan</term>+ <term name="recipient" form="verb">i</term>+ <term name="reviewed-author" form="verb">gan</term>+ <term name="translator" form="verb">cyfieithwyd gan </term>+ <term name="editortranslator" form="verb">golygwyd a chyfieithwyd gan</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">cyf. gan</term>+ <term name="editor" form="verb-short">gol. gan</term>+ <term name="editorial-director" form="verb-short">cyf.-gol. gan</term>+ <term name="illustrator" form="verb-short">darlun. gan</term>+ <term name="translator" form="verb-short">cyf. gan</term>+ <term name="editortranslator" form="verb-short">gol. a chyf. gan</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">Ionawr</term>+ <term name="month-02">Chwefror</term>+ <term name="month-03">Mawrth</term>+ <term name="month-04">Ebrill</term>+ <term name="month-05">Mai</term>+ <term name="month-06">Mehefin</term>+ <term name="month-07">Gorffennaf</term>+ <term name="month-08">Awst</term>+ <term name="month-09">Medi</term>+ <term name="month-10">Hydref</term>+ <term name="month-11">Tachwedd</term>+ <term name="month-12">Rhagfyr</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">Ion.</term>+ <term name="month-02" form="short">Chwe.</term>+ <term name="month-03" form="short">Maw.</term>+ <term name="month-04" form="short">Ebr.</term>+ <term name="month-05" form="short">Mai</term>+ <term name="month-06" form="short">Meh.</term>+ <term name="month-07" form="short">Gorff.</term>+ <term name="month-08" form="short">Aws.</term>+ <term name="month-09" form="short">Med.</term>+ <term name="month-10" form="short">Hyd.</term>+ <term name="month-11" form="short">Tach.</term>+ <term name="month-12" form="short">Rhag.</term>++ <!-- SEASONS -->+ <term name="season-01">Gwanwyn</term>+ <term name="season-02">Haf</term>+ <term name="season-03">Hydref</term>+ <term name="season-04">Gaeaf</term>+ </terms>+</locale>
+ locales/da-DK.xml view
@@ -0,0 +1,315 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="da-DK">+ <info>+ <translator>+ <name>Niels Erik Wille</name>+ </translator>+ <translator>+ <name>Jonas Nyrup</name>+ </translator>+ <translator>+ <name>hafnius</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" form="ordinal" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="-" range-delimiter="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="-" range-delimiter="/"/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">set</term>+ <term name="and">og</term>+ <term name="and others">med flere</term>+ <term name="anonymous">anonym</term>+ <term name="anonymous" form="short">anon.</term>+ <term name="at">på</term>+ <term name="available at">tilgængelig hos</term>+ <term name="by">af</term>+ <term name="circa">cirka</term>+ <term name="circa" form="short">ca.</term>+ <term name="cited">henvist</term>+ <term name="edition">+ <single>udgave</single>+ <multiple>udgaver</multiple>+ </term>+ <term name="edition" form="short">udg.</term>+ <term name="et-al">m.fl.</term>+ <term name="forthcoming">kommende</term>+ <term name="from">fra</term>+ <term name="ibid">ibid.</term>+ <term name="in">i</term>+ <term name="in press">i trykken</term>+ <term name="internet">internet</term>+ <term name="interview">interview</term>+ <term name="letter">brev</term>+ <term name="no date">uden år</term>+ <term name="no date" form="short">u.å.</term>+ <term name="online">online</term>+ <term name="presented at">præsenteret ved</term>+ <term name="reference">+ <single>reference</single>+ <multiple>referencer</multiple>+ </term>+ <term name="reference" form="short">+ <single>ref.</single>+ <multiple>refr.</multiple>+ </term>+ <term name="retrieved">hentet</term>+ <term name="scale">skala</term>+ <term name="version">version</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">e.v.t.</term>+ <term name="bc">f.v.t.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">“</term>+ <term name="close-quote">”</term>+ <term name="open-inner-quote">‘</term>+ <term name="close-inner-quote">’</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">.</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">første</term>+ <term name="long-ordinal-02">anden</term>+ <term name="long-ordinal-03">tredje</term>+ <term name="long-ordinal-04">fjerde</term>+ <term name="long-ordinal-05">femte</term>+ <term name="long-ordinal-06">sjette</term>+ <term name="long-ordinal-07">syvende</term>+ <term name="long-ordinal-08">ottende</term>+ <term name="long-ordinal-09">niende</term>+ <term name="long-ordinal-10">tiende</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>bog</single>+ <multiple>bøger</multiple>+ </term>+ <term name="chapter">+ <single>kapitel</single>+ <multiple>kapitler</multiple>+ </term>+ <term name="column">+ <single>kolonne</single>+ <multiple>kolonner</multiple>+ </term>+ <term name="figure">+ <single>figur</single>+ <multiple>figurer</multiple>+ </term>+ <term name="folio">+ <single>folio</single>+ <multiple>folio</multiple>+ </term>+ <term name="issue">+ <single>nummer</single>+ <multiple>numre</multiple>+ </term>+ <term name="line">+ <single>linje</single>+ <multiple>linjer</multiple>+ </term>+ <term name="note">+ <single>note</single>+ <multiple>noter</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opus</multiple>+ </term>+ <term name="page">+ <single>side</single>+ <multiple>sider</multiple>+ </term>+ <term name="number-of-pages">+ <single>side</single>+ <multiple>sider</multiple>+ </term>+ <term name="paragraph">+ <single>afsnit</single>+ <multiple>afsnit</multiple>+ </term>+ <term name="part">+ <single>del</single>+ <multiple>dele</multiple>+ </term>+ <term name="section">+ <single>paragraf</single>+ <multiple>paragraffer</multiple>+ </term>+ <term name="sub verbo">+ <single>sub voce</single>+ <multiple>sub voce</multiple>+ </term>+ <term name="verse">+ <single>vers</single>+ <multiple>vers</multiple>+ </term>+ <term name="volume">+ <single>bind</single>+ <multiple>bind</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">b.</term>+ <term name="chapter" form="short">kap.</term>+ <term name="column" form="short">kol.</term>+ <term name="figure" form="short">fig.</term>+ <term name="folio" form="short">fol.</term>+ <term name="issue" form="short">nr.</term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">+ <single>s.</single>+ <multiple>s.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>s.</single>+ <multiple>s.</multiple>+ </term>+ <term name="paragraph" form="short">afs.</term>+ <term name="part" form="short">d.</term>+ <term name="section" form="short">par.</term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.v.</multiple>+ </term>+ <term name="verse" form="short">+ <single>v.</single>+ <multiple>v.</multiple>+ </term>+ <term name="volume" form="short">+ <single>bd.</single>+ <multiple>bd.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>instruktør</single>+ <multiple>instruktører</multiple>+ </term>+ <term name="editor">+ <single>redaktør</single>+ <multiple>redaktører</multiple>+ </term>+ <term name="editorial-director">+ <single>redaktør</single>+ <multiple>redaktører</multiple>+ </term>+ <term name="illustrator">+ <single>illustrator</single>+ <multiple>illustratorer</multiple>+ </term>+ <term name="translator">+ <single>oversætter</single>+ <multiple>oversættere</multiple>+ </term>+ <term name="editortranslator">+ <single>redaktør & oversætter</single>+ <multiple>redaktører & oversættere</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>instr.</single>+ <multiple>instr.</multiple>+ </term>+ <term name="editor" form="short">+ <single>red.</single>+ <multiple>red.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>red.</single>+ <multiple>red.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>ill.</single>+ <multiple>ill.</multiple>+ </term>+ <term name="translator" form="short">+ <single>overs.</single>+ <multiple>overs.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>red. & overs.</single>+ <multiple>red. & overs.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">af</term>+ <term name="director" form="verb">instrueret af</term>+ <term name="editor" form="verb">redigeret af</term>+ <term name="editorial-director" form="verb">redigeret af</term>+ <term name="illustrator" form="verb">illustreret af</term>+ <term name="interviewer" form="verb">interviewet af</term>+ <term name="recipient" form="verb">modtaget af</term>+ <term name="reviewed-author" form="verb">af</term>+ <term name="translator" form="verb">oversat af</term>+ <term name="editortranslator" form="verb">redigeret & oversat af</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">instr.</term>+ <term name="editor" form="verb-short">red.</term>+ <term name="editorial-director" form="verb-short">red.</term>+ <term name="illustrator" form="verb-short">illus.</term>+ <term name="translator" form="verb-short">overs.</term>+ <term name="editortranslator" form="verb-short">red. & overs. af</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">januar</term>+ <term name="month-02">februar</term>+ <term name="month-03">marts</term>+ <term name="month-04">april</term>+ <term name="month-05">maj</term>+ <term name="month-06">juni</term>+ <term name="month-07">juli</term>+ <term name="month-08">august</term>+ <term name="month-09">september</term>+ <term name="month-10">oktober</term>+ <term name="month-11">november</term>+ <term name="month-12">december</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">jan.</term>+ <term name="month-02" form="short">feb.</term>+ <term name="month-03" form="short">mar.</term>+ <term name="month-04" form="short">apr.</term>+ <term name="month-05" form="short">maj</term>+ <term name="month-06" form="short">jun.</term>+ <term name="month-07" form="short">jul.</term>+ <term name="month-08" form="short">aug.</term>+ <term name="month-09" form="short">sep.</term>+ <term name="month-10" form="short">okt.</term>+ <term name="month-11" form="short">nov.</term>+ <term name="month-12" form="short">dec.</term>++ <!-- SEASONS -->+ <term name="season-01">Forår</term>+ <term name="season-02">Sommer</term>+ <term name="season-03">Efterår</term>+ <term name="season-04">Vinter</term>+ </terms>+</locale>
+ locales/de-AT.xml view
@@ -0,0 +1,334 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="de-AT">+ <info>+ <translator>+ <name>Till A. Heilmann</name>+ </translator>+ <translator>+ <name>Georg Duffner</name>+ </translator>+ <translator>+ <name>Sebastian Karcher</name>+ </translator>+ <translator>+ <name>Sylvester Keil</name>+ </translator>+ <translator>+ <name>jakov</name>+ </translator>+ <translator>+ <name>Frank Bennett</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" form="ordinal" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="."/>+ <date-part name="month" form="numeric-leading-zeros" suffix="."/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">zugegriffen</term>+ <term name="and">und</term>+ <term name="and others">und andere</term>+ <term name="anonymous">ohne Autor</term>+ <term name="anonymous" form="short">o. A.</term>+ <term name="at">auf</term>+ <term name="available at">verfügbar unter</term>+ <term name="by">von</term>+ <term name="circa">circa</term>+ <term name="circa" form="short">ca.</term>+ <term name="cited">zitiert</term>+ <term name="edition">+ <single>Auflage</single>+ <multiple>Auflagen</multiple>+ </term>+ <term name="edition" form="short">Aufl.</term>+ <term name="et-al">u. a.</term>+ <term name="forthcoming">i. E.</term>+ <term name="from">von</term>+ <term name="ibid">ebd.</term>+ <term name="in">in</term>+ <term name="in press">im Druck</term>+ <term name="internet">Internet</term>+ <term name="interview">Interview</term>+ <term name="letter">Brief</term>+ <term name="no date">ohne Datum</term>+ <term name="no date" form="short">o. J.</term>+ <term name="online">online</term>+ <term name="presented at">gehalten auf der</term>+ <term name="reference">+ <single>Referenz</single>+ <multiple>Referenzen</multiple>+ </term>+ <term name="reference" form="short">+ <single>Ref.</single>+ <multiple>Ref.</multiple>+ </term>+ <term name="retrieved">abgerufen</term>+ <term name="scale">Maßstab</term>+ <term name="version">Version</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad"> n. Chr.</term>+ <term name="bc"> v. Chr.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">„</term>+ <term name="close-quote">“</term>+ <term name="open-inner-quote">‚</term>+ <term name="close-inner-quote">‘</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">.</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">erster</term>+ <term name="long-ordinal-02">zweiter</term>+ <term name="long-ordinal-03">dritter</term>+ <term name="long-ordinal-04">vierter</term>+ <term name="long-ordinal-05">fünfter</term>+ <term name="long-ordinal-06">sechster</term>+ <term name="long-ordinal-07">siebter</term>+ <term name="long-ordinal-08">achter</term>+ <term name="long-ordinal-09">neunter</term>+ <term name="long-ordinal-10">zehnter</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>Buch</single>+ <multiple>Bücher</multiple>+ </term>+ <term name="chapter">+ <single>Kapitel</single>+ <multiple>Kapitel</multiple>+ </term>+ <term name="column">+ <single>Spalte</single>+ <multiple>Spalten</multiple>+ </term>+ <term name="figure">+ <single>Abbildung</single>+ <multiple>Abbildungen</multiple>+ </term>+ <term name="folio">+ <single>Blatt</single>+ <multiple>Blätter</multiple>+ </term>+ <term name="issue">+ <single>Nummer</single>+ <multiple>Nummern</multiple>+ </term>+ <term name="line">+ <single>Zeile</single>+ <multiple>Zeilen</multiple>+ </term>+ <term name="note">+ <single>Note</single>+ <multiple>Noten</multiple>+ </term>+ <term name="opus">+ <single>Opus</single>+ <multiple>Opera</multiple>+ </term>+ <term name="page">+ <single>Seite</single>+ <multiple>Seiten</multiple>+ </term>+ <term name="number-of-pages">+ <single>Seite</single>+ <multiple>Seiten</multiple>+ </term>+ <term name="paragraph">+ <single>Absatz</single>+ <multiple>Absätze</multiple>+ </term>+ <term name="part">+ <single>Teil</single>+ <multiple>Teile</multiple>+ </term>+ <term name="section">+ <single>Abschnitt</single>+ <multiple>Abschnitte</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>Vers</single>+ <multiple>Verse</multiple>+ </term>+ <term name="volume">+ <single>Band</single>+ <multiple>Bände</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">B.</term>+ <term name="chapter" form="short">Kap.</term>+ <term name="column" form="short">Sp.</term>+ <term name="figure" form="short">Abb.</term>+ <term name="folio" form="short">Fol.</term>+ <term name="issue" form="short">Nr.</term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">+ <single>S.</single>+ <multiple>S.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>S.</single>+ <multiple>S.</multiple>+ </term>+ <term name="paragraph" form="short">Abs.</term>+ <term name="part" form="short">Teil</term>+ <term name="section" form="short">Abschn.</term>+ <term name="sub verbo" form="short">+ <single>s. v.</single>+ <multiple>s. vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>V.</single>+ <multiple>V.</multiple>+ </term>+ <term name="volume" form="short">+ <single>Bd.</single>+ <multiple>Bd.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>Regisseur</single>+ <multiple>Regisseure</multiple>+ </term>+ <term name="editor">+ <single>Herausgeber</single>+ <multiple>Herausgeber</multiple>+ </term>+ <term name="collection-editor">+ <single>Reihenherausgeber</single>+ <multiple>Reihenherausgeber</multiple>+ </term>+ <term name="editorial-director">+ <single>Herausgeber</single>+ <multiple>Herausgeber</multiple>+ </term>+ <term name="illustrator">+ <single>Illustrator</single>+ <multiple>Illustratoren</multiple>+ </term>+ <term name="translator">+ <single>Übersetzer</single>+ <multiple>Übersetzer</multiple>+ </term>+ <term name="editortranslator">+ <single>Herausgeber & Übersetzer</single>+ <multiple>Herausgeber & Übersetzer</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>Reg.</single>+ <multiple>Reg.</multiple>+ </term>+ <term name="editor" form="short">+ <single>Hrsg.</single>+ <multiple>Hrsg.</multiple>+ </term>+ <term name="collection-editor" form="short">+ <single>Hrsg.</single>+ <multiple>Hrsg.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>Hrsg.</single>+ <multiple>Hrsg.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>Ill.</single>+ <multiple>Ill.</multiple>+ </term>+ <term name="translator" form="short">+ <single>Übers.</single>+ <multiple>Übers.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>Hrsg. & Übers.</single>+ <multiple>Hrsg. & Übers</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">von</term>+ <term name="director" form="verb">Regie von</term>+ <term name="editor" form="verb">herausgegeben von</term>+ <term name="collection-editor" form="verb">herausgegeben von</term>+ <term name="editorial-director" form="verb">herausgegeben von</term>+ <term name="illustrator" form="verb">illustriert von</term>+ <term name="interviewer" form="verb">interviewt von</term>+ <term name="recipient" form="verb">an</term>+ <term name="reviewed-author" form="verb">von</term>+ <term name="translator" form="verb">übersetzt von</term>+ <term name="editortranslator" form="verb">herausgegeben und übersetzt von</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">Reg.</term>+ <term name="editor" form="verb-short">hg. von</term>+ <term name="collection-editor" form="verb-short">hg. von</term>+ <term name="editorial-director" form="verb-short">hg. von</term>+ <term name="illustrator" form="verb-short">illus. von</term>+ <term name="translator" form="verb-short">übers. von</term>+ <term name="editortranslator" form="verb-short">hg. & übers. von</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">Jänner</term>+ <term name="month-02">Februar</term>+ <term name="month-03">März</term>+ <term name="month-04">April</term>+ <term name="month-05">Mai</term>+ <term name="month-06">Juni</term>+ <term name="month-07">Juli</term>+ <term name="month-08">August</term>+ <term name="month-09">September</term>+ <term name="month-10">Oktober</term>+ <term name="month-11">November</term>+ <term name="month-12">Dezember</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">Jän.</term>+ <term name="month-02" form="short">Feb.</term>+ <term name="month-03" form="short">März</term>+ <term name="month-04" form="short">Apr.</term>+ <term name="month-05" form="short">Mai</term>+ <term name="month-06" form="short">Juni</term>+ <term name="month-07" form="short">Juli</term>+ <term name="month-08" form="short">Aug.</term>+ <term name="month-09" form="short">Sep.</term>+ <term name="month-10" form="short">Okt.</term>+ <term name="month-11" form="short">Nov.</term>+ <term name="month-12" form="short">Dez.</term>++ <!-- SEASONS -->+ <term name="season-01">Frühjahr</term>+ <term name="season-02">Sommer</term>+ <term name="season-03">Herbst</term>+ <term name="season-04">Winter</term>+ </terms>+</locale>
+ locales/de-CH.xml view
@@ -0,0 +1,318 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="de-CH">+ <info>+ <translator>+ <name>Till A. Heilmann</name>+ </translator>+ <translator>+ <name>Sylvester Keil</name>+ </translator>+ <translator>+ <name>jakov</name>+ </translator>+ <translator>+ <name>Sebastian Karcher</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" form="ordinal" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="."/>+ <date-part name="month" form="numeric-leading-zeros" suffix="."/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">zugegriffen</term>+ <term name="and">und</term>+ <term name="and others">und andere</term>+ <term name="anonymous">ohne Autor</term>+ <term name="anonymous" form="short">o. A.</term>+ <term name="at">auf</term>+ <term name="available at">verfügbar unter</term>+ <term name="by">von</term>+ <term name="circa">circa</term>+ <term name="circa" form="short">ca.</term>+ <term name="cited">zitiert</term>+ <term name="edition">+ <single>Auflage</single>+ <multiple>Auflagen</multiple>+ </term>+ <term name="edition" form="short">Aufl.</term>+ <term name="et-al">u. a.</term>+ <term name="forthcoming">i. E.</term>+ <term name="from">von</term>+ <term name="ibid">ebd.</term>+ <term name="in">in</term>+ <term name="in press">im Druck</term>+ <term name="internet">Internet</term>+ <term name="interview">Interview</term>+ <term name="letter">Brief</term>+ <term name="no date">ohne Datum</term>+ <term name="no date" form="short">o. J.</term>+ <term name="online">online</term>+ <term name="presented at">gehalten auf der</term>+ <term name="reference">+ <single>Referenz</single>+ <multiple>Referenzen</multiple>+ </term>+ <term name="reference" form="short">+ <single>Ref.</single>+ <multiple>Ref.</multiple>+ </term>+ <term name="retrieved">abgerufen</term>+ <term name="scale">Massstab</term>+ <term name="version">Version</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad"> n. Chr.</term>+ <term name="bc"> v. Chr.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">«</term>+ <term name="close-quote">»</term>+ <term name="open-inner-quote">‹</term>+ <term name="close-inner-quote">›</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">.</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">erster</term>+ <term name="long-ordinal-02">zweiter</term>+ <term name="long-ordinal-03">dritter</term>+ <term name="long-ordinal-04">vierter</term>+ <term name="long-ordinal-05">fünfter</term>+ <term name="long-ordinal-06">sechster</term>+ <term name="long-ordinal-07">siebter</term>+ <term name="long-ordinal-08">achter</term>+ <term name="long-ordinal-09">neunter</term>+ <term name="long-ordinal-10">zehnter</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>Buch</single>+ <multiple>Bücher</multiple>+ </term>+ <term name="chapter">+ <single>Kapitel</single>+ <multiple>Kapitel</multiple>+ </term>+ <term name="column">+ <single>Spalte</single>+ <multiple>Spalten</multiple>+ </term>+ <term name="figure">+ <single>Abbildung</single>+ <multiple>Abbildungen</multiple>+ </term>+ <term name="folio">+ <single>Blatt</single>+ <multiple>Blätter</multiple>+ </term>+ <term name="issue">+ <single>Nummer</single>+ <multiple>Nummern</multiple>+ </term>+ <term name="line">+ <single>Zeile</single>+ <multiple>Zeilen</multiple>+ </term>+ <term name="note">+ <single>Note</single>+ <multiple>Noten</multiple>+ </term>+ <term name="opus">+ <single>Opus</single>+ <multiple>Opera</multiple>+ </term>+ <term name="page">+ <single>Seite</single>+ <multiple>Seiten</multiple>+ </term>+ <term name="number-of-pages">+ <single>Seite</single>+ <multiple>Seiten</multiple>+ </term>+ <term name="paragraph">+ <single>Absatz</single>+ <multiple>Absätze</multiple>+ </term>+ <term name="part">+ <single>Teil</single>+ <multiple>Teile</multiple>+ </term>+ <term name="section">+ <single>Abschnitt</single>+ <multiple>Abschnitte</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>Vers</single>+ <multiple>Verse</multiple>+ </term>+ <term name="volume">+ <single>Band</single>+ <multiple>Bände</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">B.</term>+ <term name="chapter" form="short">Kap.</term>+ <term name="column" form="short">Sp.</term>+ <term name="figure" form="short">Abb.</term>+ <term name="folio" form="short">Fol.</term>+ <term name="issue" form="short">Nr.</term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">+ <single>S.</single>+ <multiple>S.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>S.</single>+ <multiple>S.</multiple>+ </term>+ <term name="paragraph" form="short">Abs.</term>+ <term name="part" form="short">Teil</term>+ <term name="section" form="short">Abschn.</term>+ <term name="sub verbo" form="short">+ <single>s. v.</single>+ <multiple>s. vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>V.</single>+ <multiple>V.</multiple>+ </term>+ <term name="volume" form="short">+ <single>Bd.</single>+ <multiple>Bd.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>Regisseur</single>+ <multiple>Regisseure</multiple>+ </term>+ <term name="editor">+ <single>Herausgeber</single>+ <multiple>Herausgeber</multiple>+ </term>+ <term name="editorial-director">+ <single>Herausgeber</single>+ <multiple>Herausgeber</multiple>+ </term>+ <term name="illustrator">+ <single>Illustrator</single>+ <multiple>Illustratoren</multiple>+ </term>+ <term name="translator">+ <single>Übersetzer</single>+ <multiple>Übersetzer</multiple>+ </term>+ <term name="editortranslator">+ <single>Herausgeber & Übersetzer</single>+ <multiple>Herausgeber & Übersetzer</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>Reg.</single>+ <multiple>Reg.</multiple>+ </term>+ <term name="editor" form="short">+ <single>Hrsg.</single>+ <multiple>Hrsg.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>Hrsg.</single>+ <multiple>Hrsg.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>Ill.</single>+ <multiple>Ill.</multiple>+ </term>+ <term name="translator" form="short">+ <single>Übers.</single>+ <multiple>Übers.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>Hrsg. & Übers.</single>+ <multiple>Hrsg. & Übers</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">von</term>+ <term name="director" form="verb">Regie von</term>+ <term name="editor" form="verb">herausgegeben von</term>+ <term name="editorial-director" form="verb">herausgegeben von</term>+ <term name="illustrator" form="verb">illustriert von</term>+ <term name="interviewer" form="verb">interviewt von</term>+ <term name="recipient" form="verb">an</term>+ <term name="reviewed-author" form="verb">von</term>+ <term name="translator" form="verb">übersetzt von</term>+ <term name="editortranslator" form="verb">herausgegeben und übersetzt von</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">Reg.</term>+ <term name="editor" form="verb-short">hg. von</term>+ <term name="editorial-director" form="verb-short">hg. von</term>+ <term name="illustrator" form="verb-short">illus. von</term>+ <term name="translator" form="verb-short">übers. von</term>+ <term name="editortranslator" form="verb-short">hg. & übers. von</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">Januar</term>+ <term name="month-02">Februar</term>+ <term name="month-03">März</term>+ <term name="month-04">April</term>+ <term name="month-05">Mai</term>+ <term name="month-06">Juni</term>+ <term name="month-07">Juli</term>+ <term name="month-08">August</term>+ <term name="month-09">September</term>+ <term name="month-10">Oktober</term>+ <term name="month-11">November</term>+ <term name="month-12">Dezember</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">Jan.</term>+ <term name="month-02" form="short">Feb.</term>+ <term name="month-03" form="short">März</term>+ <term name="month-04" form="short">Apr.</term>+ <term name="month-05" form="short">Mai</term>+ <term name="month-06" form="short">Juni</term>+ <term name="month-07" form="short">Juli</term>+ <term name="month-08" form="short">Aug.</term>+ <term name="month-09" form="short">Sep.</term>+ <term name="month-10" form="short">Okt.</term>+ <term name="month-11" form="short">Nov.</term>+ <term name="month-12" form="short">Dez.</term>++ <!-- SEASONS -->+ <term name="season-01">Frühjahr</term>+ <term name="season-02">Sommer</term>+ <term name="season-03">Herbst</term>+ <term name="season-04">Winter</term>+ </terms>+</locale>
+ locales/de-DE.xml view
@@ -0,0 +1,331 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="de-DE">+ <info>+ <translator>+ <name>Till A. Heilmann</name>+ </translator>+ <translator>+ <name>Ulrich</name>+ </translator>+ <translator>+ <name>Rintze M. Zelle</name>+ </translator>+ <translator>+ <name>Sebastian Karcher</name>+ </translator>+ <translator>+ <name>jakov</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" form="ordinal" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="."/>+ <date-part name="month" form="numeric-leading-zeros" suffix="."/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">zugegriffen</term>+ <term name="and">und</term>+ <term name="and others">und andere</term>+ <term name="anonymous">ohne Autor</term>+ <term name="anonymous" form="short">o. A.</term>+ <term name="at">auf</term>+ <term name="available at">verfügbar unter</term>+ <term name="by">von</term>+ <term name="circa">circa</term>+ <term name="circa" form="short">ca.</term>+ <term name="cited">zitiert</term>+ <term name="edition">+ <single>Auflage</single>+ <multiple>Auflagen</multiple>+ </term>+ <term name="edition" form="short">Aufl.</term>+ <term name="et-al">u. a.</term>+ <term name="forthcoming">i. E.</term>+ <term name="from">von</term>+ <term name="ibid">ebd.</term>+ <term name="in">in</term>+ <term name="in press">im Druck</term>+ <term name="internet">Internet</term>+ <term name="interview">Interview</term>+ <term name="letter">Brief</term>+ <term name="no date">ohne Datum</term>+ <term name="no date" form="short">o. J.</term>+ <term name="online">online</term>+ <term name="presented at">gehalten auf der</term>+ <term name="reference">+ <single>Referenz</single>+ <multiple>Referenzen</multiple>+ </term>+ <term name="reference" form="short">+ <single>Ref.</single>+ <multiple>Ref.</multiple>+ </term>+ <term name="retrieved">abgerufen</term>+ <term name="scale">Maßstab</term>+ <term name="version">Version</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad"> n. Chr.</term>+ <term name="bc"> v. Chr.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">„</term>+ <term name="close-quote">“</term>+ <term name="open-inner-quote">‚</term>+ <term name="close-inner-quote">‘</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">.</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">erster</term>+ <term name="long-ordinal-02">zweiter</term>+ <term name="long-ordinal-03">dritter</term>+ <term name="long-ordinal-04">vierter</term>+ <term name="long-ordinal-05">fünfter</term>+ <term name="long-ordinal-06">sechster</term>+ <term name="long-ordinal-07">siebter</term>+ <term name="long-ordinal-08">achter</term>+ <term name="long-ordinal-09">neunter</term>+ <term name="long-ordinal-10">zehnter</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>Buch</single>+ <multiple>Bücher</multiple>+ </term>+ <term name="chapter">+ <single>Kapitel</single>+ <multiple>Kapitel</multiple>+ </term>+ <term name="column">+ <single>Spalte</single>+ <multiple>Spalten</multiple>+ </term>+ <term name="figure">+ <single>Abbildung</single>+ <multiple>Abbildungen</multiple>+ </term>+ <term name="folio">+ <single>Blatt</single>+ <multiple>Blätter</multiple>+ </term>+ <term name="issue">+ <single>Nummer</single>+ <multiple>Nummern</multiple>+ </term>+ <term name="line">+ <single>Zeile</single>+ <multiple>Zeilen</multiple>+ </term>+ <term name="note">+ <single>Note</single>+ <multiple>Noten</multiple>+ </term>+ <term name="opus">+ <single>Opus</single>+ <multiple>Opera</multiple>+ </term>+ <term name="page">+ <single>Seite</single>+ <multiple>Seiten</multiple>+ </term>+ <term name="number-of-pages">+ <single>Seite</single>+ <multiple>Seiten</multiple>+ </term>+ <term name="paragraph">+ <single>Absatz</single>+ <multiple>Absätze</multiple>+ </term>+ <term name="part">+ <single>Teil</single>+ <multiple>Teile</multiple>+ </term>+ <term name="section">+ <single>Abschnitt</single>+ <multiple>Abschnitte</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>Vers</single>+ <multiple>Verse</multiple>+ </term>+ <term name="volume">+ <single>Band</single>+ <multiple>Bände</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">B.</term>+ <term name="chapter" form="short">Kap.</term>+ <term name="column" form="short">Sp.</term>+ <term name="figure" form="short">Abb.</term>+ <term name="folio" form="short">Fol.</term>+ <term name="issue" form="short">Nr.</term>+ <term name="line" form="short">Z.</term>+ <term name="note" form="short">N.</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">+ <single>S.</single>+ <multiple>S.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>S.</single>+ <multiple>S.</multiple>+ </term>+ <term name="paragraph" form="short">Abs.</term>+ <term name="part" form="short">Teil</term>+ <term name="section" form="short">Abschn.</term>+ <term name="sub verbo" form="short">+ <single>s. v.</single>+ <multiple>s. vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>V.</single>+ <multiple>V.</multiple>+ </term>+ <term name="volume" form="short">+ <single>Bd.</single>+ <multiple>Bde.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>Regisseur</single>+ <multiple>Regisseure</multiple>+ </term>+ <term name="editor">+ <single>Herausgeber</single>+ <multiple>Herausgeber</multiple>+ </term>+ <term name="collection-editor">+ <single>Reihenherausgeber</single>+ <multiple>Reihenherausgeber</multiple>+ </term>+ <term name="editorial-director">+ <single>Herausgeber</single>+ <multiple>Herausgeber</multiple>+ </term>+ <term name="illustrator">+ <single>Illustrator</single>+ <multiple>Illustratoren</multiple>+ </term>+ <term name="translator">+ <single>Übersetzer</single>+ <multiple>Übersetzer</multiple>+ </term>+ <term name="editortranslator">+ <single>Herausgeber & Übersetzer</single>+ <multiple>Herausgeber & Übersetzer</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>Reg.</single>+ <multiple>Reg.</multiple>+ </term>+ <term name="editor" form="short">+ <single>Hrsg.</single>+ <multiple>Hrsg.</multiple>+ </term>+ <term name="collection-editor" form="short">+ <single>Hrsg.</single>+ <multiple>Hrsg.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>Hrsg.</single>+ <multiple>Hrsg.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>Ill.</single>+ <multiple>Ill.</multiple>+ </term>+ <term name="translator" form="short">+ <single>Übers.</single>+ <multiple>Übers.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>Hrsg. & Übers.</single>+ <multiple>Hrsg. & Übers</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">von</term>+ <term name="director" form="verb">Regie von</term>+ <term name="editor" form="verb">herausgegeben von</term>+ <term name="collection-editor" form="verb">herausgegeben von</term>+ <term name="editorial-director" form="verb">herausgegeben von</term>+ <term name="illustrator" form="verb">illustriert von</term>+ <term name="interviewer" form="verb">interviewt von</term>+ <term name="recipient" form="verb">an</term>+ <term name="reviewed-author" form="verb">von</term>+ <term name="translator" form="verb">übersetzt von</term>+ <term name="editortranslator" form="verb">herausgegeben und übersetzt von</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">Reg.</term>+ <term name="editor" form="verb-short">hg. von</term>+ <term name="collection-editor" form="verb-short">hg. von</term>+ <term name="editorial-director" form="verb-short">hg. von</term>+ <term name="illustrator" form="verb-short">illus. von</term>+ <term name="translator" form="verb-short">übers. von</term>+ <term name="editortranslator" form="verb-short">hg. & übers. von</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">Januar</term>+ <term name="month-02">Februar</term>+ <term name="month-03">März</term>+ <term name="month-04">April</term>+ <term name="month-05">Mai</term>+ <term name="month-06">Juni</term>+ <term name="month-07">Juli</term>+ <term name="month-08">August</term>+ <term name="month-09">September</term>+ <term name="month-10">Oktober</term>+ <term name="month-11">November</term>+ <term name="month-12">Dezember</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">Jan.</term>+ <term name="month-02" form="short">Feb.</term>+ <term name="month-03" form="short">März</term>+ <term name="month-04" form="short">Apr.</term>+ <term name="month-05" form="short">Mai</term>+ <term name="month-06" form="short">Juni</term>+ <term name="month-07" form="short">Juli</term>+ <term name="month-08" form="short">Aug.</term>+ <term name="month-09" form="short">Sep.</term>+ <term name="month-10" form="short">Okt.</term>+ <term name="month-11" form="short">Nov.</term>+ <term name="month-12" form="short">Dez.</term>++ <!-- SEASONS -->+ <term name="season-01">Frühjahr</term>+ <term name="season-02">Sommer</term>+ <term name="season-03">Herbst</term>+ <term name="season-04">Winter</term>+ </terms>+</locale>
+ locales/el-GR.xml view
@@ -0,0 +1,314 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="el-GR">+ <info>+ <translator>+ <name>thanasis57</name>+ </translator>+ <translator>+ <name>dimtamb</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2013-11-08T20:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">ημερομηνία πρόσβασης</term>+ <term name="and">και</term>+ <term name="and others">και άλλοι</term>+ <term name="anonymous">ανώνυμο</term>+ <term name="anonymous" form="short">ανών.</term>+ <term name="at">εφ.</term>+ <term name="available at">διαθέσιμο στο</term>+ <term name="by">από</term>+ <term name="circa">περίπου</term>+ <term name="circa" form="short">περ.</term>+ <term name="cited">παρατίθεται</term>+ <term name="edition" gender="feminine">+ <single>έκδοση</single>+ <multiple>εκδόσεις</multiple>+ </term>+ <term name="edition" form="short">έκδ.</term>+ <term name="et-al">κ.ά.</term>+ <term name="forthcoming">προσεχές</term>+ <term name="from">από</term>+ <term name="ibid">στο ίδιο</term>+ <term name="in">στο</term>+ <term name="in press">υπό έκδοση</term>+ <term name="internet">διαδίκτυο</term>+ <term name="interview">συνέντευξη</term>+ <term name="letter">επιστολή</term>+ <term name="no date">χωρίς χρονολογία</term>+ <term name="no date" form="short">χ.χ.</term>+ <term name="online">έκδοση σε ψηφιακή μορφή</term>+ <term name="presented at">παρουσιάστηκε στο</term>+ <term name="reference">+ <single>παραπομπή</single>+ <multiple>παραπομπές</multiple>+ </term>+ <term name="reference" form="short">+ <single>παρ.</single>+ <multiple>παρ.</multiple>+ </term>+ <term name="retrieved">ανακτήθηκε</term>+ <term name="scale">κλίμακα</term>+ <term name="version">εκδοχή</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">μ.Χ.</term>+ <term name="bc">π.Χ.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">‘</term>+ <term name="close-quote">’</term>+ <term name="open-inner-quote">'</term>+ <term name="close-inner-quote">'</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">ο</term>+ <term name="ordinal-01" gender-form="feminine" match="whole-number">η</term>+ <term name="ordinal-01" gender-form="masculine" match="whole-number">ος</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">πρώτος</term>+ <term name="long-ordinal-02">δεύτερος</term>+ <term name="long-ordinal-03">τρίτος</term>+ <term name="long-ordinal-04">τέταρτος</term>+ <term name="long-ordinal-05">πέμπτος</term>+ <term name="long-ordinal-06">έκτος</term>+ <term name="long-ordinal-07">έβδομος</term>+ <term name="long-ordinal-08">όγδοος</term>+ <term name="long-ordinal-09">ένατος</term>+ <term name="long-ordinal-10">δέκατος</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>βιβλίο</single>+ <multiple>βιβλία</multiple>+ </term>+ <term name="chapter">+ <single>κεφάλαιο</single>+ <multiple>κεφάλαια</multiple>+ </term>+ <term name="column">+ <single>στήλη</single>+ <multiple>στήλες</multiple>+ </term>+ <term name="figure">+ <single>εικόνα</single>+ <multiple>εικόνες</multiple>+ </term>+ <term name="folio">+ <single>φάκελος</single>+ <multiple>φάκελοι</multiple>+ </term>+ <term name="issue">+ <single>τεύχος</single>+ <multiple>τεύχη</multiple>+ </term>+ <term name="line">+ <single>σειρά</single>+ <multiple>σειρές</multiple>+ </term>+ <term name="note">+ <single>σημείωση</single>+ <multiple>σημειώσεις</multiple>+ </term>+ <term name="opus">+ <single>έργο</single>+ <multiple>έργα</multiple>+ </term>+ <term name="page">+ <single>σελίδα</single>+ <multiple>σελίδες</multiple>+ </term>+ <term name="number-of-pages">+ <single>σελίδα</single>+ <multiple>σελίδες</multiple>+ </term>+ <term name="paragraph">+ <single>παράγραφος</single>+ <multiple>παράγραφοι</multiple>+ </term>+ <term name="part">+ <single>μέρος</single>+ <multiple>μέρη</multiple>+ </term>+ <term name="section">+ <single>τμήμα</single>+ <multiple>τμήματα</multiple>+ </term>+ <term name="sub verbo">+ <single>λήμμα</single>+ <multiple>λήμματα</multiple>+ </term>+ <term name="verse">+ <single>στίχος</single>+ <multiple>στίχοι</multiple>+ </term>+ <term name="volume">+ <single>τόμος</single>+ <multiple>τόμοι</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">βιβ.</term>+ <term name="chapter" form="short">κεφ.</term>+ <term name="column" form="short">στ.</term>+ <term name="figure" form="short">εικ.</term>+ <term name="folio" form="short">φάκ</term>+ <term name="issue" form="short">τχ.</term>+ <term name="line" form="short">γρ.</term>+ <term name="note" form="short">σημ.</term>+ <term name="opus" form="short">έργ.</term>+ <term name="page" form="short">+ <single>σ.</single>+ <multiple>σσ.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>σ.</single>+ <multiple>σσ.</multiple>+ </term>+ <term name="paragraph" form="short">παρ.</term>+ <term name="part" form="short">μέρ.</term>+ <term name="section" form="short">τμ.</term>+ <term name="sub verbo" form="short">+ <single>λήμ.</single>+ <multiple>λήμ.</multiple>+ </term>+ <term name="verse" form="short">+ <single>στ.</single>+ <multiple>στ.</multiple>+ </term>+ <term name="volume" form="short">+ <single>τ.</single>+ <multiple>τ.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>Διευθυντής</single>+ <multiple>Διευθυντές</multiple>+ </term>+ <term name="editor">+ <single>επιμελητής</single>+ <multiple>επιμελητές</multiple>+ </term>+ <term name="editorial-director">+ <single>διευθυντής σειράς</single>+ <multiple>διευθυντές σειράς</multiple>+ </term>+ <term name="illustrator">+ <single>εικονογράφος</single>+ <multiple>εικονογράφοι</multiple>+ </term>+ <term name="translator">+ <single>μεταφραστής</single>+ <multiple>μεταφραστές</multiple>+ </term>+ <term name="editortranslator">+ <single>μεταφραστής και επιμελητής</single>+ <multiple>μεταφραστές και επιμελητές</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>δ/ντης.</single>+ <multiple>δ/ντές.</multiple>+ </term>+ <term name="editor" form="short">+ <single>επιμ.</single>+ <multiple>επιμ.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>δ/ντής σειράς</single>+ <multiple>δ/ντές σειρας</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>εικ.</single>+ <multiple>εικ..</multiple>+ </term>+ <term name="translator" form="short">+ <single>μτφ.</single>+ <multiple>μτφ.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>μτφ. και επιμ.</single>+ <multiple>μτφ. και επιμ.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">στον συλλ. τόμο</term>+ <term name="director" form="verb">διεύθυνση</term>+ <term name="editor" form="verb">επιμέλεια</term>+ <term name="editorial-director" form="verb">διεύθυνση σειράς</term>+ <term name="illustrator" form="verb">εικονογράφηση:</term>+ <term name="interviewer" form="verb">συνέντευξη</term>+ <term name="recipient" form="verb">παραλήπτης</term>+ <term name="reviewed-author" form="verb">συγγραφέας:</term>+ <term name="translator" form="verb">μετάφραση</term>+ <term name="editortranslator" form="verb">μετάφραση και επιμέλεια</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">διευθ.</term>+ <term name="editor" form="verb-short">επιμέλ.</term>+ <term name="editorial-director" form="verb-short">δ/νση σειράς</term>+ <term name="illustrator" form="verb-short">εικον.</term>+ <term name="translator" form="verb-short">μετάφρ.</term>+ <term name="editortranslator" form="verb-short">μετάφρ. και επιμέλ.</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">Ιανουάριος</term>+ <term name="month-02">Φεβρουάριος</term>+ <term name="month-03">Μάρτιος</term>+ <term name="month-04">Απρίλιος</term>+ <term name="month-05">Μάιος</term>+ <term name="month-06">Ιούνιος</term>+ <term name="month-07">Ιούλιος</term>+ <term name="month-08">Αύγουστος</term>+ <term name="month-09">Σεπτέμβριος</term>+ <term name="month-10">Οκτώβριος</term>+ <term name="month-11">Νοέμβριος</term>+ <term name="month-12">Δεκέμβριος</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">Ιανουαρίου</term>+ <term name="month-02" form="short">Φεβρουαρίου</term>+ <term name="month-03" form="short">Μαρτίου</term>+ <term name="month-04" form="short">Απριλίου</term>+ <term name="month-05" form="short">Μαΐου</term>+ <term name="month-06" form="short">Ιουνίου</term>+ <term name="month-07" form="short">Ιουλίου</term>+ <term name="month-08" form="short">Αυγούστου</term>+ <term name="month-09" form="short">Σεπτεμβρίου</term>+ <term name="month-10" form="short">Οκτωβρίου</term>+ <term name="month-11" form="short">Νοεμβρίου</term>+ <term name="month-12" form="short">Δεκεμβρίου</term>++ <!-- SEASONS -->+ <term name="season-01">Άνοιξη</term>+ <term name="season-02">Καλοκαίρι</term>+ <term name="season-03">Φθινόπωρο</term>+ <term name="season-04">Χειμώνας</term>+ </terms>+</locale>
+ locales/en-GB.xml view
@@ -0,0 +1,357 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="en-GB">+ <info>+ <translator>+ <name>Andrew Dunning</name>+ </translator>+ <translator>+ <name>Sebastian Karcher</name>+ </translator>+ <translator>+ <name>Rintze M. Zelle</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2015-10-10T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">accessed</term>+ <term name="and">and</term>+ <term name="and others">and others</term>+ <term name="anonymous">anonymous</term>+ <term name="anonymous" form="short">anon.</term>+ <term name="at">at</term>+ <term name="available at">available at</term>+ <term name="by">by</term>+ <term name="circa">circa</term>+ <term name="circa" form="short">c.</term>+ <term name="cited">cited</term>+ <term name="edition">+ <single>edition</single>+ <multiple>editions</multiple>+ </term>+ <term name="edition" form="short">ed.</term>+ <term name="et-al">et al.</term>+ <term name="forthcoming">forthcoming</term>+ <term name="from">from</term>+ <term name="ibid">ibid.</term>+ <term name="in">in</term>+ <term name="in press">in press</term>+ <term name="internet">internet</term>+ <term name="interview">interview</term>+ <term name="letter">letter</term>+ <term name="no date">no date</term>+ <term name="no date" form="short">n.d.</term>+ <term name="online">online</term>+ <term name="presented at">presented at the</term>+ <term name="reference">+ <single>reference</single>+ <multiple>references</multiple>+ </term>+ <term name="reference" form="short">+ <single>ref.</single>+ <multiple>refs.</multiple>+ </term>+ <term name="retrieved">retrieved</term>+ <term name="scale">scale</term>+ <term name="version">version</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">AD</term>+ <term name="bc">BC</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">‘</term>+ <term name="close-quote">’</term>+ <term name="open-inner-quote">“</term>+ <term name="close-inner-quote">”</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">th</term>+ <term name="ordinal-01">st</term>+ <term name="ordinal-02">nd</term>+ <term name="ordinal-03">rd</term>+ <term name="ordinal-11">th</term>+ <term name="ordinal-12">th</term>+ <term name="ordinal-13">th</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">first</term>+ <term name="long-ordinal-02">second</term>+ <term name="long-ordinal-03">third</term>+ <term name="long-ordinal-04">fourth</term>+ <term name="long-ordinal-05">fifth</term>+ <term name="long-ordinal-06">sixth</term>+ <term name="long-ordinal-07">seventh</term>+ <term name="long-ordinal-08">eighth</term>+ <term name="long-ordinal-09">ninth</term>+ <term name="long-ordinal-10">tenth</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>book</single>+ <multiple>books</multiple>+ </term>+ <term name="chapter">+ <single>chapter</single>+ <multiple>chapters</multiple>+ </term>+ <term name="column">+ <single>column</single>+ <multiple>columns</multiple>+ </term>+ <term name="figure">+ <single>figure</single>+ <multiple>figures</multiple>+ </term>+ <term name="folio">+ <single>folio</single>+ <multiple>folios</multiple>+ </term>+ <term name="issue">+ <single>number</single>+ <multiple>numbers</multiple>+ </term>+ <term name="line">+ <single>line</single>+ <multiple>lines</multiple>+ </term>+ <term name="note">+ <single>note</single>+ <multiple>notes</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opera</multiple>+ </term>+ <term name="page">+ <single>page</single>+ <multiple>pages</multiple>+ </term>+ <term name="number-of-pages">+ <single>page</single>+ <multiple>pages</multiple>+ </term>+ <term name="paragraph">+ <single>paragraph</single>+ <multiple>paragraphs</multiple>+ </term>+ <term name="part">+ <single>part</single>+ <multiple>parts</multiple>+ </term>+ <term name="section">+ <single>section</single>+ <multiple>sections</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>verse</single>+ <multiple>verses</multiple>+ </term>+ <term name="volume">+ <single>volume</single>+ <multiple>volumes</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">+ <single>bk.</single>+ <multiple>bks</multiple>+ </term>+ <term name="chapter" form="short">+ <single>chap.</single>+ <multiple>chaps</multiple>+ </term>+ <term name="column" form="short">+ <single>col.</single>+ <multiple>cols</multiple>+ </term>+ <term name="figure" form="short">+ <single>fig.</single>+ <multiple>figs</multiple>+ </term>+ <term name="folio" form="short">+ <single>fol.</single>+ <multiple>fols</multiple>+ </term>+ <term name="issue" form="short">+ <single>no.</single>+ <multiple>nos.</multiple>+ </term>+ <term name="line" form="short">+ <single>l.</single>+ <multiple>ll.</multiple>+ </term>+ <term name="note" form="short">+ <single>n.</single>+ <multiple>nn.</multiple>+ </term>+ <term name="opus" form="short">+ <single>op.</single>+ <multiple>opp.</multiple>+ </term>+ <term name="page" form="short">+ <single>p.</single>+ <multiple>pp.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>p.</single>+ <multiple>pp.</multiple>+ </term>+ <term name="paragraph" form="short">+ <single>para.</single>+ <multiple>paras</multiple>+ </term>+ <term name="part" form="short">+ <single>pt.</single>+ <multiple>pts</multiple>+ </term>+ <term name="section" form="short">+ <single>sec.</single>+ <multiple>secs</multiple>+ </term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>v.</single>+ <multiple>vv.</multiple>+ </term>+ <term name="volume" form="short">+ <single>vol.</single>+ <multiple>vols</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>director</single>+ <multiple>directors</multiple>+ </term>+ <term name="editor">+ <single>editor</single>+ <multiple>editors</multiple>+ </term>+ <term name="editorial-director">+ <single>editor</single>+ <multiple>editors</multiple>+ </term>+ <term name="illustrator">+ <single>illustrator</single>+ <multiple>illustrators</multiple>+ </term>+ <term name="translator">+ <single>translator</single>+ <multiple>translators</multiple>+ </term>+ <term name="editortranslator">+ <single>editor & translator</single>+ <multiple>editors & translators</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>dir.</single>+ <multiple>dirs.</multiple>+ </term>+ <term name="editor" form="short">+ <single>ed.</single>+ <multiple>eds.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>ed.</single>+ <multiple>eds.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>ill.</single>+ <multiple>ills.</multiple>+ </term>+ <term name="translator" form="short">+ <single>tran.</single>+ <multiple>trans.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>ed. & tran.</single>+ <multiple>eds. & trans.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">by</term>+ <term name="director" form="verb">directed by</term>+ <term name="editor" form="verb">edited by</term>+ <term name="editorial-director" form="verb">edited by</term>+ <term name="illustrator" form="verb">illustrated by</term>+ <term name="interviewer" form="verb">interview by</term>+ <term name="recipient" form="verb">to</term>+ <term name="reviewed-author" form="verb">by</term>+ <term name="translator" form="verb">translated by</term>+ <term name="editortranslator" form="verb">edited & translated by</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">dir. by</term>+ <term name="editor" form="verb-short">ed. by</term>+ <term name="editorial-director" form="verb-short">ed. by</term>+ <term name="illustrator" form="verb-short">illus. by</term>+ <term name="translator" form="verb-short">trans. by</term>+ <term name="editortranslator" form="verb-short">ed. & trans. by</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">January</term>+ <term name="month-02">February</term>+ <term name="month-03">March</term>+ <term name="month-04">April</term>+ <term name="month-05">May</term>+ <term name="month-06">June</term>+ <term name="month-07">July</term>+ <term name="month-08">August</term>+ <term name="month-09">September</term>+ <term name="month-10">October</term>+ <term name="month-11">November</term>+ <term name="month-12">December</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">Jan.</term>+ <term name="month-02" form="short">Feb.</term>+ <term name="month-03" form="short">Mar.</term>+ <term name="month-04" form="short">Apr.</term>+ <term name="month-05" form="short">May</term>+ <term name="month-06" form="short">Jun.</term>+ <term name="month-07" form="short">Jul.</term>+ <term name="month-08" form="short">Aug.</term>+ <term name="month-09" form="short">Sep.</term>+ <term name="month-10" form="short">Oct.</term>+ <term name="month-11" form="short">Nov.</term>+ <term name="month-12" form="short">Dec.</term>++ <!-- SEASONS -->+ <term name="season-01">Spring</term>+ <term name="season-02">Summer</term>+ <term name="season-03">Autumn</term>+ <term name="season-04">Winter</term>+ </terms>+</locale>
+ locales/en-US.xml view
@@ -0,0 +1,357 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="en-US">+ <info>+ <translator>+ <name>Andrew Dunning</name>+ </translator>+ <translator>+ <name>Sebastian Karcher</name>+ </translator>+ <translator>+ <name>Rintze M. Zelle</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2015-10-10T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="true"/>+ <date form="text">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">accessed</term>+ <term name="and">and</term>+ <term name="and others">and others</term>+ <term name="anonymous">anonymous</term>+ <term name="anonymous" form="short">anon.</term>+ <term name="at">at</term>+ <term name="available at">available at</term>+ <term name="by">by</term>+ <term name="circa">circa</term>+ <term name="circa" form="short">c.</term>+ <term name="cited">cited</term>+ <term name="edition">+ <single>edition</single>+ <multiple>editions</multiple>+ </term>+ <term name="edition" form="short">ed.</term>+ <term name="et-al">et al.</term>+ <term name="forthcoming">forthcoming</term>+ <term name="from">from</term>+ <term name="ibid">ibid.</term>+ <term name="in">in</term>+ <term name="in press">in press</term>+ <term name="internet">internet</term>+ <term name="interview">interview</term>+ <term name="letter">letter</term>+ <term name="no date">no date</term>+ <term name="no date" form="short">n.d.</term>+ <term name="online">online</term>+ <term name="presented at">presented at the</term>+ <term name="reference">+ <single>reference</single>+ <multiple>references</multiple>+ </term>+ <term name="reference" form="short">+ <single>ref.</single>+ <multiple>refs.</multiple>+ </term>+ <term name="retrieved">retrieved</term>+ <term name="scale">scale</term>+ <term name="version">version</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">AD</term>+ <term name="bc">BC</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">“</term>+ <term name="close-quote">”</term>+ <term name="open-inner-quote">‘</term>+ <term name="close-inner-quote">’</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">th</term>+ <term name="ordinal-01">st</term>+ <term name="ordinal-02">nd</term>+ <term name="ordinal-03">rd</term>+ <term name="ordinal-11">th</term>+ <term name="ordinal-12">th</term>+ <term name="ordinal-13">th</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">first</term>+ <term name="long-ordinal-02">second</term>+ <term name="long-ordinal-03">third</term>+ <term name="long-ordinal-04">fourth</term>+ <term name="long-ordinal-05">fifth</term>+ <term name="long-ordinal-06">sixth</term>+ <term name="long-ordinal-07">seventh</term>+ <term name="long-ordinal-08">eighth</term>+ <term name="long-ordinal-09">ninth</term>+ <term name="long-ordinal-10">tenth</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>book</single>+ <multiple>books</multiple>+ </term>+ <term name="chapter">+ <single>chapter</single>+ <multiple>chapters</multiple>+ </term>+ <term name="column">+ <single>column</single>+ <multiple>columns</multiple>+ </term>+ <term name="figure">+ <single>figure</single>+ <multiple>figures</multiple>+ </term>+ <term name="folio">+ <single>folio</single>+ <multiple>folios</multiple>+ </term>+ <term name="issue">+ <single>number</single>+ <multiple>numbers</multiple>+ </term>+ <term name="line">+ <single>line</single>+ <multiple>lines</multiple>+ </term>+ <term name="note">+ <single>note</single>+ <multiple>notes</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opera</multiple>+ </term>+ <term name="page">+ <single>page</single>+ <multiple>pages</multiple>+ </term>+ <term name="number-of-pages">+ <single>page</single>+ <multiple>pages</multiple>+ </term>+ <term name="paragraph">+ <single>paragraph</single>+ <multiple>paragraphs</multiple>+ </term>+ <term name="part">+ <single>part</single>+ <multiple>parts</multiple>+ </term>+ <term name="section">+ <single>section</single>+ <multiple>sections</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>verse</single>+ <multiple>verses</multiple>+ </term>+ <term name="volume">+ <single>volume</single>+ <multiple>volumes</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">+ <single>bk.</single>+ <multiple>bks.</multiple>+ </term>+ <term name="chapter" form="short">+ <single>chap.</single>+ <multiple>chaps.</multiple>+ </term>+ <term name="column" form="short">+ <single>col.</single>+ <multiple>cols.</multiple>+ </term>+ <term name="figure" form="short">+ <single>fig.</single>+ <multiple>figs.</multiple>+ </term>+ <term name="folio" form="short">+ <single>fol.</single>+ <multiple>fols.</multiple>+ </term>+ <term name="issue" form="short">+ <single>no.</single>+ <multiple>nos.</multiple>+ </term>+ <term name="line" form="short">+ <single>l.</single>+ <multiple>ll.</multiple>+ </term>+ <term name="note" form="short">+ <single>n.</single>+ <multiple>nn.</multiple>+ </term>+ <term name="opus" form="short">+ <single>op.</single>+ <multiple>opp.</multiple>+ </term>+ <term name="page" form="short">+ <single>p.</single>+ <multiple>pp.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>p.</single>+ <multiple>pp.</multiple>+ </term>+ <term name="paragraph" form="short">+ <single>para.</single>+ <multiple>paras.</multiple>+ </term>+ <term name="part" form="short">+ <single>pt.</single>+ <multiple>pts.</multiple>+ </term>+ <term name="section" form="short">+ <single>sec.</single>+ <multiple>secs.</multiple>+ </term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>v.</single>+ <multiple>vv.</multiple>+ </term>+ <term name="volume" form="short">+ <single>vol.</single>+ <multiple>vols.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>director</single>+ <multiple>directors</multiple>+ </term>+ <term name="editor">+ <single>editor</single>+ <multiple>editors</multiple>+ </term>+ <term name="editorial-director">+ <single>editor</single>+ <multiple>editors</multiple>+ </term>+ <term name="illustrator">+ <single>illustrator</single>+ <multiple>illustrators</multiple>+ </term>+ <term name="translator">+ <single>translator</single>+ <multiple>translators</multiple>+ </term>+ <term name="editortranslator">+ <single>editor & translator</single>+ <multiple>editors & translators</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>dir.</single>+ <multiple>dirs.</multiple>+ </term>+ <term name="editor" form="short">+ <single>ed.</single>+ <multiple>eds.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>ed.</single>+ <multiple>eds.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>ill.</single>+ <multiple>ills.</multiple>+ </term>+ <term name="translator" form="short">+ <single>tran.</single>+ <multiple>trans.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>ed. & tran.</single>+ <multiple>eds. & trans.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">by</term>+ <term name="director" form="verb">directed by</term>+ <term name="editor" form="verb">edited by</term>+ <term name="editorial-director" form="verb">edited by</term>+ <term name="illustrator" form="verb">illustrated by</term>+ <term name="interviewer" form="verb">interview by</term>+ <term name="recipient" form="verb">to</term>+ <term name="reviewed-author" form="verb">by</term>+ <term name="translator" form="verb">translated by</term>+ <term name="editortranslator" form="verb">edited & translated by</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">dir. by</term>+ <term name="editor" form="verb-short">ed. by</term>+ <term name="editorial-director" form="verb-short">ed. by</term>+ <term name="illustrator" form="verb-short">illus. by</term>+ <term name="translator" form="verb-short">trans. by</term>+ <term name="editortranslator" form="verb-short">ed. & trans. by</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">January</term>+ <term name="month-02">February</term>+ <term name="month-03">March</term>+ <term name="month-04">April</term>+ <term name="month-05">May</term>+ <term name="month-06">June</term>+ <term name="month-07">July</term>+ <term name="month-08">August</term>+ <term name="month-09">September</term>+ <term name="month-10">October</term>+ <term name="month-11">November</term>+ <term name="month-12">December</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">Jan.</term>+ <term name="month-02" form="short">Feb.</term>+ <term name="month-03" form="short">Mar.</term>+ <term name="month-04" form="short">Apr.</term>+ <term name="month-05" form="short">May</term>+ <term name="month-06" form="short">Jun.</term>+ <term name="month-07" form="short">Jul.</term>+ <term name="month-08" form="short">Aug.</term>+ <term name="month-09" form="short">Sep.</term>+ <term name="month-10" form="short">Oct.</term>+ <term name="month-11" form="short">Nov.</term>+ <term name="month-12" form="short">Dec.</term>++ <!-- SEASONS -->+ <term name="season-01">Spring</term>+ <term name="season-02">Summer</term>+ <term name="season-03">Autumn</term>+ <term name="season-04">Winter</term>+ </terms>+</locale>
+ locales/es-CL.xml view
@@ -0,0 +1,310 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="es-CL">+ <info>+ <translator>+ <name>Scott Sadowsky</name>+ <uri>http://sadowsky.cl/</uri>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2013-10-28T13:57:31-04:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" suffix=" de "/>+ <date-part name="month" suffix=" de "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">accedido</term>+ <term name="and">y</term>+ <term name="and others">et al.</term>+ <term name="anonymous">anónimo</term>+ <term name="anonymous" form="short">anón.</term>+ <term name="at">en</term>+ <term name="available at">disponible en</term>+ <term name="by">de</term>+ <term name="circa">circa</term>+ <term name="circa" form="short">c.</term>+ <term name="cited">citado</term>+ <term name="edition">+ <single>edición</single>+ <multiple>ediciones</multiple>+ </term>+ <term name="edition" form="short">ed.</term>+ <term name="et-al">et al.</term>+ <term name="forthcoming">en preparación</term>+ <term name="from">a partir de</term>+ <term name="ibid">ibid.</term>+ <term name="in">en</term>+ <term name="in press">en imprenta</term>+ <term name="internet">internet</term>+ <term name="interview">entrevista</term>+ <term name="letter">carta</term>+ <term name="no date">sin fecha</term>+ <term name="no date" form="short">s. f.</term>+ <term name="online">en línea</term>+ <term name="presented at">presentado en</term>+ <term name="reference">+ <single>referencia</single>+ <multiple>referencias</multiple>+ </term>+ <term name="reference" form="short">+ <single>ref.</single>+ <multiple>refs.</multiple>+ </term>+ <term name="retrieved">recuperado</term>+ <term name="scale">escala</term>+ <term name="version">versión</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">d. C.</term>+ <term name="bc">a. C.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">“</term>+ <term name="close-quote">”</term>+ <term name="open-inner-quote">‘</term>+ <term name="close-inner-quote">’</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">ª</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">primera</term>+ <term name="long-ordinal-02">segunda</term>+ <term name="long-ordinal-03">tercera</term>+ <term name="long-ordinal-04">cuarta</term>+ <term name="long-ordinal-05">quinta</term>+ <term name="long-ordinal-06">sexta</term>+ <term name="long-ordinal-07">séptima</term>+ <term name="long-ordinal-08">octava</term>+ <term name="long-ordinal-09">novena</term>+ <term name="long-ordinal-10">décima</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>libro</single>+ <multiple>libros</multiple>+ </term>+ <term name="chapter">+ <single>capítulo</single>+ <multiple>capítulos</multiple>+ </term>+ <term name="column">+ <single>columna</single>+ <multiple>columnas</multiple>+ </term>+ <term name="figure">+ <single>figura</single>+ <multiple>figuras</multiple>+ </term>+ <term name="folio">+ <single>folio</single>+ <multiple>folios</multiple>+ </term>+ <term name="issue">+ <single>número</single>+ <multiple>números</multiple>+ </term>+ <term name="line">+ <single>línea</single>+ <multiple>líneas</multiple>+ </term>+ <term name="note">+ <single>nota</single>+ <multiple>notas</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opera</multiple>+ </term>+ <term name="page">+ <single>página</single>+ <multiple>páginas</multiple>+ </term>+ <term name="number-of-pages">+ <single>página</single>+ <multiple>páginas</multiple>+ </term>+ <term name="paragraph">+ <single>párrafo</single>+ <multiple>párrafos</multiple>+ </term>+ <term name="part">+ <single>parte</single>+ <multiple>partes</multiple>+ </term>+ <term name="section">+ <single>sección</single>+ <multiple>secciones</multiple>+ </term>+ <term name="sub verbo">+ <single>sub voce</single>+ <multiple>sub vocibus</multiple>+ </term>+ <term name="verse">+ <single>verso</single>+ <multiple>versos</multiple>+ </term>+ <term name="volume">+ <single>volumen</single>+ <multiple>volúmenes</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">lib.</term>+ <term name="chapter" form="short">cap.</term>+ <term name="column" form="short">col.</term>+ <term name="figure" form="short">fig.</term>+ <term name="folio" form="short">f.</term>+ <term name="issue" form="short">nº</term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">+ <single>p.</single>+ <multiple>pp.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>p.</single>+ <multiple>pp.</multiple>+ </term>+ <term name="paragraph" form="short">párr.</term>+ <term name="part" form="short">pt.</term>+ <term name="section" form="short">sec.</term>+ <term name="sub verbo" form="short">+ <single>s. v.</single>+ <multiple>s. vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>v.</single>+ <multiple>vv.</multiple>+ </term>+ <term name="volume" form="short">+ <single>vol.</single>+ <multiple>vols.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>§</single>+ <multiple>§</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>director</single>+ <multiple>directores</multiple>+ </term>+ <term name="editor">+ <single>editor</single>+ <multiple>editores</multiple>+ </term>+ <term name="editorial-director">+ <single>coordinador</single>+ <multiple>coordinadores</multiple>+ </term>+ <term name="illustrator">+ <single>ilustrador</single>+ <multiple>ilustradores</multiple>+ </term>+ <term name="translator">+ <single>traductor</single>+ <multiple>traductores</multiple>+ </term>+ <term name="editortranslator">+ <single>editor y traductor</single>+ <multiple>editores y traductores</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>dir.</single>+ <multiple>dirs.</multiple>+ </term>+ <term name="editor" form="short">+ <single>ed.</single>+ <multiple>eds.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>coord.</single>+ <multiple>coords.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>ilust.</single>+ <multiple>ilusts.</multiple>+ </term>+ <term name="translator" form="short">+ <single>trad.</single>+ <multiple>trads.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>ed. y trad.</single>+ <multiple>eds. y trads.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">de</term>+ <term name="director" form="verb">dirigido por</term>+ <term name="editor" form="verb">editado por</term>+ <term name="editorial-director" form="verb">coordinado por</term>+ <term name="illustrator" form="verb">ilustrado por</term>+ <term name="interviewer" form="verb">entrevistado por</term>+ <term name="recipient" form="verb">a</term>+ <term name="reviewed-author" form="verb">por</term>+ <term name="translator" form="verb">traducido por</term>+ <term name="editortranslator" form="verb">editado y traducido por</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">dir.</term>+ <term name="editor" form="verb-short">ed.</term>+ <term name="editorial-director" form="verb-short">coord.</term>+ <term name="illustrator" form="verb-short">ilust.</term>+ <term name="translator" form="verb-short">trad.</term>+ <term name="editortranslator" form="verb-short">ed. y trad.</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">enero</term>+ <term name="month-02">febrero</term>+ <term name="month-03">marzo</term>+ <term name="month-04">abril</term>+ <term name="month-05">mayo</term>+ <term name="month-06">junio</term>+ <term name="month-07">julio</term>+ <term name="month-08">agosto</term>+ <term name="month-09">septiembre</term>+ <term name="month-10">octubre</term>+ <term name="month-11">noviembre</term>+ <term name="month-12">diciembre</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">ene.</term>+ <term name="month-02" form="short">feb.</term>+ <term name="month-03" form="short">mar.</term>+ <term name="month-04" form="short">abr.</term>+ <term name="month-05" form="short">may</term>+ <term name="month-06" form="short">jun.</term>+ <term name="month-07" form="short">jul.</term>+ <term name="month-08" form="short">ago.</term>+ <term name="month-09" form="short">sep.</term>+ <term name="month-10" form="short">oct.</term>+ <term name="month-11" form="short">nov.</term>+ <term name="month-12" form="short">dic.</term>++ <!-- SEASONS -->+ <term name="season-01">primavera</term>+ <term name="season-02">verano</term>+ <term name="season-03">otoño</term>+ <term name="season-04">invierno</term>+ </terms>+</locale>
+ locales/es-ES.xml view
@@ -0,0 +1,309 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="es-ES">+ <info>+ <translator>+ <name>javimat</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" suffix=" de "/>+ <date-part name="month" suffix=" de "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">accedido</term>+ <term name="and">y</term>+ <term name="and others">y otros</term>+ <term name="anonymous">anónimo</term>+ <term name="anonymous" form="short">anón.</term>+ <term name="at">en</term>+ <term name="available at">disponible en</term>+ <term name="by">de</term>+ <term name="circa">circa</term>+ <term name="circa" form="short">c.</term>+ <term name="cited">citado</term>+ <term name="edition">+ <single>edición</single>+ <multiple>ediciones</multiple>+ </term>+ <term name="edition" form="short">ed.</term>+ <term name="et-al">et al.</term>+ <term name="forthcoming">previsto</term>+ <term name="from">a partir de</term>+ <term name="ibid">ibid.</term>+ <term name="in">en</term>+ <term name="in press">en imprenta</term>+ <term name="internet">internet</term>+ <term name="interview">entrevista</term>+ <term name="letter">carta</term>+ <term name="no date">sin fecha</term>+ <term name="no date" form="short">s. f.</term>+ <term name="online">en línea</term>+ <term name="presented at">presentado en</term>+ <term name="reference">+ <single>referencia</single>+ <multiple>referencias</multiple>+ </term>+ <term name="reference" form="short">+ <single>ref.</single>+ <multiple>refs.</multiple>+ </term>+ <term name="retrieved">recuperado</term>+ <term name="scale">escala</term>+ <term name="version">versión</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">d. C.</term>+ <term name="bc">a. C.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">«</term>+ <term name="close-quote">»</term>+ <term name="open-inner-quote">“</term>+ <term name="close-inner-quote">”</term>+ <term name="page-range-delimiter">-</term>++ <!-- ORDINALS -->+ <term name="ordinal">.ª</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">primera</term>+ <term name="long-ordinal-02">segunda</term>+ <term name="long-ordinal-03">tercera</term>+ <term name="long-ordinal-04">cuarta</term>+ <term name="long-ordinal-05">quinta</term>+ <term name="long-ordinal-06">sexta</term>+ <term name="long-ordinal-07">séptima</term>+ <term name="long-ordinal-08">octava</term>+ <term name="long-ordinal-09">novena</term>+ <term name="long-ordinal-10">décima</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>libro</single>+ <multiple>libros</multiple>+ </term>+ <term name="chapter">+ <single>capítulo</single>+ <multiple>capítulos</multiple>+ </term>+ <term name="column">+ <single>columna</single>+ <multiple>columnas</multiple>+ </term>+ <term name="figure">+ <single>figura</single>+ <multiple>figuras</multiple>+ </term>+ <term name="folio">+ <single>folio</single>+ <multiple>folios</multiple>+ </term>+ <term name="issue">+ <single>número</single>+ <multiple>números</multiple>+ </term>+ <term name="line">+ <single>línea</single>+ <multiple>líneas</multiple>+ </term>+ <term name="note">+ <single>nota</single>+ <multiple>notas</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opera</multiple>+ </term>+ <term name="page">+ <single>página</single>+ <multiple>páginas</multiple>+ </term>+ <term name="number-of-pages">+ <single>página</single>+ <multiple>páginas</multiple>+ </term>+ <term name="paragraph">+ <single>párrafo</single>+ <multiple>párrafos</multiple>+ </term>+ <term name="part">+ <single>parte</single>+ <multiple>partes</multiple>+ </term>+ <term name="section">+ <single>sección</single>+ <multiple>secciones</multiple>+ </term>+ <term name="sub verbo">+ <single>sub voce</single>+ <multiple>sub vocibus</multiple>+ </term>+ <term name="verse">+ <single>verso</single>+ <multiple>versos</multiple>+ </term>+ <term name="volume">+ <single>volumen</single>+ <multiple>volúmenes</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">lib.</term>+ <term name="chapter" form="short">cap.</term>+ <term name="column" form="short">col.</term>+ <term name="figure" form="short">fig.</term>+ <term name="folio" form="short">f.</term>+ <term name="issue" form="short">n.º</term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">+ <single>p.</single>+ <multiple>pp.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>p.</single>+ <multiple>pp.</multiple>+ </term>+ <term name="paragraph" form="short">párr.</term>+ <term name="part" form="short">pt.</term>+ <term name="section" form="short">sec.</term>+ <term name="sub verbo" form="short">+ <single>s. v.</single>+ <multiple>s. vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>v.</single>+ <multiple>vv.</multiple>+ </term>+ <term name="volume" form="short">+ <single>vol.</single>+ <multiple>vols.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>§</single>+ <multiple>§</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>director</single>+ <multiple>directores</multiple>+ </term>+ <term name="editor">+ <single>editor</single>+ <multiple>editores</multiple>+ </term>+ <term name="editorial-director">+ <single>editor</single>+ <multiple>editores</multiple>+ </term>+ <term name="illustrator">+ <single>ilustrador</single>+ <multiple>ilustradores</multiple>+ </term>+ <term name="translator">+ <single>traductor</single>+ <multiple>traductores</multiple>+ </term>+ <term name="editortranslator">+ <single>editor y traductor</single>+ <multiple>editores y traductores</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>dir.</single>+ <multiple>dirs.</multiple>+ </term>+ <term name="editor" form="short">+ <single>ed.</single>+ <multiple>eds.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>ed.</single>+ <multiple>eds.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>ilust.</single>+ <multiple>ilusts.</multiple>+ </term>+ <term name="translator" form="short">+ <single>trad.</single>+ <multiple>trads.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>ed. y trad.</single>+ <multiple>eds. y trads.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">de</term>+ <term name="director" form="verb">dirigido por</term>+ <term name="editor" form="verb">editado por</term>+ <term name="editorial-director" form="verb">editado por</term>+ <term name="illustrator" form="verb">ilustrado por</term>+ <term name="interviewer" form="verb">entrevistado por</term>+ <term name="recipient" form="verb">a</term>+ <term name="reviewed-author" form="verb">por</term>+ <term name="translator" form="verb">traducido por</term>+ <term name="editortranslator" form="verb">editado y traducido por</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">dir.</term>+ <term name="editor" form="verb-short">ed.</term>+ <term name="editorial-director" form="verb-short">ed.</term>+ <term name="illustrator" form="verb-short">ilust.</term>+ <term name="translator" form="verb-short">trad.</term>+ <term name="editortranslator" form="verb-short">ed. y trad.</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">enero</term>+ <term name="month-02">febrero</term>+ <term name="month-03">marzo</term>+ <term name="month-04">abril</term>+ <term name="month-05">mayo</term>+ <term name="month-06">junio</term>+ <term name="month-07">julio</term>+ <term name="month-08">agosto</term>+ <term name="month-09">septiembre</term>+ <term name="month-10">octubre</term>+ <term name="month-11">noviembre</term>+ <term name="month-12">diciembre</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">ene.</term>+ <term name="month-02" form="short">feb.</term>+ <term name="month-03" form="short">mar.</term>+ <term name="month-04" form="short">abr.</term>+ <term name="month-05" form="short">may</term>+ <term name="month-06" form="short">jun.</term>+ <term name="month-07" form="short">jul.</term>+ <term name="month-08" form="short">ago.</term>+ <term name="month-09" form="short">sep.</term>+ <term name="month-10" form="short">oct.</term>+ <term name="month-11" form="short">nov.</term>+ <term name="month-12" form="short">dic.</term>++ <!-- SEASONS -->+ <term name="season-01">primavera</term>+ <term name="season-02">verano</term>+ <term name="season-03">otoño</term>+ <term name="season-04">invierno</term>+ </terms>+</locale>
+ locales/es-MX.xml view
@@ -0,0 +1,351 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="es-MX">+ <info>+ <translator>+ <name>Juan Ignacio Flores Salgado</name>+ <uri>https://www.mendeley.com/profiles/juan-ignacio-flores-salgado/</uri>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2015-06-13T13:57:31-04:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" prefix="el " suffix=" de "/>+ <date-part name="month" suffix=" de "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">consultado</term>+ <term name="and">y</term>+ <term name="and others">et al.</term>+ <term name="anonymous">anónimo</term>+ <term name="anonymous" form="short">anón.</term>+ <term name="at">en</term>+ <term name="available at">disponible en</term>+ <term name="by">de</term>+ <term name="circa">circa</term>+ <term name="circa" form="short">c.</term>+ <term name="cited">citado</term>+ <term name="edition">+ <single>edición</single>+ <multiple>ediciones</multiple>+ </term>+ <term name="edition" form="short">+ <single>ed.</single>+ <multiple>eds.</multiple>+ </term>+ <term name="et-al">et al.</term>+ <term name="forthcoming">en preparación</term>+ <term name="from">a partir de</term>+ <term name="ibid">ibid.</term>+ <term name="in">en</term>+ <term name="in press">en imprenta</term>+ <term name="internet">internet</term>+ <term name="interview">entrevista</term>+ <term name="letter">carta</term>+ <term name="no date">sin fecha</term>+ <term name="no date" form="short">s/f</term>+ <term name="online">en línea</term>+ <term name="presented at">presentado en</term>+ <term name="reference">+ <single>referencia</single>+ <multiple>referencias</multiple>+ </term>+ <term name="reference" form="short">+ <single>ref.</single>+ <multiple>refs.</multiple>+ </term>+ <term name="retrieved">recuperado</term>+ <term name="scale">escala</term>+ <term name="version">versión</term>+ + <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">d. C.</term>+ <term name="bc">a. C.</term>+ + <!-- PUNCTUATION -->+ <term name="open-quote">“</term>+ <term name="close-quote">”</term>+ <term name="open-inner-quote">‘</term>+ <term name="close-inner-quote">’</term>+ <term name="page-range-delimiter">–</term>+ + <!-- ORDINALS -->+ <term name="ordinal">a</term>+ <term name="ordinal-01" gender-form="feminine" match="whole-number">a</term>+ <term name="ordinal-01" gender-form="masculine" match="whole-number">o</term>+ + <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">primera</term>+ <term name="long-ordinal-02">segunda</term>+ <term name="long-ordinal-03">tercera</term>+ <term name="long-ordinal-04">cuarta</term>+ <term name="long-ordinal-05">quinta</term>+ <term name="long-ordinal-06">sexta</term>+ <term name="long-ordinal-07">séptima</term>+ <term name="long-ordinal-08">octava</term>+ <term name="long-ordinal-09">novena</term>+ <term name="long-ordinal-10">décima</term>+ + <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>libro</single>+ <multiple>libros</multiple>+ </term>+ <term name="chapter">+ <single>capítulo</single>+ <multiple>capítulos</multiple>+ </term>+ <term name="column">+ <single>columna</single>+ <multiple>columnas</multiple>+ </term>+ <term name="figure">+ <single>figura</single>+ <multiple>figuras</multiple>+ </term>+ <term name="folio">+ <single>folio</single>+ <multiple>folios</multiple>+ </term>+ <term name="issue">+ <single>número</single>+ <multiple>números</multiple>+ </term>+ <term name="line">+ <single>línea</single>+ <multiple>líneas</multiple>+ </term>+ <term name="note">+ <single>nota</single>+ <multiple>notas</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opera</multiple>+ </term>+ <term name="page">+ <single>página</single>+ <multiple>páginas</multiple>+ </term>+ <term name="number-of-pages">+ <single>página</single>+ <multiple>páginas</multiple>+ </term>+ <term name="paragraph">+ <single>párrafo</single>+ <multiple>párrafos</multiple>+ </term>+ <term name="part">+ <single>parte</single>+ <multiple>partes</multiple>+ </term>+ <term name="section">+ <single>sección</single>+ <multiple>secciones</multiple>+ </term>+ <term name="sub verbo">+ <single>sub voce</single>+ <multiple>sub vocibus</multiple>+ </term>+ <term name="verse">+ <single>verso</single>+ <multiple>versos</multiple>+ </term>+ <term name="volume">+ <single>volumen</single>+ <multiple>volúmenes</multiple>+ </term>+ + <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">+ <single>lib.</single>+ <multiple>libs.</multiple>+ </term>+ <term name="chapter" form="short">+ <single>cap.</single>+ <multiple>caps.</multiple>+ </term>+ <term name="column" form="short">+ <single>col.</single>+ <multiple>cols.</multiple>+ </term>+ <term name="figure" form="short">+ <single>fig.</single>+ <multiple>figs.</multiple>+ </term>+ <term name="folio" form="short">+ <single>f.</single>+ <multiple>ff.</multiple>+ </term>+ <term name="issue" form="short">+ <single>núm.</single>+ <multiple>núms.</multiple>+ </term>+ <term name="line" form="short">+ <single>l.</single>+ <multiple>ls.</multiple>+ </term>+ <term name="note" form="short">+ <single>n.</single>+ <multiple>nn.</multiple>+ </term>+ <term name="opus" form="short">+ <single>op.</single>+ <multiple>opp.</multiple>+ </term>+ <term name="page" form="short">+ <single>p.</single>+ <multiple>pp.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>p.</single>+ <multiple>pp.</multiple>+ </term>+ <term name="paragraph" form="short">+ <single>párr.</single>+ <multiple>párrs.</multiple>+ </term>+ <term name="part" form="short">+ <single>pt.</single>+ <multiple>pts.</multiple>+ </term>+ <term name="section" form="short">+ <single>sec.</single>+ <multiple>secs.</multiple>+ </term>+ <term name="sub verbo" form="short">+ <single>s. v.</single>+ <multiple>s. vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>v.</single>+ <multiple>vv.</multiple>+ </term>+ <term name="volume" form="short">+ <single>vol.</single>+ <multiple>vols.</multiple>+ </term>+ + <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§</multiple>+ </term>+ + <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>director</single>+ <multiple>directores</multiple>+ </term>+ <term name="editor">+ <single>editor</single>+ <multiple>editores</multiple>+ </term>+ <term name="editorial-director">+ <single>coordinador</single>+ <multiple>coordinadores</multiple>+ </term>+ <term name="illustrator">+ <single>ilustrador</single>+ <multiple>ilustradores</multiple>+ </term>+ <term name="translator">+ <single>traductor</single>+ <multiple>traductores</multiple>+ </term>+ <term name="editortranslator">+ <single>editor y traductor</single>+ <multiple>editores y traductores</multiple>+ </term>+ + <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>dir.</single>+ <multiple>dirs.</multiple>+ </term>+ <term name="editor" form="short">+ <single>ed.</single>+ <multiple>eds.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>coord.</single>+ <multiple>coords.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>ilust.</single>+ <multiple>ilusts.</multiple>+ </term>+ <term name="translator" form="short">+ <single>trad.</single>+ <multiple>trads.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>ed. y trad.</single>+ <multiple>eds. y trads.</multiple>+ </term>+ + <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">de</term>+ <term name="director" form="verb">dirigido por</term>+ <term name="editor" form="verb">editado por</term>+ <term name="editorial-director" form="verb">coordinado por</term>+ <term name="illustrator" form="verb">ilustrado por</term>+ <term name="interviewer" form="verb">entrevistado por</term>+ <term name="recipient" form="verb">a</term>+ <term name="reviewed-author" form="verb">por</term>+ <term name="translator" form="verb">traducido por</term>+ <term name="editortranslator" form="verb">editado y traducido por</term>+ + <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">dir.</term>+ <term name="editor" form="verb-short">ed.</term>+ <term name="editorial-director" form="verb-short">coord.</term>+ <term name="illustrator" form="verb-short">ilust.</term>+ <term name="translator" form="verb-short">trad.</term>+ <term name="editortranslator" form="verb-short">ed. y trad.</term>+ + <!-- LONG MONTH FORMS -->+ <term name="month-01">enero</term>+ <term name="month-02">febrero</term>+ <term name="month-03">marzo</term>+ <term name="month-04">abril</term>+ <term name="month-05">mayo</term>+ <term name="month-06">junio</term>+ <term name="month-07">julio</term>+ <term name="month-08">agosto</term>+ <term name="month-09">septiembre</term>+ <term name="month-10">octubre</term>+ <term name="month-11">noviembre</term>+ <term name="month-12">diciembre</term>+ + <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">ene.</term>+ <term name="month-02" form="short">feb.</term>+ <term name="month-03" form="short">mar.</term>+ <term name="month-04" form="short">abr.</term>+ <term name="month-05" form="short">may</term>+ <term name="month-06" form="short">jun.</term>+ <term name="month-07" form="short">jul.</term>+ <term name="month-08" form="short">ago.</term>+ <term name="month-09" form="short">sep.</term>+ <term name="month-10" form="short">oct.</term>+ <term name="month-11" form="short">nov.</term>+ <term name="month-12" form="short">dic.</term>+ + <!-- SEASONS -->+ <term name="season-01">primavera</term>+ <term name="season-02">verano</term>+ <term name="season-03">otoño</term>+ <term name="season-04">invierno</term>+ </terms>+</locale>
+ locales/et-EE.xml view
@@ -0,0 +1,309 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="et-EE">+ <info>+ <translator>+ <name>Andrew Dunning</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" form="ordinal" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="."/>+ <date-part name="month" form="numeric-leading-zeros" suffix="."/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">vaadatud</term>+ <term name="and">ja</term>+ <term name="and others">ja teised</term>+ <term name="anonymous">anonüümne</term>+ <term name="anonymous" form="short">anon</term>+ <term name="at"></term>+ <term name="available at">available at</term>+ <term name="by"></term>+ <term name="circa">umbes</term>+ <term name="circa" form="short">u</term>+ <term name="cited">tsiteeritud</term>+ <term name="edition">+ <single>väljaanne</single>+ <multiple>väljaanded</multiple>+ </term>+ <term name="edition" form="short">tr</term>+ <term name="et-al">et al.</term>+ <term name="forthcoming">ilmumisel</term>+ <term name="from"></term>+ <term name="ibid">ibid.</term>+ <term name="in"></term>+ <term name="in press">trükis</term>+ <term name="internet">internet</term>+ <term name="interview">intervjuu</term>+ <term name="letter">kiri</term>+ <term name="no date">s.a.</term>+ <term name="no date" form="short">s.a.</term>+ <term name="online">online</term>+ <term name="presented at">esitatud</term>+ <term name="reference">+ <single>viide</single>+ <multiple>viited</multiple>+ </term>+ <term name="reference" form="short">+ <single>viide</single>+ <multiple>viited</multiple>+ </term>+ <term name="retrieved">salvestatud</term>+ <term name="scale">scale</term>+ <term name="version">version</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">pKr</term>+ <term name="bc">eKr</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">„</term>+ <term name="close-quote">“</term>+ <term name="open-inner-quote">‘</term>+ <term name="close-inner-quote">’</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">.</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">esimene</term>+ <term name="long-ordinal-02">teine</term>+ <term name="long-ordinal-03">kolmas</term>+ <term name="long-ordinal-04">neljas</term>+ <term name="long-ordinal-05">viies</term>+ <term name="long-ordinal-06">kuues</term>+ <term name="long-ordinal-07">seitsmes</term>+ <term name="long-ordinal-08">kaheksas</term>+ <term name="long-ordinal-09">üheksas</term>+ <term name="long-ordinal-10">kümnes</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>raamat</single>+ <multiple>raamatud</multiple>+ </term>+ <term name="chapter">+ <single>peatükk</single>+ <multiple>peatükid</multiple>+ </term>+ <term name="column">+ <single>veerg</single>+ <multiple>veerud</multiple>+ </term>+ <term name="figure">+ <single>joonis</single>+ <multiple>joonised</multiple>+ </term>+ <term name="folio">+ <single>foolio</single>+ <multiple>fooliod</multiple>+ </term>+ <term name="issue">+ <single>number</single>+ <multiple>numbrid</multiple>+ </term>+ <term name="line">+ <single>rida</single>+ <multiple>read</multiple>+ </term>+ <term name="note">+ <single>viide</single>+ <multiple>viited</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opera</multiple>+ </term>+ <term name="page">+ <single>lehekülg</single>+ <multiple>leheküljed</multiple>+ </term>+ <term name="number-of-pages">+ <single>lehekülg</single>+ <multiple>leheküljed</multiple>+ </term>+ <term name="paragraph">+ <single>lõik</single>+ <multiple>lõigud</multiple>+ </term>+ <term name="part">+ <single>osa</single>+ <multiple>osad</multiple>+ </term>+ <term name="section">+ <single>alajaotis</single>+ <multiple>alajaotised</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>värss</single>+ <multiple>värsid</multiple>+ </term>+ <term name="volume">+ <single>köide</single>+ <multiple>köited</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">rmt</term>+ <term name="chapter" form="short">ptk</term>+ <term name="column" form="short">v</term>+ <term name="figure" form="short">joon</term>+ <term name="folio" form="short">f</term>+ <term name="issue" form="short">nr</term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">op</term>+ <term name="page" form="short">+ <single>lk</single>+ <multiple>lk</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>lk</single>+ <multiple>lk</multiple>+ </term>+ <term name="paragraph" form="short">lõik</term>+ <term name="part" form="short">osa</term>+ <term name="section" form="short">alajaot.</term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>v</single>+ <multiple>vv</multiple>+ </term>+ <term name="volume" form="short">+ <single>kd</single>+ <multiple>kd</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>director</single>+ <multiple>directors</multiple>+ </term>+ <term name="editor">+ <single>toimetaja</single>+ <multiple>toimetajad</multiple>+ </term>+ <term name="editorial-director">+ <single>toimetaja</single>+ <multiple>toimetajad</multiple>+ </term>+ <term name="illustrator">+ <single>illustrator</single>+ <multiple>illustrators</multiple>+ </term>+ <term name="translator">+ <single>tõlkija</single>+ <multiple>tõlkijad</multiple>+ </term>+ <term name="editortranslator">+ <single>toimetaja & tõlkija</single>+ <multiple>toimetajad & tõlkijad</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>dir.</single>+ <multiple>dirs.</multiple>+ </term>+ <term name="editor" form="short">+ <single>toim</single>+ <multiple>toim</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>toim</single>+ <multiple>toim</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>ill.</single>+ <multiple>ills.</multiple>+ </term>+ <term name="translator" form="short">+ <single>tõlk</single>+ <multiple>tõlk</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>toim & tõlk</single>+ <multiple>toim & tõlk</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb"></term>+ <term name="director" form="verb">directed by</term>+ <term name="editor" form="verb">toimetanud</term>+ <term name="editorial-director" form="verb">toimetanud</term>+ <term name="illustrator" form="verb">illustrated by</term>+ <term name="interviewer" form="verb">intervjueerinud</term>+ <term name="recipient" form="verb"></term>+ <term name="reviewed-author" form="verb">by</term>+ <term name="translator" form="verb">tõlkinud</term>+ <term name="editortranslator" form="verb">toimetanud & tõlkinud</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">dir.</term>+ <term name="editor" form="verb-short">toim</term>+ <term name="editorial-director" form="verb-short">toim</term>+ <term name="illustrator" form="verb-short">illus.</term>+ <term name="translator" form="verb-short">tõlk</term>+ <term name="editortranslator" form="verb-short">toim & tõlk</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">jaanuar</term>+ <term name="month-02">veebruar</term>+ <term name="month-03">märts</term>+ <term name="month-04">aprill</term>+ <term name="month-05">mai</term>+ <term name="month-06">juuni</term>+ <term name="month-07">juuli</term>+ <term name="month-08">august</term>+ <term name="month-09">september</term>+ <term name="month-10">oktoober</term>+ <term name="month-11">november</term>+ <term name="month-12">detsember</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">jaan</term>+ <term name="month-02" form="short">veebr</term>+ <term name="month-03" form="short">märts</term>+ <term name="month-04" form="short">apr</term>+ <term name="month-05" form="short">mai</term>+ <term name="month-06" form="short">juuni</term>+ <term name="month-07" form="short">juuli</term>+ <term name="month-08" form="short">aug</term>+ <term name="month-09" form="short">sept</term>+ <term name="month-10" form="short">okt</term>+ <term name="month-11" form="short">nov</term>+ <term name="month-12" form="short">dets</term>++ <!-- SEASONS -->+ <term name="season-01">kevad</term>+ <term name="season-02">suvi</term>+ <term name="season-03">sügis</term>+ <term name="season-04">talv</term>+ </terms>+</locale>
+ locales/eu.xml view
@@ -0,0 +1,309 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="eu">+ <info>+ <translator>+ <name>Amaraun</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="year" suffix="(e)ko "/>+ <date-part name="month" suffix="aren "/>+ <date-part name="day" suffix="a"/>+ </date>+ <date form="numeric">+ <date-part name="year" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="day" form="numeric-leading-zeros"/>+ </date>+ <terms>+ <term name="accessed">eskuratua</term>+ <term name="and">eta</term>+ <term name="and others">eta beste</term>+ <term name="anonymous">ezezaguna</term>+ <term name="anonymous" form="short">ezez.</term>+ <term name="at">-(e)n</term>+ <term name="available at">available at</term>+ <term name="by">-(e)k egina</term>+ <term name="circa">inguru</term>+ <term name="circa" form="short">ing.</term>+ <term name="cited">aipatua</term>+ <term name="edition">+ <single>argitalpena</single>+ <multiple>argitalpenak</multiple>+ </term>+ <term name="edition" form="short">arg.</term>+ <term name="et-al">et al.</term>+ <term name="forthcoming">bidean</term>+ <term name="from">-(e)tik</term>+ <term name="ibid">ibíd.</term>+ <term name="in">in</term>+ <term name="in press">moldiztegian</term>+ <term name="internet">internet</term>+ <term name="interview">elkarrizketa</term>+ <term name="letter">gutuna</term>+ <term name="no date">datarik gabe</term>+ <term name="no date" form="short">d. g.</term>+ <term name="online">sarean</term>+ <term name="presented at">-(e)n aurkeztua</term>+ <term name="reference">+ <single>aipamena</single>+ <multiple>aipamenak</multiple>+ </term>+ <term name="reference" form="short">+ <single>aip.</single>+ <multiple>aip.</multiple>+ </term>+ <term name="retrieved">berreskuratua</term>+ <term name="scale">scale</term>+ <term name="version">version</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">K.a.</term>+ <term name="bc">K.o.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">«</term>+ <term name="close-quote">»</term>+ <term name="open-inner-quote">“</term>+ <term name="close-inner-quote">”</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">.</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">lehengo</term>+ <term name="long-ordinal-02">bigarren</term>+ <term name="long-ordinal-03">hirugarren</term>+ <term name="long-ordinal-04">laugarren</term>+ <term name="long-ordinal-05">bosgarren</term>+ <term name="long-ordinal-06">seigarren</term>+ <term name="long-ordinal-07">zazpigarren</term>+ <term name="long-ordinal-08">zortzigarren</term>+ <term name="long-ordinal-09">bederatzigarren</term>+ <term name="long-ordinal-10">hamargarren</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>liburua</single>+ <multiple>liburuak</multiple>+ </term>+ <term name="chapter">+ <single>kapitulua</single>+ <multiple>kapituluak</multiple>+ </term>+ <term name="column">+ <single>zutabea</single>+ <multiple>zutabeak</multiple>+ </term>+ <term name="figure">+ <single>irudia</single>+ <multiple>irudiak</multiple>+ </term>+ <term name="folio">+ <single>orria</single>+ <multiple>orriak</multiple>+ </term>+ <term name="issue">+ <single>zenbakia</single>+ <multiple>zenbakiak</multiple>+ </term>+ <term name="line">+ <single>lerroa</single>+ <multiple>lerroak</multiple>+ </term>+ <term name="note">+ <single>oharra</single>+ <multiple>oharrak</multiple>+ </term>+ <term name="opus">+ <single>obra</single>+ <multiple>obrak</multiple>+ </term>+ <term name="page">+ <single>orrialdea</single>+ <multiple>orrialdeak</multiple>+ </term>+ <term name="number-of-pages">+ <single>orrialdea</single>+ <multiple>orrialdeak</multiple>+ </term>+ <term name="paragraph">+ <single>paragrafoa</single>+ <multiple>paragrafoak</multiple>+ </term>+ <term name="part">+ <single>zatia</single>+ <multiple>zatiak</multiple>+ </term>+ <term name="section">+ <single>atala</single>+ <multiple>atalak</multiple>+ </term>+ <term name="sub verbo">+ <single>sub voce</single>+ <multiple>sub vocem</multiple>+ </term>+ <term name="verse">+ <single>bertsoa</single>+ <multiple>bertsoak</multiple>+ </term>+ <term name="volume">+ <single>luburikia</single>+ <multiple>luburukiak</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">lib.</term>+ <term name="chapter" form="short">kap.</term>+ <term name="column" form="short">zut.</term>+ <term name="figure" form="short">iru.</term>+ <term name="folio" form="short">or.</term>+ <term name="issue" form="short">zenb.</term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">+ <single>or.</single>+ <multiple>or.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>or.</single>+ <multiple>or.</multiple>+ </term>+ <term name="paragraph" form="short">par.</term>+ <term name="part" form="short">zt.</term>+ <term name="section" form="short">atal.</term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.v.</multiple>+ </term>+ <term name="verse" form="short">+ <single>b.</single>+ <multiple>bb.</multiple>+ </term>+ <term name="volume" form="short">+ <single>libk.</single>+ <multiple>libk.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>director</single>+ <multiple>directors</multiple>+ </term>+ <term name="editor">+ <single>argitaratzailea</single>+ <multiple>argitaratzaileak</multiple>+ </term>+ <term name="editorial-director">+ <single>argitaratzailea</single>+ <multiple>argitaratzaileak</multiple>+ </term>+ <term name="illustrator">+ <single>illustrator</single>+ <multiple>illustrators</multiple>+ </term>+ <term name="translator">+ <single>itzultzailea</single>+ <multiple>itzultzaileak</multiple>+ </term>+ <term name="editortranslator">+ <single>argitaratzaile eta itzultzailea</single>+ <multiple>argitaratzaile eta itzultzaileak</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>dir.</single>+ <multiple>dirs.</multiple>+ </term>+ <term name="editor" form="short">+ <single>arg.</single>+ <multiple>arg.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>arg.</single>+ <multiple>arg.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>ill.</single>+ <multiple>ills.</multiple>+ </term>+ <term name="translator" form="short">+ <single>itzul.</single>+ <multiple>itzul.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>arg. eta itzul.</single>+ <multiple>arg. eta itzul.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb"></term>+ <term name="director" form="verb">directed by</term>+ <term name="editor" form="verb">-(e)k argitaratua</term>+ <term name="editorial-director" form="verb">-(e)k argitaratua</term>+ <term name="illustrator" form="verb">illustrated by</term>+ <term name="interviewer" form="verb">-(e)k elkarrizketatua</term>+ <term name="recipient" form="verb">-(r)entzat</term>+ <term name="reviewed-author" form="verb">by</term>+ <term name="translator" form="verb">-(e)k itzulia</term>+ <term name="editortranslator" form="verb">-(e)k argitaratu eta itzulia</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">dir.</term>+ <term name="editor" form="verb-short">arg.</term>+ <term name="editorial-director" form="verb-short">arg.</term>+ <term name="illustrator" form="verb-short">illus.</term>+ <term name="translator" form="verb-short">itzul.</term>+ <term name="editortranslator" form="verb-short">-(e)k arg. eta itzul.</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">urtarrilak</term>+ <term name="month-02">otsailak</term>+ <term name="month-03">martxoak</term>+ <term name="month-04">apirilak</term>+ <term name="month-05">maiatzak</term>+ <term name="month-06">ekainak</term>+ <term name="month-07">uztailak</term>+ <term name="month-08">abuztuak</term>+ <term name="month-09">irailak</term>+ <term name="month-10">urriak</term>+ <term name="month-11">azaroak</term>+ <term name="month-12">abenduak</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">urt.</term>+ <term name="month-02" form="short">ots.</term>+ <term name="month-03" form="short">martx.</term>+ <term name="month-04" form="short">apr.</term>+ <term name="month-05" form="short">mai.</term>+ <term name="month-06" form="short">eka.</term>+ <term name="month-07" form="short">uzt.</term>+ <term name="month-08" form="short">abz.</term>+ <term name="month-09" form="short">ira.</term>+ <term name="month-10" form="short">urr.</term>+ <term name="month-11" form="short">aza.</term>+ <term name="month-12" form="short">abe.</term>++ <!-- SEASONS -->+ <term name="season-01">udaberria</term>+ <term name="season-02">uda</term>+ <term name="season-03">udazkena</term>+ <term name="season-04">negua</term>+ </terms>+</locale>
+ locales/fa-IR.xml view
@@ -0,0 +1,312 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="fa-IR">+ <info>+ <translator>+ <name>Hamed Heydari</name>+ </translator>+ <translator>+ <name>abdealikhurrum</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="true"/>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">دسترسی</term>+ <term name="and">و</term>+ <term name="and others">و دیگران</term>+ <term name="anonymous">ناشناس</term>+ <term name="anonymous" form="short">ناشناس</term>+ <term name="at">در</term>+ <term name="available at">قابل دسترس در</term>+ <term name="by">توسط</term>+ <term name="circa">تقریباً</term>+ <term name="circa" form="short">c.</term>+ <term name="cited">ارجاع شده</term>+ <term name="edition">+ <single>ویرایش</single>+ <multiple>ویرایشهای</multiple>+ </term>+ <term name="edition" form="short">ویرایش</term>+ <term name="et-al">و همکاران</term>+ <term name="forthcoming">در دست انتشار</term>+ <term name="from">از</term>+ <term name="ibid">همان</term>+ <term name="in">در</term>+ <term name="in press">زیر چاپ</term>+ <term name="internet">اینترنت</term>+ <term name="interview">مصاحبه</term>+ <term name="letter">نامه</term>+ <term name="no date">بدون تاریخ</term>+ <term name="no date" form="short">بدون تاریخ</term>+ <term name="online">آنلاین</term>+ <term name="presented at">ارائه شده در</term>+ <term name="reference">+ <single>مرجع</single>+ <multiple>مراجع</multiple>+ </term>+ <term name="reference" form="short">+ <single>مرجع</single>+ <multiple>مراجع</multiple>+ </term>+ <term name="retrieved">retrieved</term>+ <term name="scale">scale</term>+ <term name="version">نسخه</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">بعد از میلاد</term>+ <term name="bc">قبل از میلاد</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">“</term>+ <term name="close-quote">”</term>+ <term name="open-inner-quote">‘</term>+ <term name="close-inner-quote">’</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal"></term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">اول</term>+ <term name="long-ordinal-02">دوم</term>+ <term name="long-ordinal-03">سوم</term>+ <term name="long-ordinal-04">چهارم</term>+ <term name="long-ordinal-05">پنجم</term>+ <term name="long-ordinal-06">ششم</term>+ <term name="long-ordinal-07">هفتم</term>+ <term name="long-ordinal-08">هشتم</term>+ <term name="long-ordinal-09">نهم</term>+ <term name="long-ordinal-10">دهم</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>کتاب</single>+ <multiple>کتابهای</multiple>+ </term>+ <term name="chapter">+ <single>فصل</single>+ <multiple>فصلهای</multiple>+ </term>+ <term name="column">+ <single>ستون</single>+ <multiple>ستونهای</multiple>+ </term>+ <term name="figure">+ <single>تصویر</single>+ <multiple>تصاویر</multiple>+ </term>+ <term name="folio">+ <single>برگ</single>+ <multiple>برگهای</multiple>+ </term>+ <term name="issue">+ <single>شماره</single>+ <multiple>شمارههای</multiple>+ </term>+ <term name="line">+ <single>خط</single>+ <multiple>خطوط</multiple>+ </term>+ <term name="note">+ <single>یادداشت</single>+ <multiple>یادداشتهای</multiple>+ </term>+ <term name="opus">+ <single>قطعه</single>+ <multiple>قطعات</multiple>+ </term>+ <term name="page">+ <single>صفحه</single>+ <multiple>صفحات</multiple>+ </term>+ <term name="number-of-pages">+ <single>صفحه</single>+ <multiple>صفحات</multiple>+ </term>+ <term name="paragraph">+ <single>پاراگراف</single>+ <multiple>پاراگرافهای</multiple>+ </term>+ <term name="part">+ <single>بخش</single>+ <multiple>بخشهای</multiple>+ </term>+ <term name="section">+ <single>قسمت</single>+ <multiple>قسمتهای</multiple>+ </term>+ <term name="sub verbo">+ <single>در ذیلِ واژه</single>+ <multiple>در ذیلِ واژههای</multiple>+ </term>+ <term name="verse">+ <single>بیت</single>+ <multiple>بیتهای</multiple>+ </term>+ <term name="volume">+ <single>جلد</single>+ <multiple>جلدهای</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">کتاب</term>+ <term name="chapter" form="short">فصل</term>+ <term name="column" form="short">ستون</term>+ <term name="figure" form="short">تصویر</term>+ <term name="folio" form="short">برگ</term>+ <term name="issue" form="short">ش</term>+ <term name="line" form="short">خط</term>+ <term name="note" form="short">یادداشت</term>+ <term name="opus" form="short">قطعه</term>+ <term name="page" form="short">+ <single>ص</single>+ <multiple>صص</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>ص</single>+ <multiple>صص</multiple>+ </term>+ <term name="paragraph" form="short">پاراگراف</term>+ <term name="part" form="short">بخش</term>+ <term name="section" form="short">قسمت</term>+ <term name="sub verbo" form="short">+ <single>s.v</single>+ <multiple>s.vv</multiple>+ </term>+ <term name="verse" form="short">+ <single>بیت</single>+ <multiple>ابیات</multiple>+ </term>+ <term name="volume" form="short">+ <single>ج</single>+ <multiple>جج</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>director</single>+ <multiple>directors</multiple>+ </term>+ <term name="editor">+ <single>ویراستار</single>+ <multiple>ویراستاران</multiple>+ </term>+ <term name="editorial-director">+ <single>ویراستار</single>+ <multiple>ویراستاران</multiple>+ </term>+ <term name="illustrator">+ <single>طراح گرافیک</single>+ <multiple>طراحان گرافیک</multiple>+ </term>+ <term name="translator">+ <single>مترجم</single>+ <multiple>مترجمین</multiple>+ </term>+ <term name="editortranslator">+ <single>ویراستار و مترجم</single>+ <multiple>ویراستاران و مترجمین</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>dir.</single>+ <multiple>dirs.</multiple>+ </term>+ <term name="editor" form="short">+ <single>ویراستار</single>+ <multiple>ویراستاران</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>ویراستار</single>+ <multiple>ویراستاران</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>تصویرگر</single>+ <multiple>تصویرگران</multiple>+ </term>+ <term name="translator" form="short">+ <single>مترجم</single>+ <multiple>مترجمین</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>ویراستار و مترجم</single>+ <multiple>ویراستاران و مترجمین</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">توسط</term>+ <term name="director" form="verb">زیر نظر</term>+ <term name="editor" form="verb">ویراستهی</term>+ <term name="editorial-director" form="verb">ویراستهی</term>+ <term name="illustrator" form="verb">طراحی گرافیکی از</term>+ <term name="interviewer" form="verb">مصاحبه توسط</term>+ <term name="recipient" form="verb">به</term>+ <term name="reviewed-author" form="verb">بازبینی توسط</term>+ <term name="translator" form="verb">ترجمهی</term>+ <term name="editortranslator" form="verb">ترجمه و ویراستهی</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">dir.</term>+ <term name="editor" form="verb-short">ویراستهی</term>+ <term name="editorial-director" form="verb-short">ویراستهی</term>+ <term name="illustrator" form="verb-short">طراحی از</term>+ <term name="translator" form="verb-short">ترجمهی</term>+ <term name="editortranslator" form="verb-short">ترجمه و ویراستهی</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">ژانویه</term>+ <term name="month-02">فوریه</term>+ <term name="month-03">مارس</term>+ <term name="month-04">آوریل</term>+ <term name="month-05">می</term>+ <term name="month-06">ژوئن</term>+ <term name="month-07">جولای</term>+ <term name="month-08">آگوست</term>+ <term name="month-09">سپتامبر</term>+ <term name="month-10">اکتبر</term>+ <term name="month-11">نوامبر</term>+ <term name="month-12">دسامبر</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">ژانویه</term>+ <term name="month-02" form="short">فوریه</term>+ <term name="month-03" form="short">مارس</term>+ <term name="month-04" form="short">آوریل</term>+ <term name="month-05" form="short">می</term>+ <term name="month-06" form="short">ژوئن</term>+ <term name="month-07" form="short">جولای</term>+ <term name="month-08" form="short">آگوست</term>+ <term name="month-09" form="short">سپتامبر</term>+ <term name="month-10" form="short">اکتبر</term>+ <term name="month-11" form="short">نوامبر</term>+ <term name="month-12" form="short">دسامبر</term>++ <!-- SEASONS -->+ <term name="season-01">بهار</term>+ <term name="season-02">تابستان</term>+ <term name="season-03">پاییز</term>+ <term name="season-04">زمستان</term>+ </terms>+</locale>
+ locales/fi-FI.xml view
@@ -0,0 +1,318 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="fi-FI">+ <info>+ <translator>+ <name>Janne Huovari</name>+ </translator>+ <translator>+ <name>snissine</name>+ </translator>+ <translator>+ <name>villelahtinen</name>+ </translator>+ <translator>+ <name>Juhana Venäläinen</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" form="ordinal" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" suffix="."/>+ <date-part name="month" form="numeric" suffix="."/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">viitattu</term>+ <term name="and">ja</term>+ <term name="and others">ym.</term>+ <term name="anonymous">tuntematon</term>+ <term name="anonymous" form="short">tuntematon</term>+ <term name="at">osoitteessa</term>+ <term name="available at">saatavissa</term>+ <term name="by">tekijä</term>+ <term name="circa">noin</term>+ <term name="circa" form="short">n.</term>+ <term name="cited">viitattu</term>+ <term name="edition">+ <single>painos</single>+ <multiple>painokset</multiple>+ </term>+ <term name="edition" form="short">p.</term>+ <term name="et-al">ym.</term>+ <term name="forthcoming">tulossa</term>+ <term name="from">osoitteesta</term>+ <term name="ibid">mt.</term>+ <term name="in">teoksessa</term>+ <term name="in press">painossa</term>+ <term name="internet">internet</term>+ <term name="interview">haastattelu</term>+ <term name="letter">kirje</term>+ <term name="no date">ei päivämäärää</term>+ <term name="no date" form="short">ei pvm.</term>+ <term name="online">verkossa</term>+ <term name="presented at">esitetty tilaisuudessa</term>+ <term name="reference">+ <single>viittaus</single>+ <multiple>viittaukset</multiple>+ </term>+ <term name="reference" form="short">+ <single>viit.</single>+ <multiple>viit.</multiple>+ </term>+ <term name="retrieved">noudettu</term>+ <term name="scale">mittakaava</term>+ <term name="version">versio</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">jaa.</term>+ <term name="bc">eaa.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">”</term>+ <term name="close-quote">”</term>+ <term name="open-inner-quote">’</term>+ <term name="close-inner-quote">’</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">.</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">ensimmäinen</term>+ <term name="long-ordinal-02">toinen</term>+ <term name="long-ordinal-03">kolmas</term>+ <term name="long-ordinal-04">neljäs</term>+ <term name="long-ordinal-05">viides</term>+ <term name="long-ordinal-06">kuudes</term>+ <term name="long-ordinal-07">seitsemäs</term>+ <term name="long-ordinal-08">kahdeksas</term>+ <term name="long-ordinal-09">yhdeksäs</term>+ <term name="long-ordinal-10">kymmenes</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>kirja</single>+ <multiple>kirjat</multiple>+ </term>+ <term name="chapter">+ <single>luku</single>+ <multiple>luvut</multiple>+ </term>+ <term name="column">+ <single>palsta</single>+ <multiple>palstat</multiple>+ </term>+ <term name="figure">+ <single>kuvio</single>+ <multiple>kuviot</multiple>+ </term>+ <term name="folio">+ <single>folio</single>+ <multiple>foliot</multiple>+ </term>+ <term name="issue">+ <single>numero</single>+ <multiple>numerot</multiple>+ </term>+ <term name="line">+ <single>rivi</single>+ <multiple>rivit</multiple>+ </term>+ <term name="note">+ <single>huomautus</single>+ <multiple>huomautukset</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opukset</multiple>+ </term>+ <term name="page">+ <single>sivu</single>+ <multiple>sivut</multiple>+ </term>+ <term name="number-of-pages">+ <single>sivu</single>+ <multiple>sivut</multiple>+ </term>+ <term name="paragraph">+ <single>kappale</single>+ <multiple>kappaleet</multiple>+ </term>+ <term name="part">+ <single>osa</single>+ <multiple>osat</multiple>+ </term>+ <term name="section">+ <single>osa</single>+ <multiple>osat</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>säkeistö</single>+ <multiple>säkeistöt</multiple>+ </term>+ <term name="volume">+ <single>vuosikerta</single>+ <multiple>vuosikerrat</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">kirja</term>+ <term name="chapter" form="short">luku</term>+ <term name="column" form="short">palsta</term>+ <term name="figure" form="short">kuv.</term>+ <term name="folio" form="short">fol.</term>+ <term name="issue" form="short">nro</term>+ <term name="line" form="short">r.</term>+ <term name="note" form="short">huom.</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">+ <single>s.</single>+ <multiple>ss.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>s.</single>+ <multiple>ss.</multiple>+ </term>+ <term name="paragraph" form="short">kappale</term>+ <term name="part" form="short">osa</term>+ <term name="section" form="short">osa</term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>säk.</single>+ <multiple>säk.</multiple>+ </term>+ <term name="volume" form="short">+ <single>vsk.</single>+ <multiple>vsk.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>ohjaaja</single>+ <multiple>ohjaajat</multiple>+ </term>+ <term name="editor">+ <single>toimittaja</single>+ <multiple>toimittajat</multiple>+ </term>+ <term name="editorial-director">+ <single>toimittaja</single>+ <multiple>toimittajat</multiple>+ </term>+ <term name="illustrator">+ <single>kuvittaja</single>+ <multiple>kuvittajat</multiple>+ </term>+ <term name="translator">+ <single>kääntäjä</single>+ <multiple>kääntäjät</multiple>+ </term>+ <term name="editortranslator">+ <single>toimittaja ja kääntäjä</single>+ <multiple>toimittajat ja kääntäjät</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>ohj.</single>+ <multiple>ohj.</multiple>+ </term>+ <term name="editor" form="short">+ <single>toim.</single>+ <multiple>toim.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>toim.</single>+ <multiple>toim.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>kuv.</single>+ <multiple>kuv.</multiple>+ </term>+ <term name="translator" form="short">+ <single>käänt.</single>+ <multiple>käänt.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>toim. ja käänt.</single>+ <multiple>toim. ja käänt.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb"></term>+ <term name="director" form="verb">ohjannut</term>+ <term name="editor" form="verb">toimittanut</term>+ <term name="editorial-director" form="verb">toimittanut</term>+ <term name="illustrator" form="verb">kuvittanut</term>+ <term name="interviewer" form="verb">haastatellut</term>+ <term name="recipient" form="verb">vastaanottaja</term>+ <term name="reviewed-author" form="verb"></term>+ <term name="translator" form="verb">kääntänyt</term>+ <term name="editortranslator" form="verb">toimittanut ja kääntänyt</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">ohj.</term>+ <term name="editor" form="verb-short">toim.</term>+ <term name="editorial-director" form="verb-short">toim.</term>+ <term name="illustrator" form="verb-short">kuv.</term>+ <term name="translator" form="verb-short">käänt.</term>+ <term name="editortranslator" form="verb-short">toim. ja käänt.</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">tammikuuta</term>+ <term name="month-02">helmikuuta</term>+ <term name="month-03">maaliskuuta</term>+ <term name="month-04">huhtikuuta</term>+ <term name="month-05">toukokuuta</term>+ <term name="month-06">kesäkuuta</term>+ <term name="month-07">heinäkuuta</term>+ <term name="month-08">elokuuta</term>+ <term name="month-09">syyskuuta</term>+ <term name="month-10">lokakuuta</term>+ <term name="month-11">marraskuuta</term>+ <term name="month-12">joulukuuta</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">tammi</term>+ <term name="month-02" form="short">helmi</term>+ <term name="month-03" form="short">maalis</term>+ <term name="month-04" form="short">huhti</term>+ <term name="month-05" form="short">touko</term>+ <term name="month-06" form="short">kesä</term>+ <term name="month-07" form="short">heinä</term>+ <term name="month-08" form="short">elo</term>+ <term name="month-09" form="short">syys</term>+ <term name="month-10" form="short">loka</term>+ <term name="month-11" form="short">marras</term>+ <term name="month-12" form="short">joulu</term>++ <!-- SEASONS -->+ <term name="season-01">kevät</term>+ <term name="season-02">kesä</term>+ <term name="season-03">syksy</term>+ <term name="season-04">talvi</term>+ </terms>+</locale>
+ locales/fr-CA.xml view
@@ -0,0 +1,317 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="fr-CA">+ <info>+ <translator>+ <name>Grégoire Colly</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false" limit-day-ordinals-to-day-1="true"/>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">consulté le</term>+ <term name="and">et</term>+ <term name="and others">et autres</term>+ <term name="anonymous">anonyme</term>+ <term name="anonymous" form="short">anon.</term>+ <term name="at">sur</term>+ <term name="available at">disponible à</term>+ <term name="by">par</term>+ <term name="circa">vers</term>+ <term name="circa" form="short">v.</term>+ <term name="cited">cité</term>+ <term name="edition" gender="feminine">+ <single>édition</single>+ <multiple>éditions</multiple>+ </term>+ <term name="edition" form="short">éd.</term>+ <term name="et-al">et al.</term>+ <term name="forthcoming">à paraître</term>+ <term name="from">à l'adresse</term>+ <term name="ibid">ibid.</term>+ <term name="in">dans</term>+ <term name="in press">sous presse</term>+ <term name="internet">Internet</term>+ <term name="interview">entretien</term>+ <term name="letter">lettre</term>+ <term name="no date">sans date</term>+ <term name="no date" form="short">s. d.</term>+ <term name="online">en ligne</term>+ <term name="presented at">présenté à</term>+ <term name="reference">+ <single>référence</single>+ <multiple>références</multiple>+ </term>+ <term name="reference" form="short">+ <single>réf.</single>+ <multiple>réf.</multiple>+ </term>+ <term name="retrieved">consulté</term>+ <term name="scale">échelle</term>+ <term name="version">version</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">apr. J.-C.</term>+ <term name="bc">av. J.-C.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">« </term>+ <term name="close-quote"> »</term>+ <term name="open-inner-quote">“</term>+ <term name="close-inner-quote">”</term>+ <term name="page-range-delimiter">‑</term> <!-- non-breaking hyphen -->++ <!-- ORDINALS -->+ <term name="ordinal">ᵉ</term>+ <term name="ordinal-01" gender-form="feminine" match="whole-number">ʳᵉ</term>+ <term name="ordinal-01" gender-form="masculine" match="whole-number">ᵉʳ</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">premier</term>+ <term name="long-ordinal-02">deuxième</term>+ <term name="long-ordinal-03">troisième</term>+ <term name="long-ordinal-04">quatrième</term>+ <term name="long-ordinal-05">cinquième</term>+ <term name="long-ordinal-06">sixième</term>+ <term name="long-ordinal-07">septième</term>+ <term name="long-ordinal-08">huitième</term>+ <term name="long-ordinal-09">neuvième</term>+ <term name="long-ordinal-10">dixième</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>livre</single>+ <multiple>livres</multiple>+ </term>+ <term name="chapter">+ <single>chapitre</single>+ <multiple>chapitres</multiple>+ </term>+ <term name="column">+ <single>colonne</single>+ <multiple>colonnes</multiple>+ </term>+ <term name="figure">+ <single>figure</single>+ <multiple>figures</multiple>+ </term>+ <term name="folio">+ <single>folio</single>+ <multiple>folios</multiple>+ </term>+ <term name="issue" gender="masculine">+ <single>numéro</single>+ <multiple>numéros</multiple>+ </term>+ <term name="line">+ <single>ligne</single>+ <multiple>lignes</multiple>+ </term>+ <term name="note">+ <single>note</single>+ <multiple>notes</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opus</multiple>+ </term>+ <term name="page">+ <single>page</single>+ <multiple>pages</multiple>+ </term>+ <term name="number-of-pages">+ <single>page</single>+ <multiple>pages</multiple>+ </term>+ <term name="paragraph">+ <single>paragraphe</single>+ <multiple>paragraphes</multiple>+ </term>+ <term name="part">+ <single>partie</single>+ <multiple>parties</multiple>+ </term>+ <term name="section">+ <single>section</single>+ <multiple>sections</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>verset</single>+ <multiple>versets</multiple>+ </term>+ <term name="volume" gender="masculine">+ <single>volume</single>+ <multiple>volumes</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">liv.</term>+ <term name="chapter" form="short">chap.</term>+ <term name="column" form="short">col.</term>+ <term name="figure" form="short">fig.</term>+ <term name="folio" form="short">+ <single>fᵒ</single>+ <multiple>fᵒˢ</multiple>+ </term>+ <term name="issue" form="short">+ <single>nᵒ</single>+ <multiple>nᵒˢ</multiple>+ </term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">+ <single>p.</single>+ <multiple>p.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>p.</single>+ <multiple>p.</multiple>+ </term>+ <term name="paragraph" form="short">paragr.</term>+ <term name="part" form="short">part.</term>+ <term name="section" form="short">sect.</term>+ <term name="sub verbo" form="short">+ <single>s. v.</single>+ <multiple>s. vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>v.</single>+ <multiple>v.</multiple>+ </term>+ <term name="volume" form="short">+ <single>vol.</single>+ <multiple>vol.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>§</single>+ <multiple>§</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>réalisateur</single>+ <multiple>réalisateurs</multiple>+ </term>+ <term name="editor">+ <single>éditeur</single>+ <multiple>éditeurs</multiple>+ </term>+ <term name="editorial-director">+ <single>directeur</single>+ <multiple>directeurs</multiple>+ </term>+ <term name="illustrator">+ <single>illustrateur</single>+ <multiple>illustrateurs</multiple>+ </term>+ <term name="translator">+ <single>traducteur</single>+ <multiple>traducteurs</multiple>+ </term>+ <term name="editortranslator">+ <single>éditeur et traducteur</single>+ <multiple>éditeurs et traducteurs</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>réal.</single>+ <multiple>réal.</multiple>+ </term>+ <term name="editor" form="short">+ <single>éd.</single>+ <multiple>éd.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>dir.</single>+ <multiple>dir.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>ill.</single>+ <multiple>ill.</multiple>+ </term>+ <term name="translator" form="short">+ <single>trad.</single>+ <multiple>trad.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>éd. et trad.</single>+ <multiple>éd. et trad.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">par</term>+ <term name="director" form="verb">réalisé par</term>+ <term name="editor" form="verb">édité par</term>+ <term name="editorial-director" form="verb">sous la direction de</term>+ <term name="illustrator" form="verb">illustré par</term>+ <term name="interviewer" form="verb">entretien réalisé par</term>+ <term name="recipient" form="verb">à</term>+ <term name="reviewed-author" form="verb">par</term>+ <term name="translator" form="verb">traduit par</term>+ <term name="editortranslator" form="verb">édité et traduit par</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">réal. par</term>+ <term name="editor" form="verb-short">éd. par</term>+ <term name="editorial-director" form="verb-short">ss la dir. de</term>+ <term name="illustrator" form="verb-short">ill. par</term>+ <term name="translator" form="verb-short">trad. par</term>+ <term name="editortranslator" form="verb-short">éd. et trad. par</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01" gender="masculine">janvier</term>+ <term name="month-02" gender="masculine">février</term>+ <term name="month-03" gender="masculine">mars</term>+ <term name="month-04" gender="masculine">avril</term>+ <term name="month-05" gender="masculine">mai</term>+ <term name="month-06" gender="masculine">juin</term>+ <term name="month-07" gender="masculine">juillet</term>+ <term name="month-08" gender="masculine">août</term>+ <term name="month-09" gender="masculine">septembre</term>+ <term name="month-10" gender="masculine">octobre</term>+ <term name="month-11" gender="masculine">novembre</term>+ <term name="month-12" gender="masculine">décembre</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">janv.</term>+ <term name="month-02" form="short">févr.</term>+ <term name="month-03" form="short">mars</term>+ <term name="month-04" form="short">avr.</term>+ <term name="month-05" form="short">mai</term>+ <term name="month-06" form="short">juin</term>+ <term name="month-07" form="short">juill.</term>+ <term name="month-08" form="short">août</term>+ <term name="month-09" form="short">sept.</term>+ <term name="month-10" form="short">oct.</term>+ <term name="month-11" form="short">nov.</term>+ <term name="month-12" form="short">déc.</term>++ <!-- SEASONS -->+ <term name="season-01">printemps</term>+ <term name="season-02">été</term>+ <term name="season-03">automne</term>+ <term name="season-04">hiver</term>+ </terms>+</locale>
+ locales/fr-FR.xml view
@@ -0,0 +1,317 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="fr-FR">+ <info>+ <translator>+ <name>Grégoire Colly</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false" limit-day-ordinals-to-day-1="true"/>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">consulté le</term>+ <term name="and">et</term>+ <term name="and others">et autres</term>+ <term name="anonymous">anonyme</term>+ <term name="anonymous" form="short">anon.</term>+ <term name="at">sur</term>+ <term name="available at">disponible sur</term>+ <term name="by">par</term>+ <term name="circa">vers</term>+ <term name="circa" form="short">v.</term>+ <term name="cited">cité</term>+ <term name="edition" gender="feminine">+ <single>édition</single>+ <multiple>éditions</multiple>+ </term>+ <term name="edition" form="short">éd.</term>+ <term name="et-al">et al.</term>+ <term name="forthcoming">à paraître</term>+ <term name="from">à l'adresse</term>+ <term name="ibid">ibid.</term>+ <term name="in">in</term>+ <term name="in press">sous presse</term>+ <term name="internet">Internet</term>+ <term name="interview">entretien</term>+ <term name="letter">lettre</term>+ <term name="no date">sans date</term>+ <term name="no date" form="short">s. d.</term>+ <term name="online">en ligne</term>+ <term name="presented at">présenté à</term>+ <term name="reference">+ <single>référence</single>+ <multiple>références</multiple>+ </term>+ <term name="reference" form="short">+ <single>réf.</single>+ <multiple>réf.</multiple>+ </term>+ <term name="retrieved">consulté</term>+ <term name="scale">échelle</term>+ <term name="version">version</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">apr. J.-C.</term>+ <term name="bc">av. J.-C.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">« </term>+ <term name="close-quote"> »</term>+ <term name="open-inner-quote">“</term>+ <term name="close-inner-quote">”</term>+ <term name="page-range-delimiter">‑</term> <!-- non-breaking hyphen -->++ <!-- ORDINALS -->+ <term name="ordinal">ᵉ</term>+ <term name="ordinal-01" gender-form="feminine" match="whole-number">ʳᵉ</term>+ <term name="ordinal-01" gender-form="masculine" match="whole-number">ᵉʳ</term>+ + <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">premier</term>+ <term name="long-ordinal-02">deuxième</term>+ <term name="long-ordinal-03">troisième</term>+ <term name="long-ordinal-04">quatrième</term>+ <term name="long-ordinal-05">cinquième</term>+ <term name="long-ordinal-06">sixième</term>+ <term name="long-ordinal-07">septième</term>+ <term name="long-ordinal-08">huitième</term>+ <term name="long-ordinal-09">neuvième</term>+ <term name="long-ordinal-10">dixième</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>livre</single>+ <multiple>livres</multiple>+ </term>+ <term name="chapter">+ <single>chapitre</single>+ <multiple>chapitres</multiple>+ </term>+ <term name="column">+ <single>colonne</single>+ <multiple>colonnes</multiple>+ </term>+ <term name="figure">+ <single>figure</single>+ <multiple>figures</multiple>+ </term>+ <term name="folio">+ <single>folio</single>+ <multiple>folios</multiple>+ </term>+ <term name="issue" gender="masculine">+ <single>numéro</single>+ <multiple>numéros</multiple>+ </term>+ <term name="line">+ <single>ligne</single>+ <multiple>lignes</multiple>+ </term>+ <term name="note">+ <single>note</single>+ <multiple>notes</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opus</multiple>+ </term>+ <term name="page">+ <single>page</single>+ <multiple>pages</multiple>+ </term>+ <term name="number-of-pages">+ <single>page</single>+ <multiple>pages</multiple>+ </term>+ <term name="paragraph">+ <single>paragraphe</single>+ <multiple>paragraphes</multiple>+ </term>+ <term name="part">+ <single>partie</single>+ <multiple>parties</multiple>+ </term>+ <term name="section">+ <single>section</single>+ <multiple>sections</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>verset</single>+ <multiple>versets</multiple>+ </term>+ <term name="volume" gender="masculine">+ <single>volume</single>+ <multiple>volumes</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">liv.</term>+ <term name="chapter" form="short">chap.</term>+ <term name="column" form="short">col.</term>+ <term name="figure" form="short">fig.</term>+ <term name="folio" form="short">+ <single>fᵒ</single>+ <multiple>fᵒˢ</multiple>+ </term>+ <term name="issue" form="short">+ <single>nᵒ</single>+ <multiple>nᵒˢ</multiple>+ </term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">+ <single>p.</single>+ <multiple>p.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>p.</single>+ <multiple>p.</multiple>+ </term>+ <term name="paragraph" form="short">paragr.</term>+ <term name="part" form="short">part.</term>+ <term name="section" form="short">sect.</term>+ <term name="sub verbo" form="short">+ <single>s. v.</single>+ <multiple>s. vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>v.</single>+ <multiple>v.</multiple>+ </term>+ <term name="volume" form="short">+ <single>vol.</single>+ <multiple>vol.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>§</single>+ <multiple>§</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>réalisateur</single>+ <multiple>réalisateurs</multiple>+ </term>+ <term name="editor">+ <single>éditeur</single>+ <multiple>éditeurs</multiple>+ </term>+ <term name="editorial-director">+ <single>directeur</single>+ <multiple>directeurs</multiple>+ </term>+ <term name="illustrator">+ <single>illustrateur</single>+ <multiple>illustrateurs</multiple>+ </term>+ <term name="translator">+ <single>traducteur</single>+ <multiple>traducteurs</multiple>+ </term>+ <term name="editortranslator">+ <single>éditeur et traducteur</single>+ <multiple>éditeurs et traducteurs</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>réal.</single>+ <multiple>réal.</multiple>+ </term>+ <term name="editor" form="short">+ <single>éd.</single>+ <multiple>éd.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>dir.</single>+ <multiple>dir.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>ill.</single>+ <multiple>ill.</multiple>+ </term>+ <term name="translator" form="short">+ <single>trad.</single>+ <multiple>trad.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>éd. et trad.</single>+ <multiple>éd. et trad.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">par</term>+ <term name="director" form="verb">réalisé par</term>+ <term name="editor" form="verb">édité par</term>+ <term name="editorial-director" form="verb">sous la direction de</term>+ <term name="illustrator" form="verb">illustré par</term>+ <term name="interviewer" form="verb">entretien réalisé par</term>+ <term name="recipient" form="verb">à</term>+ <term name="reviewed-author" form="verb">par</term>+ <term name="translator" form="verb">traduit par</term>+ <term name="editortranslator" form="verb">édité et traduit par</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">réal. par</term>+ <term name="editor" form="verb-short">éd. par</term>+ <term name="editorial-director" form="verb-short">ss la dir. de</term>+ <term name="illustrator" form="verb-short">ill. par</term>+ <term name="translator" form="verb-short">trad. par</term>+ <term name="editortranslator" form="verb-short">éd. et trad. par</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01" gender="masculine">janvier</term>+ <term name="month-02" gender="masculine">février</term>+ <term name="month-03" gender="masculine">mars</term>+ <term name="month-04" gender="masculine">avril</term>+ <term name="month-05" gender="masculine">mai</term>+ <term name="month-06" gender="masculine">juin</term>+ <term name="month-07" gender="masculine">juillet</term>+ <term name="month-08" gender="masculine">août</term>+ <term name="month-09" gender="masculine">septembre</term>+ <term name="month-10" gender="masculine">octobre</term>+ <term name="month-11" gender="masculine">novembre</term>+ <term name="month-12" gender="masculine">décembre</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">janv.</term>+ <term name="month-02" form="short">févr.</term>+ <term name="month-03" form="short">mars</term>+ <term name="month-04" form="short">avr.</term>+ <term name="month-05" form="short">mai</term>+ <term name="month-06" form="short">juin</term>+ <term name="month-07" form="short">juill.</term>+ <term name="month-08" form="short">août</term>+ <term name="month-09" form="short">sept.</term>+ <term name="month-10" form="short">oct.</term>+ <term name="month-11" form="short">nov.</term>+ <term name="month-12" form="short">déc.</term>++ <!-- SEASONS -->+ <term name="season-01">printemps</term>+ <term name="season-02">été</term>+ <term name="season-03">automne</term>+ <term name="season-04">hiver</term>+ </terms>+</locale>
+ locales/he-IL.xml view
@@ -0,0 +1,315 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="he-IL">+ <info>+ <translator>+ <name>roypeled1</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">נבדק לאחרונה</term>+ <term name="and">ו</term>+ <term name="and others">ואחרים</term>+ <term name="anonymous">אלמוני</term>+ <term name="anonymous" form="short">anon</term>+ <term name="at">-ב</term>+ <term name="available at">זמין ב</term>+ <term name="by">על-ידי</term>+ <term name="circa">לערך</term>+ <term name="circa" form="short">c.</term>+ <term name="cited">מצוטט ב</term>+ <term name="edition">+ <single>מהדורה</single>+ <multiple>מהדורות</multiple>+ </term>+ <term name="edition" form="short">ed</term>+ <term name="et-al">ואחרים</term>+ <term name="forthcoming">צפוי</term>+ <term name="from">מתוך</term>+ <term name="ibid">שם</term>+ <term name="in">בתוך</term>+ <term name="in press">בהדפסה</term>+ <term name="internet">אינטרנט</term>+ <term name="interview">ראיון</term>+ <term name="letter">מכתב</term>+ <term name="no date">אין נתונים</term>+ <term name="no date" form="short">nd</term>+ <term name="online">מקוון</term>+ <term name="presented at">הוצג ב</term>+ <term name="reference">+ <single>הפניה</single>+ <multiple>הפניות</multiple>+ </term>+ <term name="reference" form="short">+ <single>ref.</single>+ <multiple>refs.</multiple>+ </term>+ <term name="retrieved">אוחזר</term>+ <term name="scale">scale</term>+ <term name="version">גירסה</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">לספירה</term>+ <term name="bc">לפני הספירה</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">“</term>+ <term name="close-quote">”</term>+ <term name="open-inner-quote">‘</term>+ <term name="close-inner-quote">’</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">th</term>+ <term name="ordinal-01">st</term>+ <term name="ordinal-02">nd</term>+ <term name="ordinal-03">rd</term>+ <term name="ordinal-11">th</term>+ <term name="ordinal-12">th</term>+ <term name="ordinal-13">th</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">ראשון</term>+ <term name="long-ordinal-02">שני</term>+ <term name="long-ordinal-03">שלישי</term>+ <term name="long-ordinal-04">רביעי</term>+ <term name="long-ordinal-05">חמישי</term>+ <term name="long-ordinal-06">שישי</term>+ <term name="long-ordinal-07">שביעי</term>+ <term name="long-ordinal-08">שמיני</term>+ <term name="long-ordinal-09">תשיעי</term>+ <term name="long-ordinal-10">עשירי</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>ספר</single>+ <multiple>ספרים</multiple>+ </term>+ <term name="chapter">+ <single>פרק</single>+ <multiple>פרקים</multiple>+ </term>+ <term name="column">+ <single>טור</single>+ <multiple>טורים</multiple>+ </term>+ <term name="figure">+ <single>figure</single>+ <multiple>figures</multiple>+ </term>+ <term name="folio">+ <single>פוליו</single>+ <multiple>פוליו</multiple>+ </term>+ <term name="issue">+ <single>מספר</single>+ <multiple>מספרים</multiple>+ </term>+ <term name="line">+ <single>שורה</single>+ <multiple>שורות</multiple>+ </term>+ <term name="note">+ <single>הערה</single>+ <multiple>הערות</multiple>+ </term>+ <term name="opus">+ <single>אופוס</single>+ <multiple>אופרה</multiple>+ </term>+ <term name="page">+ <single>עמוד</single>+ <multiple>עמודים</multiple>+ </term>+ <term name="number-of-pages">+ <single>עמוד</single>+ <multiple>עמודים</multiple>+ </term>+ <term name="paragraph">+ <single>פיסקה</single>+ <multiple>פיסקאות</multiple>+ </term>+ <term name="part">+ <single>חלק</single>+ <multiple>חלקים</multiple>+ </term>+ <term name="section">+ <single>סעיף</single>+ <multiple>סעיפים</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>בית</single>+ <multiple>בתים</multiple>+ </term>+ <term name="volume">+ <single>כרך</single>+ <multiple>כרכים</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">bk</term>+ <term name="chapter" form="short">chap</term>+ <term name="column" form="short">col</term>+ <term name="figure" form="short">fig</term>+ <term name="folio" form="short">f</term>+ <term name="issue" form="short">no</term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">op</term>+ <term name="page" form="short">+ <single>'עמ</single>+ <multiple>'עמ</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>'עמ</single>+ <multiple>'עמ</multiple>+ </term>+ <term name="paragraph" form="short">para</term>+ <term name="part" form="short">pt</term>+ <term name="section" form="short">ס'</term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>v</single>+ <multiple>vv</multiple>+ </term>+ <term name="volume" form="short">+ <single>vol</single>+ <multiple>vols</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>במאי</single>+ <multiple>במאים</multiple>+ </term>+ <term name="editor">+ <single>עורך</single>+ <multiple>עורכים</multiple>+ </term>+ <term name="editorial-director">+ <single>עורך ראשי</single>+ <multiple>עורכים ראשיים</multiple>+ </term>+ <term name="illustrator">+ <single>מאייר</single>+ <multiple>מאיירים</multiple>+ </term>+ <term name="translator">+ <single>מתרגם</single>+ <multiple>מתרגמים</multiple>+ </term>+ <term name="editortranslator">+ <single>editor & translator</single>+ <multiple>editors & translators</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>dir.</single>+ <multiple>dirs.</multiple>+ </term>+ <term name="editor" form="short">+ <single>ed</single>+ <multiple>eds</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>ed.</single>+ <multiple>eds.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>ill.</single>+ <multiple>ills.</multiple>+ </term>+ <term name="translator" form="short">+ <single>tran</single>+ <multiple>trans</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>ed. & tran.</single>+ <multiple>eds. & trans.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">by</term>+ <term name="director" form="verb">בוים ע"י</term>+ <term name="editor" form="verb">נערך ע"י</term>+ <term name="editorial-director" form="verb">בוים ע"י</term>+ <term name="illustrator" form="verb">אויר ע"י</term>+ <term name="interviewer" form="verb">רואיין ע"י</term>+ <term name="recipient" form="verb">אל</term>+ <term name="reviewed-author" form="verb">ע"י</term>+ <term name="translator" form="verb">תורגם ע"י</term>+ <term name="editortranslator" form="verb">edited & translated by</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">dir.</term>+ <term name="editor" form="verb-short">ed</term>+ <term name="editorial-director" form="verb-short">ed.</term>+ <term name="illustrator" form="verb-short">illus.</term>+ <term name="translator" form="verb-short">trans</term>+ <term name="editortranslator" form="verb-short">ed. & trans. by</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">ינואר</term>+ <term name="month-02">פברואר</term>+ <term name="month-03">מרץ</term>+ <term name="month-04">אפריל</term>+ <term name="month-05">מאי</term>+ <term name="month-06">יוני</term>+ <term name="month-07">יולי</term>+ <term name="month-08">אוגוסט</term>+ <term name="month-09">ספטמבר</term>+ <term name="month-10">אוקטובר</term>+ <term name="month-11">נובמבר</term>+ <term name="month-12">דצמבר</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">Jan</term>+ <term name="month-02" form="short">Feb</term>+ <term name="month-03" form="short">Mar</term>+ <term name="month-04" form="short">Apr</term>+ <term name="month-05" form="short">May</term>+ <term name="month-06" form="short">Jun</term>+ <term name="month-07" form="short">Jul</term>+ <term name="month-08" form="short">Aug</term>+ <term name="month-09" form="short">Sep</term>+ <term name="month-10" form="short">Oct</term>+ <term name="month-11" form="short">Nov</term>+ <term name="month-12" form="short">Dec</term>++ <!-- SEASONS -->+ <term name="season-01">Spring</term>+ <term name="season-02">Summer</term>+ <term name="season-03">Autumn</term>+ <term name="season-04">Winter</term>+ </terms>+</locale>
+ locales/hr-HR.xml view
@@ -0,0 +1,309 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="hr-HR">+ <info>+ <translator>+ <name>tvrbanec</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" form="numeric-leading-zeros" suffix=". "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year" suffix="."/>+ </date>+ <date form="numeric">+ <date-part name="year"/>+ <date-part name="month" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>+ <date-part name="day" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>+ </date>+ <terms>+ <term name="accessed">pristupljeno</term>+ <term name="and">i</term>+ <term name="and others">i ostali</term>+ <term name="anonymous">anonimno</term>+ <term name="anonymous" form="short">anon.</term>+ <term name="at">na</term>+ <term name="available at">dostupno na</term>+ <term name="by">od</term>+ <term name="circa">oko</term>+ <term name="circa" form="short">oko</term>+ <term name="cited">citirano</term>+ <term name="edition">+ <single>izdanje</single>+ <multiple>izdanja</multiple>+ </term>+ <term name="edition" form="short">izd.</term>+ <term name="et-al">i ostali</term>+ <term name="forthcoming">u pripremi</term>+ <term name="from">od</term>+ <term name="ibid">ibid.</term>+ <term name="in">u</term>+ <term name="in press">u tisku</term>+ <term name="internet">internet</term>+ <term name="interview">intervju</term>+ <term name="letter">pismo</term>+ <term name="no date">bez datuma</term>+ <term name="no date" form="short">bez dat.</term>+ <term name="online">na internetu</term>+ <term name="presented at">predstavljeno na</term>+ <term name="reference">+ <single>reference</single>+ <multiple>reference</multiple>+ </term>+ <term name="reference" form="short">+ <single>ref.</single>+ <multiple>ref.</multiple>+ </term>+ <term name="retrieved">preuzeto</term>+ <term name="scale">skala</term>+ <term name="version">verzija</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad"></term>+ <term name="bc">pr. Kr.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">„</term>+ <term name="close-quote">“</term>+ <term name="open-inner-quote">‚</term>+ <term name="close-inner-quote">‘</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">.</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">prvi</term>+ <term name="long-ordinal-02">drugi</term>+ <term name="long-ordinal-03">treći</term>+ <term name="long-ordinal-04">četvrti</term>+ <term name="long-ordinal-05">peti</term>+ <term name="long-ordinal-06">šesti</term>+ <term name="long-ordinal-07">sedmi</term>+ <term name="long-ordinal-08">osmi</term>+ <term name="long-ordinal-09">deveti</term>+ <term name="long-ordinal-10">deseti</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>knjiga</single>+ <multiple>knjige</multiple>+ </term>+ <term name="chapter">+ <single>poglavlje</single>+ <multiple>poglavlja</multiple>+ </term>+ <term name="column">+ <single>stupac</single>+ <multiple>stupci</multiple>+ </term>+ <term name="figure">+ <single>crtež</single>+ <multiple>crteži</multiple>+ </term>+ <term name="folio">+ <single>folija</single>+ <multiple>folije</multiple>+ </term>+ <term name="issue">+ <single>izdanje</single>+ <multiple>izdanja</multiple>+ </term>+ <term name="line">+ <single>red</single>+ <multiple>redovi</multiple>+ </term>+ <term name="note">+ <single>bilješka</single>+ <multiple>bilješke</multiple>+ </term>+ <term name="opus">+ <single>djelo</single>+ <multiple>djela</multiple>+ </term>+ <term name="page">+ <single>stranica</single>+ <multiple>stranice</multiple>+ </term>+ <term name="number-of-pages">+ <single>stranica</single>+ <multiple>stranice</multiple>+ </term>+ <term name="paragraph">+ <single>pasus</single>+ <multiple>pasusi</multiple>+ </term>+ <term name="part">+ <single>dio</single>+ <multiple>dijelova</multiple>+ </term>+ <term name="section">+ <single>odjeljak</single>+ <multiple>odjeljci</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>stih</single>+ <multiple>stihovi</multiple>+ </term>+ <term name="volume">+ <single>svezak</single>+ <multiple>svesci</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">knj.</term>+ <term name="chapter" form="short">pogl.</term>+ <term name="column" form="short">stup.</term>+ <term name="figure" form="short">crt.</term>+ <term name="folio" form="short">fol.</term>+ <term name="issue" form="short">izd.</term>+ <term name="line" form="short">red</term>+ <term name="note" form="short">bilj.</term>+ <term name="opus" form="short">sv.</term>+ <term name="page" form="short">+ <single>str.</single>+ <multiple>str.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>str.</single>+ <multiple>str.</multiple>+ </term>+ <term name="paragraph" form="short">par.</term>+ <term name="part" form="short">dio</term>+ <term name="section" form="short">od.</term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>st.</single>+ <multiple>st.</multiple>+ </term>+ <term name="volume" form="short">+ <single>sv.</single>+ <multiple>sv.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>voditelj</single>+ <multiple>voditelji</multiple>+ </term>+ <term name="editor">+ <single>urednik</single>+ <multiple>urednici</multiple>+ </term>+ <term name="editorial-director">+ <single>urednik</single>+ <multiple>urednici</multiple>+ </term>+ <term name="illustrator">+ <single>ilustrator</single>+ <multiple>ilustratori</multiple>+ </term>+ <term name="translator">+ <single>prevoditelj</single>+ <multiple>prevoditelji</multiple>+ </term>+ <term name="editortranslator">+ <single>urednik & prevoditelj</single>+ <multiple>urednici & prevoditelji</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>vod.</single>+ <multiple>vod.</multiple>+ </term>+ <term name="editor" form="short">+ <single>ur.</single>+ <multiple>ur.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>ur.-vod.</single>+ <multiple>ur.-vod.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>il.</single>+ <multiple>il.</multiple>+ </term>+ <term name="translator" form="short">+ <single>prev.</single>+ <multiple>prev.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>ur. & prev.</single>+ <multiple>ur. & prev.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">od</term>+ <term name="director" form="verb">vodio</term>+ <term name="editor" form="verb">uredio</term>+ <term name="editorial-director" form="verb">uredio</term>+ <term name="illustrator" form="verb">ilustrirao</term>+ <term name="interviewer" form="verb">intervjuirao</term>+ <term name="recipient" form="verb">primatelj</term>+ <term name="reviewed-author" form="verb">pregledao</term>+ <term name="translator" form="verb">preveo</term>+ <term name="editortranslator" form="verb">uredio & preveo</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">vod.</term>+ <term name="editor" form="verb-short">ur.</term>+ <term name="editorial-director" form="verb-short">ur. vod.</term>+ <term name="illustrator" form="verb-short">ilus.</term>+ <term name="translator" form="verb-short">prev.</term>+ <term name="editortranslator" form="verb-short">ur. & prev.</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">siječanj</term>+ <term name="month-02">veljača</term>+ <term name="month-03">ožujak</term>+ <term name="month-04">travanj</term>+ <term name="month-05">svibanj</term>+ <term name="month-06">lipanj</term>+ <term name="month-07">srpanj</term>+ <term name="month-08">kolovoz</term>+ <term name="month-09">rujan</term>+ <term name="month-10">listopad</term>+ <term name="month-11">studeni</term>+ <term name="month-12">prosinac</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">sij.</term>+ <term name="month-02" form="short">velj.</term>+ <term name="month-03" form="short">ožu.</term>+ <term name="month-04" form="short">tra.</term>+ <term name="month-05" form="short">svi.</term>+ <term name="month-06" form="short">lip.</term>+ <term name="month-07" form="short">srp.</term>+ <term name="month-08" form="short">kol.</term>+ <term name="month-09" form="short">ruj.</term>+ <term name="month-10" form="short">lis.</term>+ <term name="month-11" form="short">stu.</term>+ <term name="month-12" form="short">pros.</term>++ <!-- SEASONS -->+ <term name="season-01">proljeće</term>+ <term name="season-02">ljeto</term>+ <term name="season-03">jesen</term>+ <term name="season-04">zima</term>+ </terms>+</locale>
+ locales/hu-HU.xml view
@@ -0,0 +1,313 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="hu-HU">+ <info>+ <translator>+ <name>Miklos Vajna</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2014-06-17T09:56:35+02:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="year"/>+ <date-part name="month" prefix=". "/>+ <date-part name="day" prefix=" " suffix="."/>+ </date>+ <date form="numeric">+ <date-part name="year"/>+ <date-part name="month" form="numeric-leading-zeros" prefix="."/>+ <date-part name="day" form="numeric-leading-zeros" prefix="."/>+ </date>+ <terms>+ <term name="accessed">elérés</term>+ <term name="and">és</term>+ <term name="and others">és mások</term>+ <term name="anonymous">szerző nélkül</term>+ <term name="anonymous" form="short">sz. n.</term>+ <term name="at"></term>+ <term name="available at">elérhető</term>+ <term name="by">by</term>+ <term name="circa">körülbelül</term>+ <term name="circa" form="short">kb.</term>+ <term name="cited">idézi</term>+ <term name="edition">+ <single>kiadás</single>+ <multiple>kiadás</multiple>+ </term>+ <term name="edition" form="short">kiad.</term>+ <term name="et-al">és mtsai.</term>+ <term name="forthcoming">megjelenés alatt</term>+ <term name="from">forrás</term>+ <term name="ibid">uo.</term>+ <term name="in">in</term>+ <term name="in press">nyomtatás alatt</term>+ <term name="internet">internet</term>+ <term name="interview">interjú</term>+ <term name="letter">levél</term>+ <term name="no date">évszám nélkül</term>+ <term name="no date" form="short">é. n.</term>+ <term name="online">online</term>+ <term name="presented at">előadás</term>+ <term name="reference">+ <single>hivatkozás</single>+ <multiple>hivatkozás</multiple>+ </term>+ <term name="reference" form="short">+ <single>hiv.</single>+ <multiple>hiv.</multiple>+ </term>+ <term name="retrieved">elérés</term>+ <term name="scale">skála</term>+ <term name="version">verzió</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">Kr. u.</term>+ <term name="bc">Kr. e.</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">i. sz.</term>+ <term name="bc">i. e.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">„</term>+ <term name="close-quote">”</term>+ <term name="open-inner-quote">»</term>+ <term name="close-inner-quote">«</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">.</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">első</term>+ <term name="long-ordinal-02">második</term>+ <term name="long-ordinal-03">harmadik</term>+ <term name="long-ordinal-04">negyedik</term>+ <term name="long-ordinal-05">ötödik</term>+ <term name="long-ordinal-06">hatodik</term>+ <term name="long-ordinal-07">hetedik</term>+ <term name="long-ordinal-08">nyolcadik</term>+ <term name="long-ordinal-09">kilencedik</term>+ <term name="long-ordinal-10">tizedik</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>könyv</single>+ <multiple>könyv</multiple>+ </term>+ <term name="chapter">+ <single>fejezet</single>+ <multiple>fejezet</multiple>+ </term>+ <term name="column">+ <single>oszlop</single>+ <multiple>oszlop</multiple>+ </term>+ <term name="figure">+ <single>ábra</single>+ <multiple>ábra</multiple>+ </term>+ <term name="folio">+ <single>fóliáns</single>+ <multiple>fóliáns</multiple>+ </term>+ <term name="issue">+ <single>szám</single>+ <multiple>szám</multiple>+ </term>+ <term name="line">+ <single>sor</single>+ <multiple>sor</multiple>+ </term>+ <term name="note">+ <single>jegyzet</single>+ <multiple>jegyzet</multiple>+ </term>+ <term name="opus">+ <single>mű</single>+ <multiple>mű</multiple>+ </term>+ <term name="page">+ <single>oldal</single>+ <multiple>oldal</multiple>+ </term>+ <term name="number-of-pages">+ <single>oldal</single>+ <multiple>oldal</multiple>+ </term>+ <term name="paragraph">+ <single>bekezdés</single>+ <multiple>bekezdés</multiple>+ </term>+ <term name="part">+ <single>rész</single>+ <multiple>rész</multiple>+ </term>+ <term name="section">+ <single>szakasz</single>+ <multiple>szakasz</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>versszak</single>+ <multiple>versszak</multiple>+ </term>+ <term name="volume">+ <single>kötet</single>+ <multiple>kötet</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">könyv</term>+ <term name="chapter" form="short">fej.</term>+ <term name="column" form="short">oszl.</term>+ <term name="figure" form="short">ábr.</term>+ <term name="folio" form="short">fol.</term>+ <term name="issue" form="short">sz.</term>+ <term name="line" form="short">s.</term>+ <term name="note" form="short">j.</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">+ <single>o.</single>+ <multiple>o.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>o.</single>+ <multiple>o.</multiple>+ </term>+ <term name="paragraph" form="short">bek.</term>+ <term name="part" form="short">rész</term>+ <term name="section" form="short">szak.</term>+ <term name="sub verbo" form="short">+ <single>s. v.</single>+ <multiple>s. vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>vsz.</single>+ <multiple>vsz.</multiple>+ </term>+ <term name="volume" form="short">+ <single>köt.</single>+ <multiple>köt.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>igazgató</single>+ <multiple>igazgató</multiple>+ </term>+ <term name="editor">+ <single>szerkesztő</single>+ <multiple>szerkesztő</multiple>+ </term>+ <term name="editorial-director">+ <single>szerkesztőségi igazgató</single>+ <multiple>szerkesztőségi igazgató</multiple>+ </term>+ <term name="illustrator">+ <single>illusztrátor</single>+ <multiple>illusztrátor</multiple>+ </term>+ <term name="translator">+ <single>fordító</single>+ <multiple>fordító</multiple>+ </term>+ <term name="editortranslator">+ <single>szerkesztő & fordító</single>+ <multiple>szerkesztő & fordító</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>ig.</single>+ <multiple>ig.</multiple>+ </term>+ <term name="editor" form="short">+ <single>szerk.</single>+ <multiple>szerk.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>szerk. ig.</single>+ <multiple>szerk. ig.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>ill.</single>+ <multiple>ill.</multiple>+ </term>+ <term name="translator" form="short">+ <single>ford.</single>+ <multiple>ford.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>szerk. & ford.</single>+ <multiple>szerk. & ford.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">by</term>+ <term name="director" form="verb">directed by</term>+ <term name="editor" form="verb">szerkesztette</term>+ <term name="editorial-director" form="verb">edited by</term>+ <term name="illustrator" form="verb">illusztrálta</term>+ <term name="interviewer" form="verb">interjúkészítő</term>+ <term name="recipient" form="verb">címzett</term>+ <term name="reviewed-author" form="verb">by</term>+ <term name="translator" form="verb">fordította</term>+ <term name="editortranslator" form="verb">szerkesztette & fordította</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">ig.</term>+ <term name="editor" form="verb-short">szerk.</term>+ <term name="editorial-director" form="verb-short">ed.</term>+ <term name="illustrator" form="verb-short">ill.</term>+ <term name="translator" form="verb-short">ford.</term>+ <term name="editortranslator" form="verb-short">szerk. & ford.</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">január</term>+ <term name="month-02">február</term>+ <term name="month-03">március</term>+ <term name="month-04">április</term>+ <term name="month-05">május</term>+ <term name="month-06">június</term>+ <term name="month-07">július</term>+ <term name="month-08">augusztus</term>+ <term name="month-09">szeptember</term>+ <term name="month-10">október</term>+ <term name="month-11">november</term>+ <term name="month-12">december</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">jan.</term>+ <term name="month-02" form="short">febr.</term>+ <term name="month-03" form="short">márc.</term>+ <term name="month-04" form="short">ápr.</term>+ <term name="month-05" form="short">máj.</term>+ <term name="month-06" form="short">jún.</term>+ <term name="month-07" form="short">júl.</term>+ <term name="month-08" form="short">aug.</term>+ <term name="month-09" form="short">szept.</term>+ <term name="month-10" form="short">okt.</term>+ <term name="month-11" form="short">nov.</term>+ <term name="month-12" form="short">dec.</term>++ <!-- SEASONS -->+ <term name="season-01">tavasz</term>+ <term name="season-02">nyár</term>+ <term name="season-03">ősz</term>+ <term name="season-04">tél</term>+ </terms>+</locale>
+ locales/id-ID.xml view
@@ -0,0 +1,321 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="id-ID">+ <info>+ <translator>+ <name>faizhabibullah</name>+ </translator>+ <translator>+ <name>Deden Habibi</name>+ </translator>+ <translator>+ <name>xbypass</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2015-08-05T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="true"/>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="-"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="-"/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">diakses</term>+ <term name="and">dan</term>+ <term name="and others">dan lainnya</term>+ <term name="anonymous">anonim</term>+ <term name="anonymous" form="short">anon.</term>+ <term name="at">pada</term>+ <term name="available at">tersedia pada</term>+ <term name="by">oleh</term>+ <term name="circa">circa</term>+ <term name="circa" form="short">ca.</term>+ <term name="cited">dikutip</term>+ <term name="edition">+ <single>edisi</single>+ <multiple>edisi</multiple>+ </term>+ <term name="edition" form="short">ed.</term>+ <term name="et-al">dkk.</term>+ <term name="forthcoming">mendatang</term>+ <term name="from">dari</term>+ <term name="ibid">ibid.</term>+ <term name="in">dalam</term>+ <term name="in press">dalam proses cetakan</term>+ <term name="internet">internet</term>+ <term name="interview">wawancara</term>+ <term name="letter">surat</term>+ <term name="no date">tanpa tanggal</term>+ <term name="no date" form="short">t.t.</term>+ <term name="online">daring</term>+ <term name="presented at">dipresentasikan pada</term>+ <term name="reference">+ <single>referensi</single>+ <multiple>referensi</multiple>+ </term>+ <term name="reference" form="short">+ <single>ref.</single>+ <multiple>ref.</multiple>+ </term>+ <term name="retrieved">diambil</term>+ <term name="scale">skala</term>+ <term name="version">versi</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">M</term>+ <term name="bc">SM</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">“</term>+ <term name="close-quote">”</term>+ <term name="open-inner-quote">‘</term>+ <term name="close-inner-quote">’</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal"></term>+ <term name="ordinal-01"></term>+ <term name="ordinal-02"></term>+ <term name="ordinal-03"></term>+ <term name="ordinal-11"></term>+ <term name="ordinal-12"></term>+ <term name="ordinal-13"></term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">pertama</term>+ <term name="long-ordinal-02">kedua</term>+ <term name="long-ordinal-03">ketiga</term>+ <term name="long-ordinal-04">keempat</term>+ <term name="long-ordinal-05">kelima</term>+ <term name="long-ordinal-06">keenam</term>+ <term name="long-ordinal-07">ketujuh</term>+ <term name="long-ordinal-08">kedelapan</term>+ <term name="long-ordinal-09">kesembilan</term>+ <term name="long-ordinal-10">kesepuluh</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>buku</single>+ <multiple>buku</multiple>+ </term>+ <term name="chapter">+ <single>bab</single>+ <multiple>bab</multiple>+ </term>+ <term name="column">+ <single>kolom</single>+ <multiple>kolom</multiple>+ </term>+ <term name="figure">+ <single>gambar</single>+ <multiple>gambar</multiple>+ </term>+ <term name="folio">+ <single>folio</single>+ <multiple>folio</multiple>+ </term>+ <term name="issue">+ <single>nomor</single>+ <multiple>nomor</multiple>+ </term>+ <term name="line">+ <single>baris</single>+ <multiple>baris</multiple>+ </term>+ <term name="note">+ <single>catatan</single>+ <multiple>catatan</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opera</multiple>+ </term>+ <term name="page">+ <single>halaman</single>+ <multiple>halaman</multiple>+ </term>+ <term name="number-of-pages">+ <single>halaman</single>+ <multiple>halaman</multiple>+ </term>+ <term name="paragraph">+ <single>paragraf</single>+ <multiple>paragraf</multiple>+ </term>+ <term name="part">+ <single>bagian</single>+ <multiple>bagian</multiple>+ </term>+ <term name="section">+ <single>bagian</single>+ <multiple>bagian</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>ayat</single>+ <multiple>ayat</multiple>+ </term>+ <term name="volume">+ <single>volume</single>+ <multiple>volume</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">bk.</term>+ <term name="chapter" form="short">bb.</term>+ <term name="column" form="short">kol.</term>+ <term name="figure" form="short">gbr.</term>+ <term name="folio" form="short">fol.</term>+ <term name="issue" form="short">no.</term>+ <term name="line" form="short">brs.</term>+ <term name="note" form="short">ctt.</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">+ <single>hlm.</single>+ <multiple>hlm.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>hlm.</single>+ <multiple>hlm.</multiple>+ </term>+ <term name="paragraph" form="short">para.</term>+ <term name="part" form="short">bag.</term>+ <term name="section" form="short">bag.</term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>a.</single>+ <multiple>a.</multiple>+ </term>+ <term name="volume" form="short">+ <single>vol.</single>+ <multiple>vol.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>direktur</single>+ <multiple>direktur</multiple>+ </term>+ <term name="editor">+ <single>editor</single>+ <multiple>editor</multiple>+ </term>+ <term name="editorial-director">+ <single>editor</single>+ <multiple>editor</multiple>+ </term>+ <term name="illustrator">+ <single>ilustrator</single>+ <multiple>ilustrator</multiple>+ </term>+ <term name="translator">+ <single>penerjemah</single>+ <multiple>penerjemah</multiple>+ </term>+ <term name="editortranslator">+ <single>editor & penerjemah</single>+ <multiple>editor & penerjemah</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>dir.</single>+ <multiple>dir.</multiple>+ </term>+ <term name="editor" form="short">+ <single>ed.</single>+ <multiple>ed.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>ed.</single>+ <multiple>ed.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>il.</single>+ <multiple>il.</multiple>+ </term>+ <term name="translator" form="short">+ <single>penerj.</single>+ <multiple>penerj.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>ed. & penerj.</single>+ <multiple>ed. & penerj.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">oleh</term>+ <term name="director" form="verb">diarahkan oleh</term>+ <term name="editor" form="verb">disunting oleh</term>+ <term name="editorial-director" form="verb">disunting oleh</term>+ <term name="illustrator" form="verb">diilustrasi oleh</term>+ <term name="interviewer" form="verb">diwawancara oleh</term>+ <term name="recipient" form="verb">kepada</term>+ <term name="reviewed-author" form="verb">oleh</term>+ <term name="translator" form="verb">diterjemahkan oleh</term>+ <term name="editortranslator" form="verb">disunting & diterjemahkan oleh</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">dir. oleh</term>+ <term name="editor" form="verb-short">ed. oleh</term>+ <term name="editorial-director" form="verb-short">ed. oleh</term>+ <term name="illustrator" form="verb-short">illus. oleh</term>+ <term name="translator" form="verb-short">trans. oleh</term>+ <term name="editortranslator" form="verb-short">ed. & penerj. oleh</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">Januari</term>+ <term name="month-02">Februari</term>+ <term name="month-03">Maret</term>+ <term name="month-04">April</term>+ <term name="month-05">Mei</term>+ <term name="month-06">Juni</term>+ <term name="month-07">Juli</term>+ <term name="month-08">Agustus</term>+ <term name="month-09">September</term>+ <term name="month-10">Oktober</term>+ <term name="month-11">November</term>+ <term name="month-12">Desember</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">Jan</term>+ <term name="month-02" form="short">Feb</term>+ <term name="month-03" form="short">Mar</term>+ <term name="month-04" form="short">Apr</term>+ <term name="month-05" form="short">Mei</term>+ <term name="month-06" form="short">Jun</term>+ <term name="month-07" form="short">Jul</term>+ <term name="month-08" form="short">Agu</term>+ <term name="month-09" form="short">Sep</term>+ <term name="month-10" form="short">Okt</term>+ <term name="month-11" form="short">Nov</term>+ <term name="month-12" form="short">Des</term>++ <!-- SEASONS -->+ <term name="season-01">Semi</term>+ <term name="season-02">Panas</term>+ <term name="season-03">Gugur</term>+ <term name="season-04">Dingin</term>+ </terms>+</locale>
+ locales/is-IS.xml view
@@ -0,0 +1,312 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="is-IS">+ <info>+ <translator>+ <name>dadamaster</name>+ </translator>+ <translator>+ <name>styrmirm</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" suffix=". "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="ordinal" suffix=" "/>+ <date-part name="month" suffix="."/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">sótt</term>+ <term name="and">og</term>+ <term name="and others">og fleiri</term>+ <term name="anonymous">nafnlaus</term>+ <term name="anonymous" form="short">nafnl.</term>+ <term name="at">af</term>+ <term name="available at">aðgengilegt á</term>+ <term name="by">eftir</term>+ <term name="circa">sirka</term>+ <term name="circa" form="short">u.þ.b.</term>+ <term name="cited">tilvitnun</term>+ <term name="edition">+ <single>útgáfa</single>+ <multiple>útgáfur</multiple>+ </term>+ <term name="edition" form="short">útg.</term>+ <term name="et-al">o.fl.</term>+ <term name="forthcoming">óbirt</term>+ <term name="from">af</term>+ <term name="ibid">sama heimild</term>+ <term name="in">í</term>+ <term name="in press">í prentun</term>+ <term name="internet">rafrænt</term>+ <term name="interview">viðtal</term>+ <term name="letter">bréf</term>+ <term name="no date">engin dagsetning</term>+ <term name="no date" form="short">e.d.</term>+ <term name="online">rafrænt</term>+ <term name="presented at">flutt á</term>+ <term name="reference">+ <single>tilvitnun</single>+ <multiple>tilvitnanir</multiple>+ </term>+ <term name="reference" form="short">+ <single>tilv.</single>+ <multiple>tilv.</multiple>+ </term>+ <term name="retrieved">sótt</term>+ <term name="scale">scale</term>+ <term name="version">útgáfa</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">e.Kr.</term>+ <term name="bc">f.Kr.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">„</term>+ <term name="close-quote">“</term>+ <term name="open-inner-quote">‘</term>+ <term name="close-inner-quote">’</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">.</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">fyrsti</term>+ <term name="long-ordinal-02">annar</term>+ <term name="long-ordinal-03">þriðji</term>+ <term name="long-ordinal-04">fjórði</term>+ <term name="long-ordinal-05">fimmti</term>+ <term name="long-ordinal-06">sjötti</term>+ <term name="long-ordinal-07">sjöundi</term>+ <term name="long-ordinal-08">áttundi</term>+ <term name="long-ordinal-09">níundi</term>+ <term name="long-ordinal-10">tíundi</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>bók</single>+ <multiple>bækur</multiple>+ </term>+ <term name="chapter">+ <single>kafli</single>+ <multiple>kaflar</multiple>+ </term>+ <term name="column">+ <single>dálkur</single>+ <multiple>dálkar</multiple>+ </term>+ <term name="figure">+ <single>mynd</single>+ <multiple>myndir</multiple>+ </term>+ <term name="folio">+ <single>handrit</single>+ <multiple>handrit</multiple>+ </term>+ <term name="issue">+ <single>tölublað</single>+ <multiple>tölublöð</multiple>+ </term>+ <term name="line">+ <single>lína</single>+ <multiple>línur</multiple>+ </term>+ <term name="note">+ <single>athugasemd</single>+ <multiple>athugasemdir</multiple>+ </term>+ <term name="opus">+ <single>tónverk</single>+ <multiple>tónverk</multiple>+ </term>+ <term name="page">+ <single>blaðsíða</single>+ <multiple>blaðsíður</multiple>+ </term>+ <term name="number-of-pages">+ <single>blaðsíða</single>+ <multiple>blaðsíður</multiple>+ </term>+ <term name="paragraph">+ <single>málsgrein</single>+ <multiple>málsgreinar</multiple>+ </term>+ <term name="part">+ <single>hluti</single>+ <multiple>hlutar</multiple>+ </term>+ <term name="section">+ <single>hluti</single>+ <multiple>hlutar</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>vers</single>+ <multiple>vers</multiple>+ </term>+ <term name="volume">+ <single>bindi</single>+ <multiple>bindi</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">bók</term>+ <term name="chapter" form="short">k.</term>+ <term name="column" form="short">d.</term>+ <term name="figure" form="short">mynd.</term>+ <term name="folio" form="short">handr.</term>+ <term name="issue" form="short">tbl.</term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">ath.</term>+ <term name="opus" form="short">tónv.</term>+ <term name="page" form="short">+ <single>bls.</single>+ <multiple>bls.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>bls.</single>+ <multiple>bls.</multiple>+ </term>+ <term name="paragraph" form="short">málsgr.</term>+ <term name="part" form="short">hl.</term>+ <term name="section" form="short">hl.</term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>v.</single>+ <multiple>v.</multiple>+ </term>+ <term name="volume" form="short">+ <single>b.</single>+ <multiple>b.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>leikstjóri</single>+ <multiple>leikstjórar</multiple>+ </term>+ <term name="editor">+ <single>ritstjóri</single>+ <multiple>ritstjórar</multiple>+ </term>+ <term name="editorial-director">+ <single>ritstjóri</single>+ <multiple>ritstjórar</multiple>+ </term>+ <term name="illustrator">+ <single>höfundur myndskreytinga</single>+ <multiple>höfundar myndskreytinga</multiple>+ </term>+ <term name="translator">+ <single>þýðandi</single>+ <multiple>þýðendur</multiple>+ </term>+ <term name="editortranslator">+ <single>ritstjóri og þýðandi</single>+ <multiple>ritstjórar og þýðendur</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>leikstj.</single>+ <multiple>leikstj.</multiple>+ </term>+ <term name="editor" form="short">+ <single>ritstj.</single>+ <multiple>ritstj.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>ritstj.</single>+ <multiple>ritstj.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>höf. mynd.</single>+ <multiple>höf. mynd.</multiple>+ </term>+ <term name="translator" form="short">+ <single>þýð.</single>+ <multiple>þýð.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>ritstj. og þýð.</single>+ <multiple>ritstj. og þýð.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">eftir</term>+ <term name="director" form="verb">leikstýrt af</term>+ <term name="editor" form="verb">ritstýrt af</term>+ <term name="editorial-director" form="verb">ritstýrt af</term>+ <term name="illustrator" form="verb">myndskreytt af</term>+ <term name="interviewer" form="verb">viðtal tók</term>+ <term name="recipient" form="verb">til</term>+ <term name="reviewed-author" form="verb">by</term>+ <term name="translator" form="verb">þýddi</term>+ <term name="editortranslator" form="verb">ritstýrt og þýtt af</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">leikstj.</term>+ <term name="editor" form="verb-short">ritstj.</term>+ <term name="editorial-director" form="verb-short">ritstj.</term>+ <term name="illustrator" form="verb-short">myndskr.</term>+ <term name="translator" form="verb-short">þýð.</term>+ <term name="editortranslator" form="verb-short">ritstj. og þýð.</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">janúar</term>+ <term name="month-02">febrúar</term>+ <term name="month-03">mars</term>+ <term name="month-04">apríl</term>+ <term name="month-05">maí</term>+ <term name="month-06">júní</term>+ <term name="month-07">júlí</term>+ <term name="month-08">ágúst</term>+ <term name="month-09">september</term>+ <term name="month-10">október</term>+ <term name="month-11">nóvember</term>+ <term name="month-12">desember</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">jan.</term>+ <term name="month-02" form="short">feb.</term>+ <term name="month-03" form="short">mar.</term>+ <term name="month-04" form="short">apr.</term>+ <term name="month-05" form="short">maí</term>+ <term name="month-06" form="short">jún.</term>+ <term name="month-07" form="short">júl.</term>+ <term name="month-08" form="short">ágú.</term>+ <term name="month-09" form="short">sep.</term>+ <term name="month-10" form="short">okt.</term>+ <term name="month-11" form="short">nóv.</term>+ <term name="month-12" form="short">des.</term>++ <!-- SEASONS -->+ <term name="season-01">vor</term>+ <term name="season-02">sumar</term>+ <term name="season-03">haust</term>+ <term name="season-04">vetur</term>+ </terms>+</locale>
+ locales/it-IT.xml view
@@ -0,0 +1,309 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="it-IT">+ <info>+ <translator>+ <name>FI App Development</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">consultato</term>+ <term name="and">e</term>+ <term name="and others">e altri</term>+ <term name="anonymous">anonimo</term>+ <term name="anonymous" form="short">anon.</term>+ <term name="at">a</term>+ <term name="available at">available at</term>+ <term name="by">di</term>+ <term name="circa">circa</term>+ <term name="circa" form="short">c.</term>+ <term name="cited">citato</term>+ <term name="edition">+ <single>edizione</single>+ <multiple>edizioni</multiple>+ </term>+ <term name="edition" form="short">ed.</term>+ <term name="et-al">et al.</term>+ <term name="forthcoming">futuro</term>+ <term name="from">da</term>+ <term name="ibid">ibid.</term>+ <term name="in">in</term>+ <term name="in press">in stampa</term>+ <term name="internet">internet</term>+ <term name="interview">intervista</term>+ <term name="letter">lettera</term>+ <term name="no date">senza data</term>+ <term name="no date" form="short">s.d.</term>+ <term name="online">in linea</term>+ <term name="presented at">presentato al</term>+ <term name="reference">+ <single>reference</single>+ <multiple>references</multiple>+ </term>+ <term name="reference" form="short">+ <single>ref.</single>+ <multiple>refs.</multiple>+ </term>+ <term name="retrieved">recuperato</term>+ <term name="scale">scale</term>+ <term name="version">version</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">d.C.</term>+ <term name="bc">a.C.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">«</term>+ <term name="close-quote">»</term>+ <term name="open-inner-quote">“</term>+ <term name="close-inner-quote">”</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">º</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">prima</term>+ <term name="long-ordinal-02">seconda</term>+ <term name="long-ordinal-03">terza</term>+ <term name="long-ordinal-04">quarta</term>+ <term name="long-ordinal-05">quinta</term>+ <term name="long-ordinal-06">sesta</term>+ <term name="long-ordinal-07">settima</term>+ <term name="long-ordinal-08">ottava</term>+ <term name="long-ordinal-09">nona</term>+ <term name="long-ordinal-10">decima</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>libro</single>+ <multiple>libri</multiple>+ </term>+ <term name="chapter">+ <single>capitolo</single>+ <multiple>capitoli</multiple>+ </term>+ <term name="column">+ <single>colonna</single>+ <multiple>colonne</multiple>+ </term>+ <term name="figure">+ <single>figura</single>+ <multiple>figure</multiple>+ </term>+ <term name="folio">+ <single>foglio</single>+ <multiple>fogli</multiple>+ </term>+ <term name="issue">+ <single>numero</single>+ <multiple>numeri</multiple>+ </term>+ <term name="line">+ <single>riga</single>+ <multiple>righe</multiple>+ </term>+ <term name="note">+ <single>nota</single>+ <multiple>note</multiple>+ </term>+ <term name="opus">+ <single>opera</single>+ <multiple>opere</multiple>+ </term>+ <term name="page">+ <single>pagina</single>+ <multiple>pagine</multiple>+ </term>+ <term name="number-of-pages">+ <single>pagina</single>+ <multiple>pagine</multiple>+ </term>+ <term name="paragraph">+ <single>capoverso</single>+ <multiple>capoversi</multiple>+ </term>+ <term name="part">+ <single>parte</single>+ <multiple>parti</multiple>+ </term>+ <term name="section">+ <single>paragrafo</single>+ <multiple>paragrafi</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>verso</single>+ <multiple>versi</multiple>+ </term>+ <term name="volume">+ <single>volume</single>+ <multiple>volumi</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">lib.</term>+ <term name="chapter" form="short">cap.</term>+ <term name="column" form="short">col.</term>+ <term name="figure" form="short">fig.</term>+ <term name="folio" form="short">fgl.</term>+ <term name="issue" form="short">n.</term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">+ <single>pag.</single>+ <multiple>pagg.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>pag.</single>+ <multiple>pagg.</multiple>+ </term>+ <term name="paragraph" form="short">cpv.</term>+ <term name="part" form="short">pt.</term>+ <term name="section" form="short">par.</term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>v.</single>+ <multiple>vv.</multiple>+ </term>+ <term name="volume" form="short">+ <single>vol.</single>+ <multiple>vol.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>director</single>+ <multiple>directors</multiple>+ </term>+ <term name="editor">+ <single>curatore</single>+ <multiple>curatori</multiple>+ </term>+ <term name="editorial-director">+ <single>editor</single>+ <multiple>editors</multiple>+ </term>+ <term name="illustrator">+ <single>illustrator</single>+ <multiple>illustrators</multiple>+ </term>+ <term name="translator">+ <single>traduttore</single>+ <multiple>traduttori</multiple>+ </term>+ <term name="editortranslator">+ <single>curatore e traduttore</single>+ <multiple>curatori e tradutori</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>dir.</single>+ <multiple>dirs.</multiple>+ </term>+ <term name="editor" form="short">+ <single>a c. di</single>+ <multiple>a c. di</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>ed.</single>+ <multiple>eds.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>ill.</single>+ <multiple>ills.</multiple>+ </term>+ <term name="translator" form="short">+ <single>trad.</single>+ <multiple>trad.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>a c. di e trad. da</single>+ <multiple>a c. di e trad. da</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">di</term>+ <term name="director" form="verb">directed by</term>+ <term name="editor" form="verb">a cura di</term>+ <term name="editorial-director" form="verb">edited by</term>+ <term name="illustrator" form="verb">illustrated by</term>+ <term name="interviewer" form="verb">intervista di</term>+ <term name="recipient" form="verb">a</term>+ <term name="reviewed-author" form="verb">by</term>+ <term name="translator" form="verb">tradotto da</term>+ <term name="editortranslator" form="verb">a cura di e tradotto da</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">dir.</term>+ <term name="editor" form="verb-short">a c. di</term>+ <term name="editorial-director" form="verb-short">ed.</term>+ <term name="illustrator" form="verb-short">illus.</term>+ <term name="translator" form="verb-short">trad. da</term>+ <term name="editortranslator" form="verb-short">a c. di e trad. da</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">gennaio</term>+ <term name="month-02">febbraio</term>+ <term name="month-03">marzo</term>+ <term name="month-04">aprile</term>+ <term name="month-05">maggio</term>+ <term name="month-06">giugno</term>+ <term name="month-07">luglio</term>+ <term name="month-08">agosto</term>+ <term name="month-09">settembre</term>+ <term name="month-10">ottobre</term>+ <term name="month-11">novembre</term>+ <term name="month-12">dicembre</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">gen.</term>+ <term name="month-02" form="short">feb.</term>+ <term name="month-03" form="short">mar.</term>+ <term name="month-04" form="short">apr.</term>+ <term name="month-05" form="short">mag.</term>+ <term name="month-06" form="short">giu.</term>+ <term name="month-07" form="short">lug.</term>+ <term name="month-08" form="short">ago.</term>+ <term name="month-09" form="short">set.</term>+ <term name="month-10" form="short">ott.</term>+ <term name="month-11" form="short">nov.</term>+ <term name="month-12" form="short">dic.</term>++ <!-- SEASONS -->+ <term name="season-01">primavera</term>+ <term name="season-02">estate</term>+ <term name="season-03">autunno</term>+ <term name="season-04">inverno</term>+ </terms>+</locale>
+ locales/ja-JP.xml view
@@ -0,0 +1,315 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="ja-JP">+ <info>+ <translator>+ <name>Shoji Takahashi</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="year" suffix="年"/>+ <date-part name="month" form="numeric" suffix="月"/>+ <date-part name="day" suffix="日"/>+ </date>+ <date form="numeric">+ <date-part name="year" suffix="年"/>+ <date-part name="month" form="numeric" suffix="月"/>+ <date-part name="day" suffix="日"/>+ </date>+ <terms>+ <term name="accessed">参照</term>+ <term name="and">と</term>+ <term name="and others">and others</term>+ <term name="anonymous">anonymous</term>+ <term name="anonymous" form="short">anon</term>+ <term name="at">at</term>+ <term name="available at">available at</term>+ <term name="by">by</term>+ <term name="circa">circa</term>+ <term name="circa" form="short">c.</term>+ <term name="cited">cited</term>+ <term name="edition">+ <single>版</single>+ <multiple>版</multiple>+ </term>+ <term name="edition" form="short">版</term>+ <term name="et-al">ほか</term>+ <term name="forthcoming">近刊</term>+ <term name="from">から</term>+ <term name="ibid">前掲</term>+ <term name="in"></term>+ <term name="in press">in press</term>+ <term name="internet">internet</term>+ <term name="interview">interview</term>+ <term name="letter">letter</term>+ <term name="no date">no date</term>+ <term name="no date" form="short">日付なし</term>+ <term name="online">online</term>+ <term name="presented at">presented at the</term>+ <term name="reference">+ <single>reference</single>+ <multiple>references</multiple>+ </term>+ <term name="reference" form="short">+ <single>ref.</single>+ <multiple>refs.</multiple>+ </term>+ <term name="retrieved">読み込み</term>+ <term name="scale">scale</term>+ <term name="version">version</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">AD</term>+ <term name="bc">BC</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">「</term>+ <term name="close-quote">」</term>+ <term name="open-inner-quote">『</term>+ <term name="close-inner-quote">』</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">th</term>+ <term name="ordinal-01">st</term>+ <term name="ordinal-02">nd</term>+ <term name="ordinal-03">rd</term>+ <term name="ordinal-11">th</term>+ <term name="ordinal-12">th</term>+ <term name="ordinal-13">th</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">first</term>+ <term name="long-ordinal-02">second</term>+ <term name="long-ordinal-03">third</term>+ <term name="long-ordinal-04">fourth</term>+ <term name="long-ordinal-05">fifth</term>+ <term name="long-ordinal-06">sixth</term>+ <term name="long-ordinal-07">seventh</term>+ <term name="long-ordinal-08">eighth</term>+ <term name="long-ordinal-09">ninth</term>+ <term name="long-ordinal-10">tenth</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>book</single>+ <multiple>books</multiple>+ </term>+ <term name="chapter">+ <single>chapter</single>+ <multiple>chapters</multiple>+ </term>+ <term name="column">+ <single>column</single>+ <multiple>columns</multiple>+ </term>+ <term name="figure">+ <single>figure</single>+ <multiple>figures</multiple>+ </term>+ <term name="folio">+ <single>folio</single>+ <multiple>folios</multiple>+ </term>+ <term name="issue">+ <single>number</single>+ <multiple>numbers</multiple>+ </term>+ <term name="line">+ <single>行</single>+ <multiple>行</multiple>+ </term>+ <term name="note">+ <single>note</single>+ <multiple>notes</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opera</multiple>+ </term>+ <term name="page">+ <single>ページ</single>+ <multiple>ページ</multiple>+ </term>+ <term name="number-of-pages">+ <single>ページ</single>+ <multiple>ページ</multiple>+ </term>+ <term name="paragraph">+ <single>段落</single>+ <multiple>段落</multiple>+ </term>+ <term name="part">+ <single>part</single>+ <multiple>parts</multiple>+ </term>+ <term name="section">+ <single>section</single>+ <multiple>sections</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>verse</single>+ <multiple>verses</multiple>+ </term>+ <term name="volume">+ <single>volume</single>+ <multiple>volumes</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">bk.</term>+ <term name="chapter" form="short">chap.</term>+ <term name="column" form="short">col.</term>+ <term name="figure" form="short">fig.</term>+ <term name="folio" form="short">f.</term>+ <term name="issue" form="short">no.</term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">+ <single>p.</single>+ <multiple>pp.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>p.</single>+ <multiple>pp.</multiple>+ </term>+ <term name="paragraph" form="short">para.</term>+ <term name="part" form="short">pt.</term>+ <term name="section" form="short">sec.</term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>v.</single>+ <multiple>vv.</multiple>+ </term>+ <term name="volume" form="short">+ <single>vol.</single>+ <multiple>vols.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>director</single>+ <multiple>directors</multiple>+ </term>+ <term name="editor">+ <single>編</single>+ <multiple>編</multiple>+ </term>+ <term name="editorial-director">+ <single>editor</single>+ <multiple>editors</multiple>+ </term>+ <term name="illustrator">+ <single>illustrator</single>+ <multiple>illustrators</multiple>+ </term>+ <term name="translator">+ <single>翻訳者</single>+ <multiple>翻訳者</multiple>+ </term>+ <term name="editortranslator">+ <single>editor & translator</single>+ <multiple>editors & translators</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>dir.</single>+ <multiple>dirs.</multiple>+ </term>+ <term name="editor" form="short">+ <single>編</single>+ <multiple>編</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>ed.</single>+ <multiple>eds.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>ill.</single>+ <multiple>ills.</multiple>+ </term>+ <term name="translator" form="short">+ <single>翻訳者</single>+ <multiple>翻訳者</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>ed. & tran.</single>+ <multiple>eds. & trans.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">by</term>+ <term name="director" form="verb">directed by</term>+ <term name="editor" form="verb">編集者:</term>+ <term name="editorial-director" form="verb">edited by</term>+ <term name="illustrator" form="verb">illustrated by</term>+ <term name="interviewer" form="verb">interview by</term>+ <term name="recipient" form="verb">to</term>+ <term name="reviewed-author" form="verb">by</term>+ <term name="translator" form="verb">翻訳者:</term>+ <term name="editortranslator" form="verb">edited & translated by</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">dir.</term>+ <term name="editor" form="verb-short">編集者:</term>+ <term name="editorial-director" form="verb-short">ed.</term>+ <term name="illustrator" form="verb-short">illus.</term>+ <term name="translator" form="verb-short">翻訳者:</term>+ <term name="editortranslator" form="verb-short">ed. & trans. by</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">1月</term>+ <term name="month-02">2月</term>+ <term name="month-03">3月</term>+ <term name="month-04">4月</term>+ <term name="month-05">5月</term>+ <term name="month-06">6月</term>+ <term name="month-07">7月</term>+ <term name="month-08">8月</term>+ <term name="month-09">9月</term>+ <term name="month-10">10月</term>+ <term name="month-11">11月</term>+ <term name="month-12">12月</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">1月</term>+ <term name="month-02" form="short">2月</term>+ <term name="month-03" form="short">3月</term>+ <term name="month-04" form="short">4月</term>+ <term name="month-05" form="short">5月</term>+ <term name="month-06" form="short">6月</term>+ <term name="month-07" form="short">7月</term>+ <term name="month-08" form="short">8月</term>+ <term name="month-09" form="short">9月</term>+ <term name="month-10" form="short">10月</term>+ <term name="month-11" form="short">11月</term>+ <term name="month-12" form="short">12月</term>++ <!-- SEASONS -->+ <term name="season-01">Spring</term>+ <term name="season-02">Summer</term>+ <term name="season-03">Autumn</term>+ <term name="season-04">Winter</term>+ </terms>+</locale>
+ locales/km-KH.xml view
@@ -0,0 +1,312 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="km-KH">+ <info>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" form="numeric" suffix=""/>+ <date-part name="month" suffix=""/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">accessed</term>+ <term name="and">and</term>+ <term name="and others">and others</term>+ <term name="anonymous">anonymous</term>+ <term name="anonymous" form="short">anon.</term>+ <term name="at">at</term>+ <term name="available at">available at</term>+ <term name="by">by</term>+ <term name="circa">circa</term>+ <term name="circa" form="short">c.</term>+ <term name="cited">cited</term>+ <term name="edition">+ <single>edition</single>+ <multiple>editions</multiple>+ </term>+ <term name="edition" form="short">ed.</term>+ <term name="et-al">et al.</term>+ <term name="forthcoming">forthcoming</term>+ <term name="from">from</term>+ <term name="ibid">ibid</term>+ <term name="in">in</term>+ <term name="in press">in press</term>+ <term name="internet">internet</term>+ <term name="interview">interview</term>+ <term name="letter">letter</term>+ <term name="no date">no date</term>+ <term name="no date" form="short">n.d.</term>+ <term name="online">online</term>+ <term name="presented at">presented at the</term>+ <term name="reference">+ <single>reference</single>+ <multiple>references</multiple>+ </term>+ <term name="reference" form="short">+ <single>ref.</single>+ <multiple>refs.</multiple>+ </term>+ <term name="retrieved">retrieved</term>+ <term name="scale">scale</term>+ <term name="version">version</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">AD</term>+ <term name="bc">BC</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">“</term>+ <term name="close-quote">”</term>+ <term name="open-inner-quote">‘</term>+ <term name="close-inner-quote">’</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">th</term>+ <term name="ordinal-01">st</term>+ <term name="ordinal-02">nd</term>+ <term name="ordinal-03">rd</term>+ <term name="ordinal-11">th</term>+ <term name="ordinal-12">th</term>+ <term name="ordinal-13">th</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">ទីមួយ</term>+ <term name="long-ordinal-02">ទីពីរ</term>+ <term name="long-ordinal-03">ទីបី</term>+ <term name="long-ordinal-04">ទីបួន</term>+ <term name="long-ordinal-05">ទីប្រាំ</term>+ <term name="long-ordinal-06">ទីប្រាំមួយ</term>+ <term name="long-ordinal-07">ទីប្រាំពីរ</term>+ <term name="long-ordinal-08">ទីប្រាំបី</term>+ <term name="long-ordinal-09">ទីប្រាំបួន</term>+ <term name="long-ordinal-10">ទីដប់មួយ</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>សៀវភៅ</single>+ <multiple>សៀវភៅ</multiple>+ </term>+ <term name="chapter">+ <single>ជំពូក</single>+ <multiple>ជំពូក</multiple>+ </term>+ <term name="column">+ <single>កាឡោន</single>+ <multiple>កាឡោន</multiple>+ </term>+ <term name="figure">+ <single>តួលេខ</single>+ <multiple>តួលេខ</multiple>+ </term>+ <term name="folio">+ <single>folio</single>+ <multiple>folios</multiple>+ </term>+ <term name="issue">+ <single>ចំនួន</single>+ <multiple>ចំនួន</multiple>+ </term>+ <term name="line">+ <single>បន្ទាត់</single>+ <multiple>បន្ទាត់</multiple>+ </term>+ <term name="note">+ <single>កំណត់ចំណាំ</single>+ <multiple>កំណត់ចំណាំ</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opera</multiple>+ </term>+ <term name="page">+ <single>ទំព័រ</single>+ <multiple>ទំព័រ</multiple>+ </term>+ <term name="number-of-pages">+ <single>ទំព័រ</single>+ <multiple>ទំព័រ</multiple>+ </term>+ <term name="paragraph">+ <single>កថាខណ្ឌ</single>+ <multiple>កថាខណ្ឌ</multiple>+ </term>+ <term name="part">+ <single>ជំពូក</single>+ <multiple>ជំពូក</multiple>+ </term>+ <term name="section">+ <single>ផ្នែក</single>+ <multiple>ផ្នែក</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>verse</single>+ <multiple>verses</multiple>+ </term>+ <term name="volume">+ <single>វ៉ុល</single>+ <multiple>វ៉ុល</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">bk.</term>+ <term name="chapter" form="short">chap.</term>+ <term name="column" form="short">col.</term>+ <term name="figure" form="short">fig.</term>+ <term name="folio" form="short">f.</term>+ <term name="issue" form="short">no.</term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">+ <single>p.</single>+ <multiple>pp.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>p.</single>+ <multiple>pp.</multiple>+ </term>+ <term name="paragraph" form="short">para.</term>+ <term name="part" form="short">pt.</term>+ <term name="section" form="short">sec.</term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>v.</single>+ <multiple>vv.</multiple>+ </term>+ <term name="volume" form="short">+ <single>vol.</single>+ <multiple>vols.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>director</single>+ <multiple>directors</multiple>+ </term>+ <term name="editor">+ <single>editor</single>+ <multiple>editors</multiple>+ </term>+ <term name="editorial-director">+ <single></single>+ <multiple>editors</multiple>+ </term>+ <term name="illustrator">+ <single>illustrator</single>+ <multiple>illustrators</multiple>+ </term>+ <term name="translator">+ <single>translator</single>+ <multiple>translator</multiple>+ </term>+ <term name="editortranslator">+ <single>editor & translator</single>+ <multiple>editors & translators</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>dir.</single>+ <multiple>dirs.</multiple>+ </term>+ <term name="editor" form="short">+ <single>ed.</single>+ <multiple>eds.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>ed.</single>+ <multiple>eds.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>ill.</single>+ <multiple>ills.</multiple>+ </term>+ <term name="translator" form="short">+ <single>tran.</single>+ <multiple>trans.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>ed. & tran.</single>+ <multiple>eds. & trans.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">by</term>+ <term name="director" form="verb">directed by</term>+ <term name="editor" form="verb">edited by</term>+ <term name="editorial-director" form="verb">edited by</term>+ <term name="illustrator" form="verb">illustrated by</term>+ <term name="interviewer" form="verb">interview by</term>+ <term name="recipient" form="verb">to</term>+ <term name="reviewed-author" form="verb">by</term>+ <term name="translator" form="verb">translated by</term>+ <term name="editortranslator" form="verb">edited & translated by</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">dir.</term>+ <term name="editor" form="verb-short">ed.</term>+ <term name="editorial-director" form="verb-short">ed.</term>+ <term name="illustrator" form="verb-short">illus.</term>+ <term name="translator" form="verb-short">trans.</term>+ <term name="editortranslator" form="verb-short">ed. & trans. by</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">មករា</term>+ <term name="month-02">កុម្ភៈ</term>+ <term name="month-03">មីនា</term>+ <term name="month-04">មេសា</term>+ <term name="month-05">ឧសភា</term>+ <term name="month-06">មិថុនា</term>+ <term name="month-07">កក្កដា</term>+ <term name="month-08">សីហា</term>+ <term name="month-09">កញ្ញា</term>+ <term name="month-10">តុលា</term>+ <term name="month-11">វិច្ឆិកា</term>+ <term name="month-12">ធ្នូ</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">Jan.</term>+ <term name="month-02" form="short">Feb.</term>+ <term name="month-03" form="short">Mar.</term>+ <term name="month-04" form="short">Apr.</term>+ <term name="month-05" form="short">May</term>+ <term name="month-06" form="short">Jun.</term>+ <term name="month-07" form="short">Jul.</term>+ <term name="month-08" form="short">Aug.</term>+ <term name="month-09" form="short">Sep.</term>+ <term name="month-10" form="short">Oct.</term>+ <term name="month-11" form="short">Nov.</term>+ <term name="month-12" form="short">Dec.</term>++ <!-- SEASONS -->+ <term name="season-01">Spring</term>+ <term name="season-02">Summer</term>+ <term name="season-03">Autumn</term>+ <term name="season-04">Winter</term>+ </terms>+</locale>
+ locales/ko-KR.xml view
@@ -0,0 +1,312 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="ko-KR">+ <info>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="year" suffix="년"/>+ <date-part name="month" form="numeric" prefix=" " suffix="월"/>+ <date-part name="day" prefix=" " suffix="일"/>+ </date>+ <date form="numeric">+ <date-part name="year"/>+ <date-part name="month" form="numeric-leading-zeros" prefix="/"/>+ <date-part name="day" form="numeric-leading-zeros" prefix="/"/>+ </date>+ <terms>+ <term name="accessed">접근된</term>+ <term name="and">와/과</term>+ <term name="and others">and others</term>+ <term name="anonymous">anonymous</term>+ <term name="anonymous" form="short">anon</term>+ <term name="at">at</term>+ <term name="available at">available at</term>+ <term name="by">by</term>+ <term name="circa">circa</term>+ <term name="circa" form="short">c.</term>+ <term name="cited">cited</term>+ <term name="edition">+ <single>edition</single>+ <multiple>editions</multiple>+ </term>+ <term name="edition" form="short">ed</term>+ <term name="et-al">기타</term>+ <term name="forthcoming">근간</term>+ <term name="from">(으)로부터</term>+ <term name="ibid">ibid.</term>+ <term name="in">in</term>+ <term name="in press">in press</term>+ <term name="internet">internet</term>+ <term name="interview">interview</term>+ <term name="letter">letter</term>+ <term name="no date">no date</term>+ <term name="no date" form="short">일자 없음</term>+ <term name="online">online</term>+ <term name="presented at">presented at the</term>+ <term name="reference">+ <single>reference</single>+ <multiple>references</multiple>+ </term>+ <term name="reference" form="short">+ <single>ref.</single>+ <multiple>refs.</multiple>+ </term>+ <term name="retrieved">retrieved</term>+ <term name="scale">scale</term>+ <term name="version">version</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">AD</term>+ <term name="bc">BC</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">“</term>+ <term name="close-quote">”</term>+ <term name="open-inner-quote">‘</term>+ <term name="close-inner-quote">’</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">th</term>+ <term name="ordinal-01">st</term>+ <term name="ordinal-02">nd</term>+ <term name="ordinal-03">rd</term>+ <term name="ordinal-11">th</term>+ <term name="ordinal-12">th</term>+ <term name="ordinal-13">th</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">first</term>+ <term name="long-ordinal-02">second</term>+ <term name="long-ordinal-03">third</term>+ <term name="long-ordinal-04">fourth</term>+ <term name="long-ordinal-05">fifth</term>+ <term name="long-ordinal-06">sixth</term>+ <term name="long-ordinal-07">seventh</term>+ <term name="long-ordinal-08">eighth</term>+ <term name="long-ordinal-09">ninth</term>+ <term name="long-ordinal-10">tenth</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>book</single>+ <multiple>books</multiple>+ </term>+ <term name="chapter">+ <single>chapter</single>+ <multiple>chapters</multiple>+ </term>+ <term name="column">+ <single>column</single>+ <multiple>columns</multiple>+ </term>+ <term name="figure">+ <single>figure</single>+ <multiple>figures</multiple>+ </term>+ <term name="folio">+ <single>folio</single>+ <multiple>folios</multiple>+ </term>+ <term name="issue">+ <single>number</single>+ <multiple>numbers</multiple>+ </term>+ <term name="line">+ <single>행</single>+ <multiple>행</multiple>+ </term>+ <term name="note">+ <single>note</single>+ <multiple>notes</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opera</multiple>+ </term>+ <term name="page">+ <single>페이지</single>+ <multiple>페이지</multiple>+ </term>+ <term name="number-of-pages">+ <single>페이지</single>+ <multiple>페이지</multiple>+ </term>+ <term name="paragraph">+ <single>단락</single>+ <multiple>단락</multiple>+ </term>+ <term name="part">+ <single>part</single>+ <multiple>parts</multiple>+ </term>+ <term name="section">+ <single>section</single>+ <multiple>sections</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>verse</single>+ <multiple>verses</multiple>+ </term>+ <term name="volume">+ <single>volume</single>+ <multiple>volumes</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">bk</term>+ <term name="chapter" form="short">chap</term>+ <term name="column" form="short">col</term>+ <term name="figure" form="short">fig</term>+ <term name="folio" form="short">f</term>+ <term name="issue" form="short">호</term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">op</term>+ <term name="page" form="short">+ <single>p</single>+ <multiple>pp</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>p</single>+ <multiple>pp</multiple>+ </term>+ <term name="paragraph" form="short">para</term>+ <term name="part" form="short">pt</term>+ <term name="section" form="short">sec</term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>v</single>+ <multiple>vv</multiple>+ </term>+ <term name="volume" form="short">+ <single>vol</single>+ <multiple>vols</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>director</single>+ <multiple>directors</multiple>+ </term>+ <term name="editor">+ <single>편집자</single>+ <multiple>편집자</multiple>+ </term>+ <term name="editorial-director">+ <single>editor</single>+ <multiple>editors</multiple>+ </term>+ <term name="illustrator">+ <single>illustrator</single>+ <multiple>illustrators</multiple>+ </term>+ <term name="translator">+ <single>번역자</single>+ <multiple>번역자</multiple>+ </term>+ <term name="editortranslator">+ <single>editor & translator</single>+ <multiple>editors & translators</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>dir.</single>+ <multiple>dirs.</multiple>+ </term>+ <term name="editor" form="short">+ <single>편집자</single>+ <multiple>편집자</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>ed.</single>+ <multiple>eds.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>ill.</single>+ <multiple>ills.</multiple>+ </term>+ <term name="translator" form="short">+ <single>번역자</single>+ <multiple>번역자</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>ed. & tran.</single>+ <multiple>eds. & trans.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">by</term>+ <term name="director" form="verb">directed by</term>+ <term name="editor" form="verb">편집자:</term>+ <term name="editorial-director" form="verb">edited by</term>+ <term name="illustrator" form="verb">illustrated by</term>+ <term name="interviewer" form="verb">interview by</term>+ <term name="recipient" form="verb">to</term>+ <term name="reviewed-author" form="verb">by</term>+ <term name="translator" form="verb">번역자:</term>+ <term name="editortranslator" form="verb">edited & translated by</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">dir.</term>+ <term name="editor" form="verb-short">ed</term>+ <term name="editorial-director" form="verb-short">ed.</term>+ <term name="illustrator" form="verb-short">illus.</term>+ <term name="translator" form="verb-short">trans</term>+ <term name="editortranslator" form="verb-short">ed. & trans. by</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">1월</term>+ <term name="month-02">2월</term>+ <term name="month-03">3월</term>+ <term name="month-04">4월</term>+ <term name="month-05">5월</term>+ <term name="month-06">6월</term>+ <term name="month-07">7월</term>+ <term name="month-08">8월</term>+ <term name="month-09">9월</term>+ <term name="month-10">10월</term>+ <term name="month-11">11월</term>+ <term name="month-12">12월</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">1</term>+ <term name="month-02" form="short">2</term>+ <term name="month-03" form="short">3</term>+ <term name="month-04" form="short">4</term>+ <term name="month-05" form="short">5</term>+ <term name="month-06" form="short">6</term>+ <term name="month-07" form="short">7</term>+ <term name="month-08" form="short">8</term>+ <term name="month-09" form="short">9</term>+ <term name="month-10" form="short">10</term>+ <term name="month-11" form="short">11</term>+ <term name="month-12" form="short">12</term>++ <!-- SEASONS -->+ <term name="season-01">Spring</term>+ <term name="season-02">Summer</term>+ <term name="season-03">Autumn</term>+ <term name="season-04">Winter</term>+ </terms>+</locale>
+ locales/la.xml view
@@ -0,0 +1,309 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="la">+ <info>+ <translator>+ <name>Andrew Dunning</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2019-01-21T13:33:33+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">consultatus</term>+ <term name="and">et</term>+ <term name="and others">et alii</term>+ <term name="anonymous">anonymus</term>+ <term name="anonymous" form="short">anon.</term>+ <term name="at">ad</term>+ <term name="available at">praestatus ad</term>+ <term name="by">a</term>+ <term name="circa">circa</term>+ <term name="circa" form="short">c.</term>+ <term name="cited">citatus</term>+ <term name="edition">+ <single>editio</single>+ <multiple>editiones</multiple>+ </term>+ <term name="edition" form="short">ed.</term>+ <term name="et-al">et al.</term>+ <term name="forthcoming">futurus</term>+ <term name="from">ab</term>+ <term name="ibid">ibid.</term>+ <term name="in">in</term>+ <term name="in press">impressorio</term>+ <term name="internet">interrete</term>+ <term name="interview">congressus</term>+ <term name="letter">epistula</term>+ <term name="no date">sine die</term>+ <term name="no date" form="short">s.d.</term>+ <term name="online">in linea</term>+ <term name="presented at">praebitus ad</term>+ <term name="reference">+ <single>relatio</single>+ <multiple>relationes</multiple>+ </term>+ <term name="reference" form="short">+ <single>rel.</single>+ <multiple>rell.</multiple>+ </term>+ <term name="retrieved">recuperatus</term>+ <term name="scale">scala</term>+ <term name="version">uersio</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">A.D.</term>+ <term name="bc">A.C.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">‘</term>+ <term name="close-quote">’</term>+ <term name="open-inner-quote">“</term>+ <term name="close-inner-quote">”</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">º</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">primus</term>+ <term name="long-ordinal-02">secundus</term>+ <term name="long-ordinal-03">tertius</term>+ <term name="long-ordinal-04">quartus</term>+ <term name="long-ordinal-05">quintus</term>+ <term name="long-ordinal-06">sextus</term>+ <term name="long-ordinal-07">septimus</term>+ <term name="long-ordinal-08">octauus</term>+ <term name="long-ordinal-09">nonus</term>+ <term name="long-ordinal-10">decimus</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>liber</single>+ <multiple>libri</multiple>+ </term>+ <term name="chapter">+ <single>capitulum</single>+ <multiple>capitula</multiple>+ </term>+ <term name="column">+ <single>columna</single>+ <multiple>columnae</multiple>+ </term>+ <term name="figure">+ <single>figura</single>+ <multiple>figurae</multiple>+ </term>+ <term name="folio">+ <single>folium</single>+ <multiple>folii</multiple>+ </term>+ <term name="issue">+ <single>numerus</single>+ <multiple>numeri</multiple>+ </term>+ <term name="line">+ <single>linea</single>+ <multiple>lineae</multiple>+ </term>+ <term name="note">+ <single>nota</single>+ <multiple>notae</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opera</multiple>+ </term>+ <term name="page">+ <single>pagina</single>+ <multiple>paginae</multiple>+ </term>+ <term name="number-of-pages">+ <single>pagina</single>+ <multiple>paginae</multiple>+ </term>+ <term name="paragraph">+ <single>paragraphus</single>+ <multiple>paragraphi</multiple>+ </term>+ <term name="part">+ <single>pars</single>+ <multiple>partes</multiple>+ </term>+ <term name="section">+ <single>paragraphus</single>+ <multiple>paragraphi</multiple>+ </term>+ <term name="sub verbo">+ <single>sub uerbo</single>+ <multiple>sub uerbis</multiple>+ </term>+ <term name="verse">+ <single>versus</single>+ <multiple>versus</multiple>+ </term>+ <term name="volume">+ <single>tomus</single>+ <multiple>tomi</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">lib.</term>+ <term name="chapter" form="short">cap.</term>+ <term name="column" form="short">col.</term>+ <term name="figure" form="short">fig.</term>+ <term name="folio" form="short">fol.</term>+ <term name="issue" form="short">n.</term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">+ <single>p.</single>+ <multiple>pp.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>p.</single>+ <multiple>pp.</multiple>+ </term>+ <term name="paragraph" form="short">par.</term>+ <term name="part" form="short">pr.</term>+ <term name="section" form="short">par.</term>+ <term name="sub verbo" form="short">+ <single>s.u.</single>+ <multiple>s.uu.</multiple>+ </term>+ <term name="verse" form="short">+ <single>u.</single>+ <multiple>uu.</multiple>+ </term>+ <term name="volume" form="short">+ <single>t.</single>+ <multiple>tt.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>director</single>+ <multiple>directores</multiple>+ </term>+ <term name="editor">+ <single>curator</single>+ <multiple>curatores</multiple>+ </term>+ <term name="editorial-director">+ <single>editor</single>+ <multiple>editores</multiple>+ </term>+ <term name="illustrator">+ <single>illustrator</single>+ <multiple>illustratores</multiple>+ </term>+ <term name="translator">+ <single>interpres</single>+ <multiple>interpretes</multiple>+ </term>+ <term name="editortranslator">+ <single>curator et interpres</single>+ <multiple>curatores et interpretes</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>dir.</single>+ <multiple>dirs.</multiple>+ </term>+ <term name="editor" form="short">+ <single>cur.</single>+ <multiple>curs.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>ed.</single>+ <multiple>eds.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>ill.</single>+ <multiple>ills.</multiple>+ </term>+ <term name="translator" form="short">+ <single>interp.</single>+ <multiple>interps.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>cur. et interp.</single>+ <multiple>curs. et interps.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">a</term>+ <term name="director" form="verb">a directione</term>+ <term name="editor" form="verb">a cura</term>+ <term name="editorial-director" form="verb">ab editione</term>+ <term name="illustrator" form="verb">ab illustratione</term>+ <term name="interviewer" form="verb">a congressione</term>+ <term name="recipient" form="verb">a</term>+ <term name="reviewed-author" form="verb">a</term>+ <term name="translator" form="verb">a interpretatione</term>+ <term name="editortranslator" form="verb">a cura et interpretatione</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">dir.</term>+ <term name="editor" form="verb-short">cur.</term>+ <term name="editorial-director" form="verb-short">ed.</term>+ <term name="illustrator" form="verb-short">illus.</term>+ <term name="translator" form="verb-short">interp.</term>+ <term name="editortranslator" form="verb-short">a cur. et interp.</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">ianuarius</term>+ <term name="month-02">februarius</term>+ <term name="month-03">martius</term>+ <term name="month-04">aprilis</term>+ <term name="month-05">maius</term>+ <term name="month-06">iunius</term>+ <term name="month-07">iulius</term>+ <term name="month-08">augustus</term>+ <term name="month-09">september</term>+ <term name="month-10">october</term>+ <term name="month-11">nouember</term>+ <term name="month-12">december</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">ian.</term>+ <term name="month-02" form="short">feb.</term>+ <term name="month-03" form="short">mar.</term>+ <term name="month-04" form="short">apr.</term>+ <term name="month-05" form="short">mai.</term>+ <term name="month-06" form="short">iun.</term>+ <term name="month-07" form="short">iul.</term>+ <term name="month-08" form="short">aug.</term>+ <term name="month-09" form="short">sep.</term>+ <term name="month-10" form="short">oct.</term>+ <term name="month-11" form="short">nou.</term>+ <term name="month-12" form="short">dec.</term>++ <!-- SEASONS -->+ <term name="season-01">uer</term>+ <term name="season-02">aestas</term>+ <term name="season-03">autumnus</term>+ <term name="season-04">hiems</term>+ </terms>+</locale>
+ locales/locales.json view
@@ -0,0 +1,263 @@+{+ "primary-dialects": {+ "af": "af-ZA",+ "ar": "ar",+ "bg": "bg-BG",+ "ca": "ca-AD",+ "cs": "cs-CZ",+ "cy": "cy-GB",+ "da": "da-DK",+ "de": "de-DE",+ "el": "el-GR",+ "en": "en-US",+ "es": "es-ES",+ "et": "et-EE",+ "eu": "eu",+ "fa": "fa-IR",+ "fi": "fi-FI",+ "fr": "fr-FR",+ "he": "he-IL",+ "hr": "hr-HR",+ "hu": "hu-HU",+ "id": "id-ID",+ "is": "is-IS",+ "it": "it-IT",+ "ja": "ja-JP",+ "km": "km-KH",+ "ko": "ko-KR",+ "la": "la",+ "lt": "lt-LT",+ "lv": "lv-LV",+ "mn": "mn-MN",+ "nb": "nb-NO",+ "nl": "nl-NL",+ "nn": "nn-NO",+ "pl": "pl-PL",+ "pt": "pt-PT",+ "ro": "ro-RO",+ "ru": "ru-RU",+ "sk": "sk-SK",+ "sl": "sl-SI",+ "sr": "sr-RS",+ "sv": "sv-SE",+ "th": "th-TH",+ "tr": "tr-TR",+ "uk": "uk-UA",+ "vi": "vi-VN",+ "zh": "zh-CN"+ },+ "language-names": {+ "af-ZA": [+ "Afrikaans",+ "Afrikaans"+ ],+ "ar": [+ "العربية",+ "Arabic"+ ],+ "bg-BG": [+ "Български",+ "Bulgarian"+ ],+ "ca-AD": [+ "Català",+ "Catalan"+ ],+ "cs-CZ": [+ "Čeština",+ "Czech"+ ],+ "cy-GB": [+ "Cymraeg",+ "Welsh"+ ],+ "da-DK": [+ "Dansk",+ "Danish"+ ],+ "de-AT": [+ "Deutsch (Österreich)",+ "German (Austria)"+ ],+ "de-CH": [+ "Deutsch (Schweiz)",+ "German (Switzerland)"+ ],+ "de-DE": [+ "Deutsch (Deutschland)",+ "German (Germany)"+ ],+ "el-GR": [+ "Ελληνικά",+ "Greek"+ ],+ "en-GB": [+ "English (UK)",+ "English (UK)"+ ],+ "en-US": [+ "English (US)",+ "English (US)"+ ],+ "es-CL": [+ "Español (Chile)",+ "Spanish (Chile)"+ ],+ "es-ES": [+ "Español (España)",+ "Spanish (Spain)"+ ],+ "es-MX": [+ "Español (México)",+ "Spanish (Mexico)"+ ],+ "et-EE": [+ "Eesti",+ "Estonian"+ ],+ "eu": [+ "Euskara",+ "Basque"+ ],+ "fa-IR": [+ "فارسی",+ "Persian"+ ],+ "fi-FI": [+ "Suomi",+ "Finnish"+ ],+ "fr-CA": [+ "Français (Canada)",+ "French (Canada)"+ ],+ "fr-FR": [+ "Français (France)",+ "French (France)"+ ],+ "he-IL": [+ "עברית",+ "Hebrew"+ ],+ "hr-HR": [+ "Hrvatski",+ "Croatian"+ ],+ "hu-HU": [+ "Magyar",+ "Hungarian"+ ],+ "id-ID": [+ "Bahasa Indonesia",+ "Indonesian" + ],+ "is-IS": [+ "Íslenska",+ "Icelandic"+ ],+ "it-IT": [+ "Italiano",+ "Italian"+ ],+ "ja-JP": [+ "日本語",+ "Japanese"+ ],+ "km-KH": [+ "ភាសាខ្មែរ",+ "Khmer"+ ],+ "ko-KR": [+ "한국어",+ "Korean"+ ],+ "la": [+ "Latina",+ "Latin"+ ],+ "lt-LT": [+ "Lietuvių",+ "Lithuanian"+ ],+ "lv-LV": [+ "Latviešu",+ "Latvian"+ ],+ "mn-MN": [+ "Монгол",+ "Mongolian"+ ],+ "nb-NO": [+ "Norsk bokmål",+ "Norwegian (Bokmål)"+ ],+ "nl-NL": [+ "Nederlands",+ "Dutch"+ ],+ "nn-NO": [+ "Norsk nynorsk",+ "Norwegian (Nynorsk)"+ ],+ "pl-PL": [+ "Polski",+ "Polish"+ ],+ "pt-BR": [+ "Português (Brasil)",+ "Portuguese (Brazil)"+ ],+ "pt-PT": [+ "Português (Portugal)",+ "Portuguese (Portugal)"+ ],+ "ro-RO": [+ "Română",+ "Romanian"+ ],+ "ru-RU": [+ "Русский",+ "Russian"+ ],+ "sk-SK": [+ "Slovenčina",+ "Slovak"+ ],+ "sl-SI": [+ "Slovenščina",+ "Slovenian"+ ],+ "sr-RS": [+ "Српски / Srpski",+ "Serbian"+ ],+ "sv-SE": [+ "Svenska",+ "Swedish"+ ],+ "th-TH": [+ "ไทย",+ "Thai"+ ],+ "tr-TR": [+ "Türkçe",+ "Turkish"+ ],+ "uk-UA": [+ "Українська",+ "Ukrainian"+ ],+ "vi-VN": [+ "Tiếng Việt",+ "Vietnamese"+ ],+ "zh-CN": [+ "中文 (中国大陆)",+ "Chinese (PRC)"+ ],+ "zh-TW": [+ "中文 (台灣)",+ "Chinese (Taiwan)"+ ]+ }+}
+ locales/lt-LT.xml view
@@ -0,0 +1,328 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="lt-LT">+ <info>+ <translator>+ <name>Valdemaras Klumbys</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2017-01-18T10:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text" delimiter=" ">+ <!-- "2011 m. lapkričio 1 d." -->+ <date-part name="year" suffix=" m."/>+ <date-part name="month"/>+ <date-part name="day" form="numeric" suffix=" d."/>+ </date>+ <date form="numeric" delimiter="-">+ <!-- "2011-11-01" -->+ <date-part name="year"/>+ <date-part name="month" form="numeric-leading-zeros"/>+ <date-part name="day" form="numeric-leading-zeros"/>+ </date>+ <terms>+ <term name="accessed">žiūrėta</term>+ <term name="and">ir</term>+ <term name="and others">ir kt.</term>+ <term name="anonymous">anonimas</term>+ <term name="anonymous" form="short">anon.</term>+ <term name="at"></term>+ <term name="available at">adresas</term>+ <term name="by"></term>+ <term name="circa">apie</term>+ <term name="circa" form="short">apie</term>+ <term name="cited">žiūrėta</term>+ <term name="edition" gender="masculine">+ <single>leidimas</single>+ <multiple>leidimai</multiple>+ </term>+ <term name="edition" form="short">leid.</term>+ <term name="et-al">ir kt.</term>+ <term name="forthcoming">ruošiamas</term>+ <term name="from"></term>+ <term name="ibid">ten pat</term>+ <term name="in"></term>+ <term name="in press">priimta spaudai</term>+ <term name="internet">prieiga per internetą</term>+ <term name="interview">interviu</term>+ <term name="letter">laiškas</term>+ <term name="no date">sine anno</term>+ <term name="no date" form="short">s.a.</term>+ <term name="online">interaktyvus</term>+ <term name="presented at">pristatytas</term>+ <term name="reference">+ <single>nuoroda</single>+ <multiple>nuorodos</multiple>+ </term>+ <term name="reference" form="short">+ <single>nuor.</single>+ <multiple>nuor.</multiple>+ </term>+ <term name="retrieved">gauta</term>+ <term name="scale">mastelis</term>+ <term name="version">versija</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">po Kr.</term>+ <term name="bc">pr. Kr.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">„</term>+ <term name="close-quote">“</term>+ <term name="open-inner-quote">,</term>+ <term name="close-inner-quote">‘</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">-asis</term>+ <term name="ordinal" gender-form="masculine">-asis</term>+ <term name="ordinal" gender-form="feminine">-oji</term>+ <term name="ordinal-03" gender-form="masculine">-iasis</term>+ <term name="ordinal-13" gender-form="masculine">-asis</term>+ <term name="ordinal-03" gender-form="feminine">-ioji</term>+ <term name="ordinal-13" gender-form="feminine">-oji</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">pirmasis</term>+ <term name="long-ordinal-02">antrasis</term>+ <term name="long-ordinal-03">trečiasis</term>+ <term name="long-ordinal-04">ketvirtasis</term>+ <term name="long-ordinal-05">penktasis</term>+ <term name="long-ordinal-06">šeštasis</term>+ <term name="long-ordinal-07">septintasis</term>+ <term name="long-ordinal-08">aštuntasis</term>+ <term name="long-ordinal-09">devintasis</term>+ <term name="long-ordinal-10">dešimtasis</term>++ <term name="long-ordinal-01" gender-form="feminine">pirmoji</term>+ <term name="long-ordinal-02" gender-form="feminine">antroji</term>+ <term name="long-ordinal-03" gender-form="feminine">trečioji</term>+ <term name="long-ordinal-04" gender-form="feminine">ketvirtoji</term>+ <term name="long-ordinal-05" gender-form="feminine">penktoji</term>+ <term name="long-ordinal-06" gender-form="feminine">šeštoji</term>+ <term name="long-ordinal-07" gender-form="feminine">septintoji</term>+ <term name="long-ordinal-08" gender-form="feminine">aštuntoji</term>+ <term name="long-ordinal-09" gender-form="feminine">devintoji</term>+ <term name="long-ordinal-10" gender-form="feminine">dešimtoji</term>+ + <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>knyga</single>+ <multiple>knygos</multiple>+ </term>+ <term name="chapter">+ <single>skyrius</single>+ <multiple>skyriai</multiple>+ </term>+ <term name="column">+ <single>skiltis</single>+ <multiple>skiltys</multiple>+ </term>+ <term name="figure">+ <single>iliustracija</single>+ <multiple>iliustracijos</multiple>+ </term>+ <term name="folio">+ <single>lapas</single>+ <multiple>lapai</multiple>+ </term>+ <term name="issue" gender="masculine">+ <single>numeris</single>+ <multiple>numeriai</multiple>+ </term>+ <term name="line">+ <single>eilutė</single>+ <multiple>eilutės</multiple>+ </term>+ <term name="note">+ <single>pastaba</single>+ <multiple>pastabos</multiple>+ </term>+ <term name="opus">+ <single>kūrinys</single>+ <multiple>kūriniai</multiple>+ </term>+ <term name="page">+ <single>puslapis</single>+ <multiple>puslapiai</multiple>+ </term>+ <term name="number-of-pages" gender="masculine">+ <single>puslapis</single>+ <multiple>puslapiai</multiple>+ </term>+ <term name="paragraph">+ <single>pastraipa</single>+ <multiple>pastraipos</multiple>+ </term>+ <term name="part">+ <single>dalis</single>+ <multiple>dalys</multiple>+ </term>+ <term name="section">+ <single>poskyris</single>+ <multiple>poskyriai</multiple>+ </term>+ <term name="sub verbo">+ <single>žiūrėk</single>+ <multiple>žiūrėk</multiple>+ </term>+ <term name="verse">+ <single>eilėraštis</single>+ <multiple>eilėraščiai</multiple>+ </term>+ <term name="volume" gender="masculine">+ <single>tomas</single>+ <multiple>tomai</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">kn.</term>+ <term name="chapter" form="short">sk.</term>+ <term name="column" form="short">skilt.</term>+ <term name="figure" form="short">il.</term>+ <term name="folio" form="short">l.</term>+ <term name="issue" form="short">nr.</term>+ <term name="line" form="short">eil.</term>+ <term name="note" form="short">pstb.</term>+ <term name="opus" form="short">kūr.</term>+ <term name="page" form="short">+ <single>p.</single>+ <multiple>p.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>p.</single>+ <multiple>p.</multiple>+ </term>+ <term name="paragraph" form="short">pastr.</term>+ <term name="part" form="short">d.</term>+ <term name="section" form="short">posk.</term>+ <term name="sub verbo" form="short">+ <single>žr.</single>+ <multiple>žr.</multiple>+ </term>+ <term name="verse" form="short">+ <single>eilėr.</single>+ <multiple>eilėr.</multiple>+ </term>+ <term name="volume" form="short">+ <single>t.</single>+ <multiple>t.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>vadovas</single>+ <multiple>vadovai</multiple>+ </term>+ <term name="editor">+ <single>sudarytojas</single>+ <multiple>sudarytojai</multiple>+ </term>+ <term name="editorial-director">+ <single>atsakingasis redaktorius</single>+ <multiple>atsakingieji redaktoriai</multiple>+ </term>+ <term name="illustrator">+ <single>iliustratorius</single>+ <multiple>iliustratoriai</multiple>+ </term>+ <term name="translator">+ <single>vertėjas</single>+ <multiple>vertėjai</multiple>+ </term>+ <term name="editortranslator">+ <single>sudarytojas ir vertėjas</single>+ <multiple>sudarytojai ir vertėjai</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>vad.</single>+ <multiple>vad.</multiple>+ </term>+ <term name="editor" form="short">+ <single>sud.</single>+ <multiple>sud.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>ats. red.</single>+ <multiple>ats. red.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>iliustr.</single>+ <multiple>iliustr.</multiple>+ </term>+ <term name="translator" form="short">+ <single>vert.</single>+ <multiple>vert.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>sud. ir vert.</single>+ <multiple>sud. ir vert.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb"></term>+ <term name="director" form="verb">vadovavo</term>+ <term name="editor" form="verb">sudarė</term>+ <term name="editorial-director" form="verb">parengė</term>+ <term name="illustrator" form="verb">iliustravo</term>+ <term name="interviewer" form="verb">interviu ėmė</term>+ <term name="recipient" form="verb">gavo</term>+ <term name="reviewed-author" form="verb">recenzavo</term>+ <term name="translator" form="verb">vertė</term>+ <term name="editortranslator" form="verb">sudarė ir vertė</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">vad.</term>+ <term name="editor" form="verb-short">sud.</term>+ <term name="editorial-director" form="verb-short">pareng.</term>+ <term name="illustrator" form="verb-short">iliustr.</term>+ <term name="translator" form="verb-short">vert.</term>+ <term name="editortranslator" form="verb-short">sud. ir vert.</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">sausio</term>+ <term name="month-02">vasario</term>+ <term name="month-03">kovo</term>+ <term name="month-04">balandžio</term>+ <term name="month-05">gegužės</term>+ <term name="month-06">birželio</term>+ <term name="month-07">liepos</term>+ <term name="month-08">rugpjūčio</term>+ <term name="month-09">rugsėjo</term>+ <term name="month-10">spalio</term>+ <term name="month-11">lapkričio</term>+ <term name="month-12">gruodžio</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">saus.</term>+ <term name="month-02" form="short">vas.</term>+ <term name="month-03" form="short">kovo</term>+ <term name="month-04" form="short">bal.</term>+ <term name="month-05" form="short">geg.</term>+ <term name="month-06" form="short">birž.</term>+ <term name="month-07" form="short">liep.</term>+ <term name="month-08" form="short">rugpj.</term>+ <term name="month-09" form="short">rugs.</term>+ <term name="month-10" form="short">spal.</term>+ <term name="month-11" form="short">lapkr.</term>+ <term name="month-12" form="short">gruodž.</term>++ <!-- SEASONS -->+ <term name="season-01">pavasaris</term>+ <term name="season-02">vasara</term>+ <term name="season-03">ruduo</term>+ <term name="season-04">žiema</term>+ </terms>+</locale>
+ locales/lv-LV.xml view
@@ -0,0 +1,361 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="lv-LV">+ <info>+ <translator>+ <name>Andris Lupgins</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-12-27T11:40:58+02:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text" delimiter=" ">+ <!-- "2012. gada 28. martā" -->+ <date-part name="year" suffix=". gada"/>+ <date-part name="day" form="numeric" suffix="."/>+ <date-part name="month"/>+ </date>+ <date form="numeric" delimiter=".">+ <!-- "28.03.2012." -->+ <date-part name="day" form="numeric"/>+ <date-part name="month" form="numeric"/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">skatīts</term>+ <term name="ad">m.ē.</term>+ <term name="and">un</term>+ <term name="and others">un citi</term>+ <term name="anonymous">anonīms</term>+ <term name="anonymous" form="short">anon.</term>+ <term name="at"></term>+ <term name="available at">pieejams</term>+ <term name="bc">p.m.ē.</term>+ <term name="by"></term>+ <term name="circa">apmēram</term>+ <term name="circa" form="short">apm.</term>+ <term name="cited">citēts</term>+ <term name="edition" gender="feminine">+ <single>redakcija</single>+ <multiple>redakcijas</multiple>+ </term>+ <term name="edition" form="short">red.</term>+ <term name="et-al">u.c.</term>+ <term name="forthcoming">gaidāms</term>+ <term name="from">no</term>+ <term name="ibid">turpat</term>+ <term name="in">no</term>+ <term name="in press">presē</term>+ <term name="internet">internets</term>+ <term name="interview">intervija</term>+ <term name="letter">vēstule</term>+ <term name="no date">bez datuma</term>+ <term name="no date" form="short">b.g.</term>+ <term name="online">tiešsaiste</term>+ <term name="presented at">iesniegts</term>+ <term name="reference">+ <single>atsauce</single>+ <multiple>atsauces</multiple>+ </term>+ <term name="reference" form="short">+ <single>ats.</single>+ <multiple>ats.</multiple>+ </term>+ <term name="retrieved">iegūts</term>+ <term name="scale">mērogs</term>+ <term name="version">versija</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">"</term>+ <term name="close-quote">"</term>+ <term name="open-inner-quote">"</term>+ <term name="close-inner-quote">"</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">-ais</term>+ <term name="ordinal" gender-form="feminine">-ā</term>+ + <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">pirmais</term>+ <term name="long-ordinal-02">otrais</term>+ <term name="long-ordinal-03">trešais</term>+ <term name="long-ordinal-04">ceturtais</term>+ <term name="long-ordinal-05">piektais</term>+ <term name="long-ordinal-06">sestais</term>+ <term name="long-ordinal-07">septītais</term>+ <term name="long-ordinal-08">astotais</term>+ <term name="long-ordinal-09">devītais</term>+ <term name="long-ordinal-10">desmitais</term>++ <term name="long-ordinal-01" gender-form="feminine">pirmā</term>+ <term name="long-ordinal-02" gender-form="feminine">otrā</term>+ <term name="long-ordinal-03" gender-form="feminine">trešā</term>+ <term name="long-ordinal-04" gender-form="feminine">ceturtā</term>+ <term name="long-ordinal-05" gender-form="feminine">piektā</term>+ <term name="long-ordinal-06" gender-form="feminine">sestā</term>+ <term name="long-ordinal-07" gender-form="feminine">septītā</term>+ <term name="long-ordinal-08" gender-form="feminine">astotā</term>+ <term name="long-ordinal-09" gender-form="feminine">devītā</term>+ <term name="long-ordinal-10" gender-form="feminine">desmitā</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>grāmata</single>+ <multiple>grāmatas</multiple>+ </term>+ <term name="chapter">+ <single>nodaļa</single>+ <multiple>nodaļas</multiple>+ </term>+ <term name="column">+ <single>sleja</single>+ <multiple>slejas</multiple>+ </term>+ <term name="figure">+ <single>ilustrācija</single>+ <multiple>ilustrācijas</multiple>+ </term>+ <term name="folio">+ <single>folio</single>+ <multiple>folio</multiple>+ </term>+ <term name="issue">+ <single>numurs</single>+ <multiple>numuri</multiple>+ </term>+ <term name="line">+ <single>rinda</single>+ <multiple>rindas</multiple>+ </term>+ <term name="note">+ <single>piezīme</single>+ <multiple>piezīmes</multiple>+ </term>+ <term name="opus">+ <single>opuss</single>+ <multiple>opusi</multiple>+ </term>+ <term name="page">+ <single>lappuse</single>+ <multiple>lappuses</multiple>+ </term>+ <term name="number-of-pages">+ <single>lappuse</single>+ <multiple>lappuses</multiple>+ </term>+ <term name="paragraph">+ <single>rindkopa</single>+ <multiple>rindkopas</multiple>+ </term>+ <term name="part">+ <single>daļa</single>+ <multiple>daļas</multiple>+ </term>+ <term name="section">+ <single>apakšnodaļa</single>+ <multiple>apakšnodaļas</multiple>+ </term>+ <term name="sub verbo">+ <single>skatīt</single>+ <multiple>skatīt</multiple>+ </term>+ <term name="verse">+ <single>pants</single>+ <multiple>panti</multiple>+ </term>+ <term name="volume">+ <single>sējums</single>+ <multiple>sējumi</multiple>+ </term>+ + <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">grām.</term>+ <term name="chapter" form="short">nod.</term>+ <term name="column" form="short">sl.</term>+ <term name="figure" form="short">il.</term>+ <term name="folio" form="short">fo.</term>+ <term name="issue" form="short">nr.</term>+ <term name="line" form="short">r.</term>+ <term name="note" form="short">piez.</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">+ <single>lpp.</single>+ <multiple>lpp.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>lpp.</single>+ <multiple>lpp.</multiple>+ </term>+ <term name="paragraph" form="short">rindk.</term>+ <term name="part" form="short">d.</term>+ <term name="section" form="short">apakšnod.</term>+ <term name="sub verbo" form="short">+ <single>sk.</single>+ <multiple>sk.</multiple>+ </term>+ <term name="verse" form="short">+ <single>p.</single>+ <multiple>p.</multiple>+ </term>+ <term name="volume" form="short">+ <single>sēj.</single>+ <multiple>sēj.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="collection-editor">+ <single>krājuma redaktors</single>+ <multiple>krājuma redaktori</multiple>+ </term>+ <term name="composer">+ <single>sastādītājs</single>+ <multiple>sastādītāji</multiple>+ </term>+ <term name="container-author">+ <single>pamatmateriāla autors</single>+ <multiple>pamatmateriāla autori</multiple>+ </term>+ <term name="director">+ <single>vadītājs</single>+ <multiple>vadītāji</multiple>+ </term>+ <term name="editor">+ <single>redaktors</single>+ <multiple>redaktors</multiple>+ </term>+ <term name="editorial-director">+ <single>galvenais redaktors</single>+ <multiple>galvenie redaktori</multiple>+ </term>+ <term name="editortranslator">+ <single>redaktors un tulkotājs</single>+ <multiple>redaktors un tulkotājs</multiple>+ </term>+ <term name="illustrator">+ <single>ilustrators</single>+ <multiple>ilustratori</multiple>+ </term>+ <term name="interviewer">+ <single>intervētājs</single>+ <multiple>intervētāji</multiple>+ </term>+ <term name="recipient">+ <single>saņēmējs</single>+ <multiple>saņēmēji</multiple>+ </term>+ <term name="translator">+ <single>tulkotājs</single>+ <multiple>tulkotāji</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="collection-editor" form="short">+ <single>kr. red.</single>+ <multiple>kr. red.</multiple>+ </term>+ <term name="composer" form="short">+ <single>sast.</single>+ <multiple>sast.</multiple>+ </term>+ <term name="container-author" form="short">+ <single>pamatmat. aut.</single>+ <multiple>pamatmat. aut.</multiple>+ </term>+ <term name="director" form="short">+ <single>vad.</single>+ <multiple>vad.</multiple>+ </term>+ <term name="editor" form="short">+ <single>red.</single>+ <multiple>red.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>galv. red.</single>+ <multiple>galv. red.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>red. un tulk.</single>+ <multiple>red. un tulk.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>ilustr.</single>+ <multiple>ilustr.</multiple>+ </term>+ <term name="interviewer" form="short">+ <single>interv.</single>+ <multiple>interv.</multiple>+ </term>+ <term name="recipient" form="short">+ <single>saņ.</single>+ <multiple>saņ.</multiple>+ </term>+ <term name="translator" form="short">+ <single>tulk.</single>+ <multiple>tulk.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb"></term>+ <term name="composer" form="verb">sastādīja</term>+ <term name="director" form="verb">vadīja</term>+ <term name="editor" form="verb">sagatavoja</term>+ <term name="editorial-director" form="verb">sagatavoja</term>+ <term name="editortranslator" form="verb">sagatavoja un tulkoja</term>+ <term name="illustrator" form="verb">ilustrēja</term>+ <term name="interviewer" form="verb">intervēja</term>+ <term name="recipient" form="verb">saņēma</term>+ <term name="translator" form="verb">tulkoja</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">sast.</term>+ <term name="editor" form="verb-short">sag.</term>+ <term name="editorial-director" form="verb-short">sag.</term>+ <term name="illustrator" form="verb-short">ilustr.</term>+ <term name="translator" form="verb-short">tulk.</term>+ <term name="editortranslator" form="verb-short">sag. un tulk.</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">janvārī</term>+ <term name="month-02">februārī</term>+ <term name="month-03">martā</term>+ <term name="month-04">aprīlī</term>+ <term name="month-05">maijā</term>+ <term name="month-06">jūnijā</term>+ <term name="month-07">jūlijā</term>+ <term name="month-08">augustā</term>+ <term name="month-09">septembrī</term>+ <term name="month-10">oktobrī</term>+ <term name="month-11">novembrī</term>+ <term name="month-12">decembrī</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">janv.</term>+ <term name="month-02" form="short">febr.</term>+ <term name="month-03" form="short">mar.</term>+ <term name="month-04" form="short">apr.</term>+ <term name="month-05" form="short">mai.</term>+ <term name="month-06" form="short">jūn.</term>+ <term name="month-07" form="short">jūl.</term>+ <term name="month-08" form="short">aug.</term>+ <term name="month-09" form="short">sept.</term>+ <term name="month-10" form="short">okt.</term>+ <term name="month-11" form="short">nov.</term>+ <term name="month-12" form="short">dec.</term>++ <!-- SEASONS -->+ <term name="season-01">pavasaris</term>+ <term name="season-02">vasara</term>+ <term name="season-03">rudens</term>+ <term name="season-04">ziema</term>+ </terms>+</locale>
+ locales/mn-MN.xml view
@@ -0,0 +1,306 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="mn-MN">+ <info>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="year"/>+ <date-part name="month" form="numeric-leading-zeros" prefix="."/>+ <date-part name="day" form="numeric-leading-zeros" prefix="."/>+ </date>+ <terms>+ <term name="accessed">accessed</term>+ <term name="and">and</term>+ <term name="and others">and others</term>+ <term name="anonymous">anonymous</term>+ <term name="anonymous" form="short">anon</term>+ <term name="at">at</term>+ <term name="available at">available at</term>+ <term name="by">by</term>+ <term name="circa">circa</term>+ <term name="circa" form="short">c.</term>+ <term name="cited">cited</term>+ <term name="edition">+ <single>edition</single>+ <multiple>editions</multiple>+ </term>+ <term name="edition" form="short">ed</term>+ <term name="et-al">et al.</term>+ <term name="forthcoming">forthcoming</term>+ <term name="from">from</term>+ <term name="ibid">ibid.</term>+ <term name="in">in</term>+ <term name="in press">in press</term>+ <term name="internet">internet</term>+ <term name="interview">interview</term>+ <term name="letter">letter</term>+ <term name="no date">no date</term>+ <term name="no date" form="short">n.d.</term>+ <term name="online">online</term>+ <term name="presented at">presented at the</term>+ <term name="reference">+ <single>reference</single>+ <multiple>references</multiple>+ </term>+ <term name="reference" form="short">+ <single>ref.</single>+ <multiple>refs.</multiple>+ </term>+ <term name="retrieved">retrieved</term>+ <term name="scale">scale</term>+ <term name="version">version</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">AD</term>+ <term name="bc">BC</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">«</term>+ <term name="close-quote">»</term>+ <term name="open-inner-quote">„</term>+ <term name="close-inner-quote">“</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">-p</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">нэгдүгээр</term>+ <term name="long-ordinal-02">хоёрдугаар</term>+ <term name="long-ordinal-03">гуравдугаар</term>+ <term name="long-ordinal-04">дөрөвдүгээр</term>+ <term name="long-ordinal-05">тавдугаар</term>+ <term name="long-ordinal-06">зургаадугаар</term>+ <term name="long-ordinal-07">долоодугаар</term>+ <term name="long-ordinal-08">наймдугаар</term>+ <term name="long-ordinal-09">есдүгээр</term>+ <term name="long-ordinal-10">аравдугаар</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>ном</single>+ <multiple>номнууд</multiple>+ </term>+ <term name="chapter">+ <single>chapter</single>+ <multiple>chapters</multiple>+ </term>+ <term name="column">+ <single>багана</single>+ <multiple>баганууд</multiple>+ </term>+ <term name="figure">+ <single>figure</single>+ <multiple>figures</multiple>+ </term>+ <term name="folio">+ <single>folio</single>+ <multiple>folios</multiple>+ </term>+ <term name="issue">+ <single>тоо</single>+ <multiple>тоонууд</multiple>+ </term>+ <term name="line">+ <single>шугам</single>+ <multiple>шугамнууд</multiple>+ </term>+ <term name="note">+ <single>note</single>+ <multiple>notes</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opera</multiple>+ </term>+ <term name="page">+ <single>хуудас</single>+ <multiple>хуудаснууд</multiple>+ </term>+ <term name="number-of-pages">+ <single>хуудас</single>+ <multiple>хуудаснууд</multiple>+ </term>+ <term name="paragraph">+ <single>paragraph</single>+ <multiple>paragraph</multiple>+ </term>+ <term name="part">+ <single>part</single>+ <multiple>parts</multiple>+ </term>+ <term name="section">+ <single>section</single>+ <multiple>sections</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>verse</single>+ <multiple>verses</multiple>+ </term>+ <term name="volume">+ <single>volume</single>+ <multiple>volumes</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">bk</term>+ <term name="chapter" form="short">chap</term>+ <term name="column" form="short">col</term>+ <term name="figure" form="short">fig</term>+ <term name="folio" form="short">f</term>+ <term name="issue" form="short">no</term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">op</term>+ <term name="page" form="short">+ <single>p</single>+ <multiple>pp</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>p</single>+ <multiple>pp</multiple>+ </term>+ <term name="paragraph" form="short">para</term>+ <term name="part" form="short">pt</term>+ <term name="section" form="short">sec</term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>v</single>+ <multiple>vv</multiple>+ </term>+ <term name="volume" form="short">+ <single>vol</single>+ <multiple>vols</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>director</single>+ <multiple>directors</multiple>+ </term>+ <term name="editor">+ <single>редактор</single>+ <multiple>редакторууд</multiple>+ </term>+ <term name="editorial-director">+ <single>редактор</single>+ <multiple>редакторууд</multiple>+ </term>+ <term name="illustrator">+ <single>illustrator</single>+ <multiple>illustrators</multiple>+ </term>+ <term name="translator">+ <single>орчуулагч</single>+ <multiple>орчуулагчид</multiple>+ </term>+ <term name="editortranslator">+ <single>редактор ба орчуулагч</single>+ <multiple>редакторууд ба орчуулагчид</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>dir.</single>+ <multiple>dirs.</multiple>+ </term>+ <term name="editor" form="short">+ <single>ред.</single>+ <multiple>ред.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>ред.</single>+ <multiple>ред.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>ill.</single>+ <multiple>ills.</multiple>+ </term>+ <term name="translator" form="short">+ <single>орч</single>+ <multiple>орч</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>ред. ба орч.</single>+ <multiple>ред. ба орч.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">by</term>+ <term name="director" form="verb">directed by</term>+ <term name="editor" form="verb">edited by</term>+ <term name="editorial-director" form="verb">edited by</term>+ <term name="illustrator" form="verb">illustrated by</term>+ <term name="interviewer" form="verb">interview by</term>+ <term name="recipient" form="verb">to</term>+ <term name="reviewed-author" form="verb">by</term>+ <term name="translator" form="verb">translated by</term>+ <term name="editortranslator" form="verb">edited & translated by</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">dir.</term>+ <term name="editor" form="verb-short">ed</term>+ <term name="editorial-director" form="verb-short">ed.</term>+ <term name="illustrator" form="verb-short">illus.</term>+ <term name="translator" form="verb-short">trans</term>+ <term name="editortranslator" form="verb-short">ed. & trans. by</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">Нэгдүгээр сар</term>+ <term name="month-02">Хоёрдугаар сар</term>+ <term name="month-03">Гуравдугаар сар</term>+ <term name="month-04">Дөрөвдүгээр сар</term>+ <term name="month-05">Тавдугаар сар</term>+ <term name="month-06">Зургаадугаар сар</term>+ <term name="month-07">Долдугаар сар</term>+ <term name="month-08">Наймдугаар сар</term>+ <term name="month-09">Есдүгээр сар</term>+ <term name="month-10">Аравдугаар сар</term>+ <term name="month-11">Арван нэгдүгээр сар</term>+ <term name="month-12">Арван хоёрдугаар сар</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">1-р сар</term>+ <term name="month-02" form="short">2-р сар</term>+ <term name="month-03" form="short">3-р сар</term>+ <term name="month-04" form="short">4-р сар</term>+ <term name="month-05" form="short">5-р сар</term>+ <term name="month-06" form="short">6-р сар</term>+ <term name="month-07" form="short">7-р сар</term>+ <term name="month-08" form="short">8-р сар</term>+ <term name="month-09" form="short">9-р сар</term>+ <term name="month-10" form="short">10-р сар</term>+ <term name="month-11" form="short">11-р сар</term>+ <term name="month-12" form="short">12-р сар</term>++ <!-- SEASONS -->+ <term name="season-01">Хавар</term>+ <term name="season-02">Зун</term>+ <term name="season-03">Намар</term>+ <term name="season-04">Өвөл</term>+ </terms>+</locale>
+ locales/nb-NO.xml view
@@ -0,0 +1,309 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="nb-NO">+ <info>+ <translator>+ <name>Guttorm Flatabø</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2013-03-01T12:20:00+01:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" form="ordinal" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="year"/>+ <date-part name="month" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>+ <date-part name="day" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>+ </date>+ <terms>+ <term name="accessed">åpnet</term>+ <term name="and">og</term>+ <term name="and others">med flere</term>+ <term name="anonymous">anonym</term>+ <term name="anonymous" form="short">anon.</term>+ <term name="at">på</term>+ <term name="available at">tilgjengelig på</term>+ <term name="by">av</term>+ <term name="circa">circa</term>+ <term name="circa" form="short">ca.</term>+ <term name="cited">sitert</term>+ <term name="edition">+ <single>utgave</single>+ <multiple>utgaver</multiple>+ </term>+ <term name="edition" form="short">utg.</term>+ <term name="et-al">mfl.</term>+ <term name="forthcoming">kommende</term>+ <term name="from">fra</term>+ <term name="ibid">ibid.</term>+ <term name="in">i</term>+ <term name="in press">i trykk</term>+ <term name="internet">Internett</term>+ <term name="interview">intervju</term>+ <term name="letter">brev</term>+ <term name="no date">ingen dato</term>+ <term name="no date" form="short">u.å.</term>+ <term name="online">online</term>+ <term name="presented at">presentert på</term>+ <term name="reference">+ <single>referanse</single>+ <multiple>referanser</multiple>+ </term>+ <term name="reference" form="short">+ <single>ref.</single>+ <multiple>refr.</multiple>+ </term>+ <term name="retrieved">hentet</term>+ <term name="scale">målestokk</term>+ <term name="version">versjon</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">fvt.</term>+ <term name="bc">evt.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">«</term>+ <term name="close-quote">»</term>+ <term name="open-inner-quote">‘</term>+ <term name="close-inner-quote">’</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">.</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">første</term>+ <term name="long-ordinal-02">andre</term>+ <term name="long-ordinal-03">tredje</term>+ <term name="long-ordinal-04">fjerde</term>+ <term name="long-ordinal-05">femte</term>+ <term name="long-ordinal-06">sjette</term>+ <term name="long-ordinal-07">sjuende</term>+ <term name="long-ordinal-08">åttende</term>+ <term name="long-ordinal-09">niende</term>+ <term name="long-ordinal-10">tiende</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>bok</single>+ <multiple>bøker</multiple>+ </term>+ <term name="chapter">+ <single>kapittel</single>+ <multiple>kapitler</multiple>+ </term>+ <term name="column">+ <single>kolonne</single>+ <multiple>kolonner</multiple>+ </term>+ <term name="figure">+ <single>figur</single>+ <multiple>figurer</multiple>+ </term>+ <term name="folio">+ <single>folio</single>+ <multiple>folioer</multiple>+ </term>+ <term name="issue">+ <single>nummer</single>+ <multiple>numre</multiple>+ </term>+ <term name="line">+ <single>linje</single>+ <multiple>linjer</multiple>+ </term>+ <term name="note">+ <single>note</single>+ <multiple>noter</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opus</multiple>+ </term>+ <term name="page">+ <single>side</single>+ <multiple>side</multiple>+ </term>+ <term name="number-of-pages">+ <single>side</single>+ <multiple>sider</multiple>+ </term>+ <term name="paragraph">+ <single>avsnitt</single>+ <multiple>avsnitt</multiple>+ </term>+ <term name="part">+ <single>del</single>+ <multiple>deler</multiple>+ </term>+ <term name="section">+ <single>paragraf</single>+ <multiple>paragrafer</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>vers</single>+ <multiple>vers</multiple>+ </term>+ <term name="volume">+ <single>bind</single>+ <multiple>bind</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">b.</term>+ <term name="chapter" form="short">kap.</term>+ <term name="column" form="short">kol.</term>+ <term name="figure" form="short">fig.</term>+ <term name="folio" form="short">fol.</term>+ <term name="issue" form="short">nr.</term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">+ <single>s.</single>+ <multiple>s.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>s.</single>+ <multiple>s.</multiple>+ </term>+ <term name="paragraph" form="short">avsn.</term>+ <term name="part" form="short">d.</term>+ <term name="section" form="short">pargr.</term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>v.</single>+ <multiple>v.</multiple>+ </term>+ <term name="volume" form="short">+ <single>bd.</single>+ <multiple>bd.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>regissør</single>+ <multiple>regissører</multiple>+ </term>+ <term name="editor">+ <single>redaktør</single>+ <multiple>redaktører</multiple>+ </term>+ <term name="editorial-director">+ <single>redaktør</single>+ <multiple>redaktører</multiple>+ </term>+ <term name="illustrator">+ <single>illustratør</single>+ <multiple>illustratører</multiple>+ </term>+ <term name="translator">+ <single>oversetter</single>+ <multiple>oversettere</multiple>+ </term>+ <term name="editortranslator">+ <single>redaktør & oversetter</single>+ <multiple>redaktører & oversettere</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>regi</single>+ <multiple>regi</multiple>+ </term>+ <term name="editor" form="short">+ <single>red.</single>+ <multiple>red.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>red.</single>+ <multiple>red.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>ill.</single>+ <multiple>ills.</multiple>+ </term>+ <term name="translator" form="short">+ <single>overs.</single>+ <multiple>overs.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>red. & overs.</single>+ <multiple>red. & overs.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">av</term>+ <term name="director" form="verb">regissert av</term>+ <term name="editor" form="verb">redigert av</term>+ <term name="editorial-director" form="verb">redigert av</term>+ <term name="illustrator" form="verb">illustrert av</term>+ <term name="interviewer" form="verb">intervjuet av</term>+ <term name="recipient" form="verb">til</term>+ <term name="reviewed-author" form="verb">av</term>+ <term name="translator" form="verb">oversatt av</term>+ <term name="editortranslator" form="verb">redigert & oversatt av</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">regi</term>+ <term name="editor" form="verb-short">red.</term>+ <term name="editorial-director" form="verb-short">red.</term>+ <term name="illustrator" form="verb-short">illus.</term>+ <term name="translator" form="verb-short">overs.</term>+ <term name="editortranslator" form="verb-short">red. & overs. av</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">januar</term>+ <term name="month-02">februar</term>+ <term name="month-03">mars</term>+ <term name="month-04">april</term>+ <term name="month-05">mai</term>+ <term name="month-06">juni</term>+ <term name="month-07">juli</term>+ <term name="month-08">august</term>+ <term name="month-09">september</term>+ <term name="month-10">oktober</term>+ <term name="month-11">november</term>+ <term name="month-12">desember</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">jan.</term>+ <term name="month-02" form="short">feb.</term>+ <term name="month-03" form="short">mar.</term>+ <term name="month-04" form="short">apr.</term>+ <term name="month-05" form="short">mai</term>+ <term name="month-06" form="short">jun.</term>+ <term name="month-07" form="short">jul.</term>+ <term name="month-08" form="short">aug.</term>+ <term name="month-09" form="short">sep.</term>+ <term name="month-10" form="short">okt.</term>+ <term name="month-11" form="short">nov.</term>+ <term name="month-12" form="short">des.</term>++ <!-- SEASONS -->+ <term name="season-01">vår</term>+ <term name="season-02">sommer</term>+ <term name="season-03">høst</term>+ <term name="season-04">vinter</term>+ </terms>+</locale>
+ locales/nl-NL.xml view
@@ -0,0 +1,328 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="nl-NL">+ <info>+ <translator>+ <name>Rintze M. Zelle</name>+ <uri>http://twitter.com/rintzezelle</uri>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2017-04-01T12:00:00+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" suffix="-" range-delimiter="/"/>+ <date-part name="month" form="numeric" suffix="-" range-delimiter="/"/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">geraadpleegd</term>+ <term name="and">en</term>+ <term name="and others">en anderen</term>+ <term name="anonymous">anoniem</term>+ <term name="anonymous" form="short">anon.</term>+ <term name="at">bij</term>+ <term name="available at">beschikbaar op</term>+ <term name="by">door</term>+ <term name="circa">circa</term>+ <term name="circa" form="short">c.</term>+ <term name="cited">geciteerd</term>+ <term name="edition">+ <single>druk</single>+ <multiple>drukken</multiple>+ </term>+ <term name="edition" form="short">dr.</term>+ <term name="et-al">e.a.</term>+ <term name="forthcoming">in voorbereiding</term>+ <term name="from">van</term>+ <term name="ibid">ibid.</term>+ <term name="in">in</term>+ <term name="in press">in druk</term>+ <term name="internet">internet</term>+ <term name="interview">interview</term>+ <term name="letter">brief</term>+ <term name="no date">zonder datum</term>+ <term name="no date" form="short">z.d.</term>+ <term name="online">online</term>+ <term name="presented at">gepresenteerd bij</term>+ <term name="reference">+ <single>referentie</single>+ <multiple>referenties</multiple>+ </term>+ <term name="reference" form="short">+ <single>ref.</single>+ <multiple>refs.</multiple>+ </term>+ <term name="retrieved">geraadpleegd</term>+ <term name="scale">schaal</term>+ <term name="version">versie</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">AD</term>+ <term name="bc">BC</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">‘</term>+ <term name="close-quote">’</term>+ <term name="open-inner-quote">“</term>+ <term name="close-inner-quote">”</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">ste</term>+ <term name="ordinal-00" match="whole-number">de</term>+ <term name="ordinal-02" match="last-two-digits">de</term>+ <term name="ordinal-03" match="last-two-digits">de</term>+ <term name="ordinal-04" match="last-two-digits">de</term>+ <term name="ordinal-05" match="last-two-digits">de</term>+ <term name="ordinal-06" match="last-two-digits">de</term>+ <term name="ordinal-07" match="last-two-digits">de</term>+ <term name="ordinal-09" match="last-two-digits">de</term>+ <term name="ordinal-10">de</term>+ <term name="ordinal-11">de</term>+ <term name="ordinal-12">de</term>+ <term name="ordinal-13">de</term>+ <term name="ordinal-14">de</term>+ <term name="ordinal-15">de</term>+ <term name="ordinal-16">de</term>+ <term name="ordinal-17">de</term>+ <term name="ordinal-18">de</term>+ <term name="ordinal-19">de</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">eerste</term>+ <term name="long-ordinal-02">tweede</term>+ <term name="long-ordinal-03">derde</term>+ <term name="long-ordinal-04">vierde</term>+ <term name="long-ordinal-05">vijfde</term>+ <term name="long-ordinal-06">zesde</term>+ <term name="long-ordinal-07">zevende</term>+ <term name="long-ordinal-08">achtste</term>+ <term name="long-ordinal-09">negende</term>+ <term name="long-ordinal-10">tiende</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>boek</single>+ <multiple>boeken</multiple>+ </term>+ <term name="chapter">+ <single>hoofdstuk</single>+ <multiple>hoofdstukken</multiple>+ </term>+ <term name="column">+ <single>column</single>+ <multiple>columns</multiple>+ </term>+ <term name="figure">+ <single>figuur</single>+ <multiple>figuren</multiple>+ </term>+ <term name="folio">+ <single>folio</single>+ <multiple>folio's</multiple>+ </term>+ <term name="issue">+ <single>nummer</single>+ <multiple>nummers</multiple>+ </term>+ <term name="line">+ <single>regel</single>+ <multiple>regels</multiple>+ </term>+ <term name="note">+ <single>aantekening</single>+ <multiple>aantekeningen</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opera</multiple>+ </term>+ <term name="page">+ <single>pagina</single>+ <multiple>pagina's</multiple>+ </term>+ <term name="number-of-pages">+ <single>pagina</single>+ <multiple>pagina's</multiple>+ </term>+ <term name="paragraph">+ <single>paragraaf</single>+ <multiple>paragrafen</multiple>+ </term>+ <term name="part">+ <single>deel</single>+ <multiple>delen</multiple>+ </term>+ <term name="section">+ <single>sectie</single>+ <multiple>secties</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>vers</single>+ <multiple>versen</multiple>+ </term>+ <term name="volume">+ <single>volume</single>+ <multiple>volumes</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">bk.</term>+ <term name="chapter" form="short">hfdst.</term>+ <term name="column" form="short">col.</term>+ <term name="figure" form="short">fig.</term>+ <term name="folio" form="short">f.</term>+ <term name="issue" form="short">nr.</term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">+ <single>p.</single>+ <multiple>pp.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>p.</single>+ <multiple>pp.</multiple>+ </term>+ <term name="paragraph" form="short">par.</term>+ <term name="part" form="short">deel</term>+ <term name="section" form="short">sec.</term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>v.</single>+ <multiple>vv.</multiple>+ </term>+ <term name="volume" form="short">+ <single>vol.</single>+ <multiple>vols.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>regisseur</single>+ <multiple>regisseurs</multiple>+ </term>+ <term name="editor">+ <single>redacteur</single>+ <multiple>redacteuren</multiple>+ </term>+ <term name="editorial-director">+ <single>redacteur</single>+ <multiple>redacteuren</multiple>+ </term>+ <term name="illustrator">+ <single>illustrator</single>+ <multiple>illustrators</multiple>+ </term>+ <term name="translator">+ <single>vertaler</single>+ <multiple>vertalers</multiple>+ </term>+ <term name="editortranslator">+ <single>redacteur & vertaler</single>+ <multiple>redacteuren & vertalers</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>reg.</single>+ <multiple>reg.</multiple>+ </term>+ <term name="editor" form="short">+ <single>red.</single>+ <multiple>red.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>red.</single>+ <multiple>red.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>ill.</single>+ <multiple>ill.</multiple>+ </term>+ <term name="translator" form="short">+ <single>vert.</single>+ <multiple>vert.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>red. & vert.</single>+ <multiple>red. & vert.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">door</term>+ <term name="director" form="verb">geregisseerd door</term>+ <term name="editor" form="verb">onder redactie van</term>+ <term name="editorial-director" form="verb">onder redactie van</term>+ <term name="illustrator" form="verb">geïllustreerd door</term>+ <term name="interviewer" form="verb">geïnterviewd door</term>+ <term name="recipient" form="verb">ontvangen door</term>+ <term name="reviewed-author" form="verb">door</term>+ <term name="translator" form="verb">vertaald door</term>+ <term name="editortranslator" form="verb">bewerkt & vertaald door</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">geregisseerd door</term>+ <term name="editor" form="verb-short">onder redactie van</term>+ <term name="editorial-director" form="verb-short">bewerkt door</term>+ <term name="illustrator" form="verb-short">geïllustreerd door</term>+ <term name="translator" form="verb-short">vertaald door</term>+ <term name="editortranslator" form="verb-short">bewerkt & vertaald door</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">januari</term>+ <term name="month-02">februari</term>+ <term name="month-03">maart</term>+ <term name="month-04">april</term>+ <term name="month-05">mei</term>+ <term name="month-06">juni</term>+ <term name="month-07">juli</term>+ <term name="month-08">augustus</term>+ <term name="month-09">september</term>+ <term name="month-10">oktober</term>+ <term name="month-11">november</term>+ <term name="month-12">december</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">jan.</term>+ <term name="month-02" form="short">feb.</term>+ <term name="month-03" form="short">mrt.</term>+ <term name="month-04" form="short">apr.</term>+ <term name="month-05" form="short">mei</term>+ <term name="month-06" form="short">jun.</term>+ <term name="month-07" form="short">jul.</term>+ <term name="month-08" form="short">aug.</term>+ <term name="month-09" form="short">sep.</term>+ <term name="month-10" form="short">okt.</term>+ <term name="month-11" form="short">nov.</term>+ <term name="month-12" form="short">dec.</term>++ <!-- SEASONS -->+ <term name="season-01">lente</term>+ <term name="season-02">zomer</term>+ <term name="season-03">herst</term>+ <term name="season-04">winter</term>+ </terms>+</locale>
+ locales/nn-NO.xml view
@@ -0,0 +1,309 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="nn-NO">+ <info>+ <translator>+ <name>Guttorm Flatabø</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2013-03-01T12:20:00+01:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" form="ordinal" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="year"/>+ <date-part name="month" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>+ <date-part name="day" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>+ </date>+ <terms>+ <term name="accessed">vitja</term>+ <term name="and">og</term>+ <term name="and others">med fleire</term>+ <term name="anonymous">anonym</term>+ <term name="anonymous" form="short">anon.</term>+ <term name="at">på</term>+ <term name="available at">tilgjengeleg på</term>+ <term name="by">av</term>+ <term name="circa">circa</term>+ <term name="circa" form="short">ca.</term>+ <term name="cited">sitert</term>+ <term name="edition">+ <single>utgåve</single>+ <multiple>utgåver</multiple>+ </term>+ <term name="edition" form="short">utg.</term>+ <term name="et-al">mfl.</term>+ <term name="forthcoming">kommande</term>+ <term name="from">frå</term>+ <term name="ibid">ibid.</term>+ <term name="in">i</term>+ <term name="in press">i trykk</term>+ <term name="internet">Internett</term>+ <term name="interview">intervju</term>+ <term name="letter">brev</term>+ <term name="no date">ingen dato</term>+ <term name="no date" form="short">u.å.</term>+ <term name="online">online</term>+ <term name="presented at">presentert på</term>+ <term name="reference">+ <single>referanse</single>+ <multiple>referansar</multiple>+ </term>+ <term name="reference" form="short">+ <single>ref.</single>+ <multiple>refr.</multiple>+ </term>+ <term name="retrieved">henta</term>+ <term name="scale">målestokk</term>+ <term name="version">versjon</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">fvt.</term>+ <term name="bc">evt.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">«</term>+ <term name="close-quote">»</term>+ <term name="open-inner-quote">‘</term>+ <term name="close-inner-quote">’</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">.</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">første</term>+ <term name="long-ordinal-02">andre</term>+ <term name="long-ordinal-03">tredje</term>+ <term name="long-ordinal-04">fjerde</term>+ <term name="long-ordinal-05">femte</term>+ <term name="long-ordinal-06">sjette</term>+ <term name="long-ordinal-07">sjuande</term>+ <term name="long-ordinal-08">åttande</term>+ <term name="long-ordinal-09">niande</term>+ <term name="long-ordinal-10">tiande</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>bok</single>+ <multiple>bøker</multiple>+ </term>+ <term name="chapter">+ <single>kapittel</single>+ <multiple>kapittel</multiple>+ </term>+ <term name="column">+ <single>kolonne</single>+ <multiple>kolonner</multiple>+ </term>+ <term name="figure">+ <single>figur</single>+ <multiple>figurar</multiple>+ </term>+ <term name="folio">+ <single>folio</single>+ <multiple>folioar</multiple>+ </term>+ <term name="issue">+ <single>nummer</single>+ <multiple>nummer</multiple>+ </term>+ <term name="line">+ <single>linje</single>+ <multiple>linjer</multiple>+ </term>+ <term name="note">+ <single>note</single>+ <multiple>notar</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opus</multiple>+ </term>+ <term name="page">+ <single>side</single>+ <multiple>side</multiple>+ </term>+ <term name="number-of-pages">+ <single>side</single>+ <multiple>sider</multiple>+ </term>+ <term name="paragraph">+ <single>avsnitt</single>+ <multiple>avsnitt</multiple>+ </term>+ <term name="part">+ <single>del</single>+ <multiple>deler</multiple>+ </term>+ <term name="section">+ <single>paragraf</single>+ <multiple>paragrafar</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>vers</single>+ <multiple>vers</multiple>+ </term>+ <term name="volume">+ <single>bind</single>+ <multiple>bind</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">b.</term>+ <term name="chapter" form="short">kap.</term>+ <term name="column" form="short">kol.</term>+ <term name="figure" form="short">fig.</term>+ <term name="folio" form="short">fol.</term>+ <term name="issue" form="short">nr.</term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">+ <single>s.</single>+ <multiple>s.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>s.</single>+ <multiple>s.</multiple>+ </term>+ <term name="paragraph" form="short">avsn.</term>+ <term name="part" form="short">d.</term>+ <term name="section" form="short">par.</term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>v.</single>+ <multiple>v.</multiple>+ </term>+ <term name="volume" form="short">+ <single>bd.</single>+ <multiple>bd.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>regissør</single>+ <multiple>regissørar</multiple>+ </term>+ <term name="editor">+ <single>redaktør</single>+ <multiple>redaktørar</multiple>+ </term>+ <term name="editorial-director">+ <single>redaktør</single>+ <multiple>redaktørar</multiple>+ </term>+ <term name="illustrator">+ <single>illustratør</single>+ <multiple>illustratørar</multiple>+ </term>+ <term name="translator">+ <single>omsetjar</single>+ <multiple>omsetjarar</multiple>+ </term>+ <term name="editortranslator">+ <single>redaktør & omsetjar</single>+ <multiple>redaktørar & omsetjarar</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>regi</single>+ <multiple>regi</multiple>+ </term>+ <term name="editor" form="short">+ <single>red.</single>+ <multiple>red.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>red.</single>+ <multiple>red.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>ill.</single>+ <multiple>ills.</multiple>+ </term>+ <term name="translator" form="short">+ <single>oms.</single>+ <multiple>oms.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>red. & oms.</single>+ <multiple>red. & oms.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">av</term>+ <term name="director" form="verb">regissert av</term>+ <term name="editor" form="verb">redigert av</term>+ <term name="editorial-director" form="verb">redigert av</term>+ <term name="illustrator" form="verb">illustrert av</term>+ <term name="interviewer" form="verb">intervjua av</term>+ <term name="recipient" form="verb">til</term>+ <term name="reviewed-author" form="verb">av</term>+ <term name="translator" form="verb">omsett av</term>+ <term name="editortranslator" form="verb">redigert & omsett av</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">regi</term>+ <term name="editor" form="verb-short">red.</term>+ <term name="editorial-director" form="verb-short">red.</term>+ <term name="illustrator" form="verb-short">illus.</term>+ <term name="translator" form="verb-short">oms.</term>+ <term name="editortranslator" form="verb-short">red. & oms. av</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">januar</term>+ <term name="month-02">februar</term>+ <term name="month-03">mars</term>+ <term name="month-04">april</term>+ <term name="month-05">mai</term>+ <term name="month-06">juni</term>+ <term name="month-07">juli</term>+ <term name="month-08">august</term>+ <term name="month-09">september</term>+ <term name="month-10">oktober</term>+ <term name="month-11">november</term>+ <term name="month-12">desember</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">jan.</term>+ <term name="month-02" form="short">feb.</term>+ <term name="month-03" form="short">mar.</term>+ <term name="month-04" form="short">apr.</term>+ <term name="month-05" form="short">mai</term>+ <term name="month-06" form="short">jun.</term>+ <term name="month-07" form="short">jul.</term>+ <term name="month-08" form="short">aug.</term>+ <term name="month-09" form="short">sep.</term>+ <term name="month-10" form="short">okt.</term>+ <term name="month-11" form="short">nov.</term>+ <term name="month-12" form="short">des.</term>++ <!-- SEASONS -->+ <term name="season-01">vår</term>+ <term name="season-02">sommar</term>+ <term name="season-03">haust</term>+ <term name="season-04">vinter</term>+ </terms>+</locale>
+ locales/pl-PL.xml view
@@ -0,0 +1,312 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="pl-PL">+ <info>+ <translator>+ <name>pAo</name>+ </translator>+ <translator>+ <name>Michal</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="."/>+ <date-part name="month" form="numeric-leading-zeros" suffix="."/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">udostępniono</term>+ <term name="and">i</term>+ <term name="and others">i inni</term>+ <term name="anonymous">anonim</term>+ <term name="anonymous" form="short">anon.</term>+ <term name="at">na</term>+ <term name="available at">dostępne na</term>+ <term name="by">przez</term>+ <term name="circa">około</term>+ <term name="circa" form="short">ok</term>+ <term name="cited">cytowane</term>+ <term name="edition">+ <single>wydanie</single>+ <multiple>wydania</multiple>+ </term>+ <term name="edition" form="short">wyd.</term>+ <term name="et-al">i in.</term>+ <term name="forthcoming">w przygotowaniu</term>+ <term name="from">z</term>+ <term name="ibid">ibid.</term>+ <term name="in">w</term>+ <term name="in press">w druku</term>+ <term name="internet">internet</term>+ <term name="interview">wywiad</term>+ <term name="letter">list</term>+ <term name="no date">brak daty</term>+ <term name="no date" form="short">b.d.</term>+ <term name="online">online</term>+ <term name="presented at">zaprezentowano na</term>+ <term name="reference">+ <single>referencja</single>+ <multiple>referencje</multiple>+ </term>+ <term name="reference" form="short">+ <single>ref.</single>+ <multiple>ref.</multiple>+ </term>+ <term name="retrieved">pobrano</term>+ <term name="scale">skala</term>+ <term name="version">wersja</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">n.e.</term>+ <term name="bc">p.n.e.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">„</term>+ <term name="close-quote">”</term>+ <term name="open-inner-quote">«</term>+ <term name="close-inner-quote">»</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">.</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">pierwszy</term>+ <term name="long-ordinal-02">drugi</term>+ <term name="long-ordinal-03">trzeci</term>+ <term name="long-ordinal-04">czwarty</term>+ <term name="long-ordinal-05">piąty</term>+ <term name="long-ordinal-06">szósty</term>+ <term name="long-ordinal-07">siódmy</term>+ <term name="long-ordinal-08">ósmy</term>+ <term name="long-ordinal-09">dziewiąty</term>+ <term name="long-ordinal-10">dziesiąty</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>książka</single>+ <multiple>książki</multiple>+ </term>+ <term name="chapter">+ <single>rozdział</single>+ <multiple>rozdziały</multiple>+ </term>+ <term name="column">+ <single>kolumna</single>+ <multiple>kolumny</multiple>+ </term>+ <term name="figure">+ <single>rycina</single>+ <multiple>ryciny</multiple>+ </term>+ <term name="folio">+ <single>folio</single>+ <multiple>folio</multiple>+ </term>+ <term name="issue">+ <single>numer</single>+ <multiple>numery</multiple>+ </term>+ <term name="line">+ <single>wiersz</single>+ <multiple>wiersze</multiple>+ </term>+ <term name="note">+ <single>notatka</single>+ <multiple>notatki</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opera</multiple>+ </term>+ <term name="page">+ <single>strona</single>+ <multiple>strony</multiple>+ </term>+ <term name="number-of-pages">+ <single>strona</single>+ <multiple>strony</multiple>+ </term>+ <term name="paragraph">+ <single>akapit</single>+ <multiple>akapity</multiple>+ </term>+ <term name="part">+ <single>część</single>+ <multiple>części</multiple>+ </term>+ <term name="section">+ <single>sekcja</single>+ <multiple>sekcje</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>wers</single>+ <multiple>wersy</multiple>+ </term>+ <term name="volume">+ <single>tom</single>+ <multiple>tomy</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">książka</term>+ <term name="chapter" form="short">rozdz.</term>+ <term name="column" form="short">kol.</term>+ <term name="figure" form="short">ryc.</term>+ <term name="folio" form="short">fol.</term>+ <term name="issue" form="short">nr</term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">+ <single>s.</single>+ <multiple>s.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>s.</single>+ <multiple>ss.</multiple>+ </term>+ <term name="paragraph" form="short">akap.</term>+ <term name="part" form="short">cz.</term>+ <term name="section" form="short">sekc.</term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>w.</single>+ <multiple>w.</multiple>+ </term>+ <term name="volume" form="short">+ <single>t.</single>+ <multiple>t.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>reżyser</single>+ <multiple>reżyserzy</multiple>+ </term>+ <term name="editor">+ <single>redaktor</single>+ <multiple>redaktorzy</multiple>+ </term>+ <term name="editorial-director">+ <single>edytor</single>+ <multiple>edytorzy</multiple>+ </term>+ <term name="illustrator">+ <single>ilustrator</single>+ <multiple>ilustratorzy</multiple>+ </term>+ <term name="translator">+ <single>tłumacz</single>+ <multiple>tłumacze</multiple>+ </term>+ <term name="editortranslator">+ <single>redaktor & tłumacz</single>+ <multiple>redaktorzy & tłumacze</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>reż.</single>+ <multiple>reż.</multiple>+ </term>+ <term name="editor" form="short">+ <single>red.</single>+ <multiple>red.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>red.</single>+ <multiple>red.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>il.</single>+ <multiple>il.</multiple>+ </term>+ <term name="translator" form="short">+ <single>tłum.</single>+ <multiple>tłum.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>red.tłum.</single>+ <multiple>red.tłum.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">przez</term>+ <term name="director" form="verb">reżyserowane przez</term>+ <term name="editor" form="verb">zredagowane przez</term>+ <term name="editorial-director" form="verb">zredagowane przez</term>+ <term name="illustrator" form="verb">ilustrowane przez</term>+ <term name="interviewer" form="verb">przeprowadzony przez</term>+ <term name="recipient" form="verb">dla</term>+ <term name="reviewed-author" form="verb">przez</term>+ <term name="translator" form="verb">przetłumaczone przez</term>+ <term name="editortranslator" form="verb">zredagowane i przetłumaczone przez</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">reż.</term>+ <term name="editor" form="verb-short">red.</term>+ <term name="editorial-director" form="verb-short">red.</term>+ <term name="illustrator" form="verb-short">il.</term>+ <term name="translator" form="verb-short">tłum.</term>+ <term name="editortranslator" form="verb-short">red.tłum.</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">styczeń</term>+ <term name="month-02">luty</term>+ <term name="month-03">marzec</term>+ <term name="month-04">kwiecień</term>+ <term name="month-05">maj</term>+ <term name="month-06">czerwiec</term>+ <term name="month-07">lipiec</term>+ <term name="month-08">sierpień</term>+ <term name="month-09">wrzesień</term>+ <term name="month-10">październik</term>+ <term name="month-11">listopad</term>+ <term name="month-12">grudzień</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">sty.</term>+ <term name="month-02" form="short">luty</term>+ <term name="month-03" form="short">mar.</term>+ <term name="month-04" form="short">kwi.</term>+ <term name="month-05" form="short">maj</term>+ <term name="month-06" form="short">cze.</term>+ <term name="month-07" form="short">lip.</term>+ <term name="month-08" form="short">sie.</term>+ <term name="month-09" form="short">wrz.</term>+ <term name="month-10" form="short">paź.</term>+ <term name="month-11" form="short">lis.</term>+ <term name="month-12" form="short">grudz.</term>++ <!-- SEASONS -->+ <term name="season-01">wiosna</term>+ <term name="season-02">lato</term>+ <term name="season-03">jesień</term>+ <term name="season-04">zima</term>+ </terms>+</locale>
+ locales/pt-BR.xml view
@@ -0,0 +1,324 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="pt-BR">+ <info>+ <translator>+ <name>José Antonio Meira da Rocha</name>+ </translator>+ <translator>+ <name>Meira da Rocha</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2016-05-16T00:00:00+03:00</updated>+ </info>+ <style-options punctuation-in-quote="false" limit-day-ordinals-to-day-1="true"/>+ <date form="text">+ <date-part name="day" form="ordinal" suffix=" de "/>+ <date-part name="month" suffix=" de "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">acessado</term>+ <term name="and">e</term>+ <term name="and others">e outros</term>+ <term name="anonymous">anônimo</term>+ <term name="anonymous" form="short">anon</term>+ <term name="at">em</term>+ <term name="available at">disponível em</term>+ <term name="by">por</term>+ <term name="circa">circa</term>+ <term name="circa" form="short">c.</term>+ <term name="cited">citado</term>+ <term name="edition">+ <single>edição</single>+ <multiple>edições</multiple>+ </term>+ <term name="edition" form="short">ed</term>+ <term name="et-al">et al.</term>+ <term name="forthcoming">a ser publicado</term>+ <term name="from">de</term>+ <term name="ibid">ibidem</term>+ <term name="in">in</term>+ <term name="in press">no prelo</term>+ <term name="internet">internet</term>+ <term name="interview">entrevista</term>+ <term name="letter">carta</term>+ <term name="no date">sem data</term>+ <term name="no date" form="short">[s.d.]</term>+ <term name="online">online</term>+ <term name="presented at">apresentado em</term>+ <term name="reference">+ <single>referência</single>+ <multiple>referências</multiple>+ </term>+ <term name="reference" form="short">+ <single>ref.</single>+ <multiple>refs.</multiple>+ </term>+ <term name="retrieved">recuperado</term>+ <term name="scale">escala</term>+ <term name="version">versão</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">DC</term>+ <term name="bc">AC</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">“</term>+ <term name="close-quote">”</term>+ <term name="open-inner-quote">‘</term>+ <term name="close-inner-quote">’</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">º</term>+ <term name="ordinal-01" gender-form="feminine" match="whole-number">ª</term>+ <term name="ordinal-01" gender-form="masculine" match="whole-number">º</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01" gender-form="masculine">primeiro</term>+ <term name="long-ordinal-02" gender-form="masculine">segundo</term>+ <term name="long-ordinal-03" gender-form="masculine">terceiro</term>+ <term name="long-ordinal-04" gender-form="masculine">quarto</term>+ <term name="long-ordinal-05" gender-form="masculine">quinto</term>+ <term name="long-ordinal-06" gender-form="masculine">sexto</term>+ <term name="long-ordinal-07" gender-form="masculine">sétimo</term>+ <term name="long-ordinal-08" gender-form="masculine">oitavo</term>+ <term name="long-ordinal-09" gender-form="masculine">nono</term>+ <term name="long-ordinal-10" gender-form="masculine">décimo</term>+ <term name="long-ordinal-01" gender-form="feminine">primeira</term>+ <term name="long-ordinal-02" gender-form="feminine">segunda</term>+ <term name="long-ordinal-03" gender-form="feminine">terceira</term>+ <term name="long-ordinal-04" gender-form="feminine">quarta</term>+ <term name="long-ordinal-05" gender-form="feminine">quinta</term>+ <term name="long-ordinal-06" gender-form="feminine">sexta</term>+ <term name="long-ordinal-07" gender-form="feminine">sétima</term>+ <term name="long-ordinal-08" gender-form="feminine">oitava</term>+ <term name="long-ordinal-09" gender-form="feminine">nona</term>+ <term name="long-ordinal-10" gender-form="feminine">décima</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>livro</single>+ <multiple>livros</multiple>+ </term>+ <term name="chapter">+ <single>capítulo</single>+ <multiple>capítulos</multiple>+ </term>+ <term name="column">+ <single>coluna</single>+ <multiple>colunas</multiple>+ </term>+ <term name="figure">+ <single>figura</single>+ <multiple>figuras</multiple>+ </term>+ <term name="folio">+ <single>folio</single>+ <multiple>folios</multiple>+ </term>+ <term name="issue">+ <single>número</single>+ <multiple>números</multiple>+ </term>+ <term name="line">+ <single>linha</single>+ <multiple>linhas</multiple>+ </term>+ <term name="note">+ <single>nota</single>+ <multiple>notas</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opera</multiple>+ </term>+ <term name="page">+ <single>página</single>+ <multiple>páginas</multiple>+ </term>+ <term name="number-of-pages">+ <single>página</single>+ <multiple>páginas</multiple>+ </term>+ <term name="paragraph">+ <single>parágrafo</single>+ <multiple>parágrafos</multiple>+ </term>+ <term name="part">+ <single>parte</single>+ <multiple>partes</multiple>+ </term>+ <term name="section">+ <single>seção</single>+ <multiple>seções</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>verso</single>+ <multiple>versos</multiple>+ </term>+ <term name="volume">+ <single>volume</single>+ <multiple>volumes</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">liv.</term>+ <term name="chapter" form="short">cap.</term>+ <term name="column" form="short">col.</term>+ <term name="figure" form="short">fig.</term>+ <term name="folio" form="short">f.</term>+ <term name="issue" form="short">nº</term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">+ <single>p.</single>+ <multiple>p.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>p.</single>+ <multiple>p.</multiple>+ </term>+ <term name="paragraph" form="short">parag.</term>+ <term name="part" form="short">pt.</term>+ <term name="section" form="short">seç.</term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>v.</single>+ <multiple>vv.</multiple>+ </term>+ <term name="volume" form="short">+ <single>vol.</single>+ <multiple>vols.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>diretor</single>+ <multiple>diretores</multiple>+ </term>+ <term name="editor">+ <single>organizador</single>+ <multiple>organizadores</multiple>+ </term>+ <term name="editorial-director">+ <single>editor</single>+ <multiple>editores</multiple>+ </term>+ <term name="illustrator">+ <single>ilustrador</single>+ <multiple>ilustradores</multiple>+ </term>+ <term name="translator">+ <single>tradutor</single>+ <multiple>tradutores</multiple>+ </term>+ <term name="editortranslator">+ <single>editor e tradutor</single>+ <multiple>editores e tradutores</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>dir.</single>+ <multiple>dirs.</multiple>+ </term>+ <term name="editor" form="short">+ <single>org.</single>+ <multiple>orgs.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>ed.</single>+ <multiple>eds.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>il.</single>+ <multiple>ils.</multiple>+ </term>+ <term name="translator" form="short">+ <single>trad.</single>+ <multiple>trads.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>ed. e trad.</single>+ <multiple>eds. e trads.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">por</term>+ <term name="director" form="verb">dirigido por</term>+ <term name="editor" form="verb">organizado por</term>+ <term name="editorial-director" form="verb">editado por</term>+ <term name="illustrator" form="verb">ilustrado por</term>+ <term name="interviewer" form="verb">entrevista de</term>+ <term name="recipient" form="verb">para</term>+ <term name="reviewed-author" form="verb">por</term>+ <term name="translator" form="verb">traduzido por</term>+ <term name="editortranslator" form="verb">editado e traduzido por</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">dir.</term>+ <term name="editor" form="verb-short">org.</term>+ <term name="editorial-director" form="verb-short">ed.</term>+ <term name="illustrator" form="verb-short">ilus.</term>+ <term name="translator" form="verb-short">trad.</term>+ <term name="editortranslator" form="verb-short">ed. e trad. por</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">janeiro</term>+ <term name="month-02">fevereiro</term>+ <term name="month-03">março</term>+ <term name="month-04">abril</term>+ <term name="month-05">maio</term>+ <term name="month-06">junho</term>+ <term name="month-07">julho</term>+ <term name="month-08">agosto</term>+ <term name="month-09">setembro</term>+ <term name="month-10">outubro</term>+ <term name="month-11">novembro</term>+ <term name="month-12">dezembro</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">jan.</term>+ <term name="month-02" form="short">fev.</term>+ <term name="month-03" form="short">mar.</term>+ <term name="month-04" form="short">abr.</term>+ <term name="month-05" form="short">maio</term>+ <term name="month-06" form="short">jun.</term>+ <term name="month-07" form="short">jul.</term>+ <term name="month-08" form="short">ago.</term>+ <term name="month-09" form="short">set.</term>+ <term name="month-10" form="short">out.</term>+ <term name="month-11" form="short">nov.</term>+ <term name="month-12" form="short">dez.</term>++ <!-- SEASONS -->+ <term name="season-01">Primavera</term>+ <term name="season-02">Verão</term>+ <term name="season-03">Outono</term>+ <term name="season-04">Inverno</term>+ </terms>+</locale>
+ locales/pt-PT.xml view
@@ -0,0 +1,320 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="pt-PT">+ <info>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2013-09-20T23:31:02+00:00</updated>+ <translator>+ <name>Jonadabe PT</name>+ </translator>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" suffix=" de "/>+ <date-part name="month" suffix=" de "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">acedido</term>+ <term name="and">e</term>+ <term name="and others">e outros</term>+ <term name="anonymous">anónimo</term>+ <term name="anonymous" form="short">anón.</term>+ <term name="at">em</term>+ <term name="available at">disponível em</term>+ <term name="by">por</term>+ <term name="circa">circa</term>+ <term name="circa" form="short">c.</term>+ <term name="cited">citado</term>+ <term name="edition">+ <single>edição</single>+ <multiple>edições</multiple>+ </term>+ <term name="edition" form="short">ed.</term>+ <term name="et-al">et al.</term>+ <term name="forthcoming">a publicar</term>+ <term name="from">de</term>+ <term name="ibid">ibid.</term>+ <term name="in">em</term>+ <term name="in press">no prelo</term>+ <term name="internet">internet</term>+ <term name="interview">entrevista</term>+ <term name="letter">carta</term>+ <term name="no date">sem data</term>+ <term name="no date" form="short">sem data</term>+ <term name="online">em linha</term>+ <term name="presented at">apresentado na</term>+ <term name="reference">+ <single>referência</single>+ <multiple>referências</multiple>+ </term>+ <term name="reference" form="short">+ <single>ref.</single>+ <multiple>refs.</multiple>+ </term>+ <term name="retrieved">obtido</term>+ <term name="scale">scale</term>+ <term name="version">versão</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">AD</term>+ <term name="bc">BC</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">«</term>+ <term name="close-quote">»</term>+ <term name="open-inner-quote">“</term>+ <term name="close-inner-quote">”</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal" gender-form="masculine" match="whole-number">.º</term>+ <term name="ordinal" gender-form="feminine" match="whole-number">.ª</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01" gender-form="masculine">primeiro</term>+ <term name="long-ordinal-01" gender-form="feminine">primeira</term>+ <term name="long-ordinal-02" gender-form="masculine">segundo</term>+ <term name="long-ordinal-02" gender-form="feminine">segunda</term> + <term name="long-ordinal-03" gender-form="masculine">terceiro</term>+ <term name="long-ordinal-03" gender-form="feminine">terceira</term> + <term name="long-ordinal-04" gender-form="masculine">quarto</term>+ <term name="long-ordinal-04" gender-form="feminine">quarta</term>+ <term name="long-ordinal-05" gender-form="masculine">quinto</term>+ <term name="long-ordinal-05" gender-form="feminine">quinta</term>+ <term name="long-ordinal-06" gender-form="masculine">sexto</term>+ <term name="long-ordinal-06" gender-form="feminine">sexta</term>+ <term name="long-ordinal-07" gender-form="masculine">sétimo</term>+ <term name="long-ordinal-07" gender-form="feminine">sétima</term>+ <term name="long-ordinal-08" gender-form="masculine">oitavo</term>+ <term name="long-ordinal-08" gender-form="feminine">oitava</term>+ <term name="long-ordinal-09" gender-form="masculine">nono</term>+ <term name="long-ordinal-09" gender-form="feminine">nona</term>+ <term name="long-ordinal-10" gender-form="masculine">décimo</term>+ <term name="long-ordinal-10" gender-form="feminine">décima</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>livro</single>+ <multiple>livros</multiple>+ </term>+ <term name="chapter">+ <single>capítulo</single>+ <multiple>capítulos</multiple>+ </term>+ <term name="column">+ <single>coluna</single>+ <multiple>colunas</multiple>+ </term>+ <term name="figure">+ <single>figura</single>+ <multiple>figuras</multiple>+ </term>+ <term name="folio">+ <single>fólio</single>+ <multiple>fólios</multiple>+ </term>+ <term name="issue">+ <single>número</single>+ <multiple>números</multiple>+ </term>+ <term name="line">+ <single>linha</single>+ <multiple>linhas</multiple>+ </term>+ <term name="note">+ <single>nota</single>+ <multiple>notas</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opera</multiple>+ </term>+ <term name="page">+ <single>página</single>+ <multiple>páginas</multiple>+ </term>+ <term name="number-of-pages">+ <single>página</single>+ <multiple>páginas</multiple>+ </term>+ <term name="paragraph">+ <single>parágrafo</single>+ <multiple>parágrafos</multiple>+ </term>+ <term name="part">+ <single>parte</single>+ <multiple>partes</multiple>+ </term>+ <term name="section">+ <single>secção</single>+ <multiple>secções</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>versículo</single>+ <multiple>versículos</multiple>+ </term>+ <term name="volume">+ <single>volume</single>+ <multiple>volumes</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">liv.</term>+ <term name="chapter" form="short">cap.</term>+ <term name="column" form="short">col.</term>+ <term name="figure" form="short">fig.</term>+ <term name="folio" form="short">f.</term>+ <term name="issue" form="short">n.</term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">+ <single>p.</single>+ <multiple>pp.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>p.</single>+ <multiple>pp.</multiple>+ </term>+ <term name="paragraph" form="short">par.</term>+ <term name="part" form="short">pt.</term>+ <term name="section" form="short">sec.</term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>v</single>+ <multiple>vv</multiple>+ </term>+ <term name="volume" form="short">+ <single>vol.</single>+ <multiple>vols.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>director</single>+ <multiple>directores</multiple>+ </term>+ <term name="editor">+ <single>editor</single>+ <multiple>editores</multiple>+ </term>+ <term name="editorial-director">+ <single>editor</single>+ <multiple>editores</multiple>+ </term>+ <term name="illustrator">+ <single>ilustrador</single>+ <multiple>ilustradores</multiple>+ </term>+ <term name="translator">+ <single>tradutor</single>+ <multiple>tradutores</multiple>+ </term>+ <term name="editortranslator">+ <single>editor & tradutor</single>+ <multiple>editores & tradutores</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>dir.</single>+ <multiple>dirs.</multiple>+ </term>+ <term name="editor" form="short">+ <single>ed.</single>+ <multiple>eds.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>ed.</single>+ <multiple>eds.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>il.</single>+ <multiple>ils.</multiple>+ </term>+ <term name="translator" form="short">+ <single>trad.</single>+ <multiple>trads.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>ed. & trad.</single>+ <multiple>eds. & trads.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">por</term>+ <term name="director" form="verb">dirigido por</term>+ <term name="editor" form="verb">editado por</term>+ <term name="editorial-director" form="verb">editorial de</term>+ <term name="illustrator" form="verb">ilustrado por</term>+ <term name="interviewer" form="verb">entrevistado por</term>+ <term name="recipient" form="verb">para</term>+ <term name="reviewed-author" form="verb">revisto por</term>+ <term name="translator" form="verb">traduzido por</term>+ <term name="editortranslator" form="verb">editado & traduzido por</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">dir.</term>+ <term name="editor" form="verb-short">ed.</term>+ <term name="editorial-director" form="verb-short">ed.</term>+ <term name="illustrator" form="verb-short">ilus.</term>+ <term name="translator" form="verb-short">trad.</term>+ <term name="editortranslator" form="verb-short">ed. & trad. por</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">Janeiro</term>+ <term name="month-02">Fevereiro</term>+ <term name="month-03">Março</term>+ <term name="month-04">Abril</term>+ <term name="month-05">Maio</term>+ <term name="month-06">Junho</term>+ <term name="month-07">Julho</term>+ <term name="month-08">Agosto</term>+ <term name="month-09">Setembro</term>+ <term name="month-10">Outubro</term>+ <term name="month-11">Novembro</term>+ <term name="month-12">Dezembro</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">Jan.</term>+ <term name="month-02" form="short">Fev.</term>+ <term name="month-03" form="short">Mar.</term>+ <term name="month-04" form="short">Abr.</term>+ <term name="month-05" form="short">Mai.</term>+ <term name="month-06" form="short">Jun.</term>+ <term name="month-07" form="short">Jul.</term>+ <term name="month-08" form="short">Ago.</term>+ <term name="month-09" form="short">Set.</term>+ <term name="month-10" form="short">Out.</term>+ <term name="month-11" form="short">Nov.</term>+ <term name="month-12" form="short">Dez.</term>++ <!-- SEASONS -->+ <term name="season-01">Primavera</term>+ <term name="season-02">Verão</term>+ <term name="season-03">Outono</term>+ <term name="season-04">Inverno</term>+ </terms>+</locale>
+ locales/ro-RO.xml view
@@ -0,0 +1,311 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="ro-RO">+ <info>+ <translator>+ <name>Nicolae Turcan</name>+ <email>nturcan@gmail.com</email>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" suffix="."/>+ <date-part name="month" form="numeric" suffix="."/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">data accesării</term>+ <term name="and">și</term>+ <term name="and others">și alții</term>+ <term name="anonymous">anonim</term>+ <term name="anonymous" form="short">anon.</term>+ <term name="at">la</term>+ <term name="available at">disponibil la</term>+ <term name="by">de</term>+ <term name="circa">circa</term>+ <term name="circa" form="short">cca.</term>+ <term name="cited">citat</term>+ <term name="edition">+ <single>ediția</single>+ <multiple>edițiile</multiple>+ </term>+ <term name="edition" form="short">ed</term>+ <term name="et-al">et al.</term>+ <term name="forthcoming">în curs de apariție</term>+ <term name="from">din</term>+ <term name="ibid">ibidem</term>+ <term name="in">în</term>+ <term name="in press">sub tipar</term>+ <term name="internet">internet</term>+ <term name="interview">interviu</term>+ <term name="letter">scrisoare</term>+ <term name="no date">fără dată</term>+ <term name="no date" form="short">f.a.</term>+ <term name="online">online</term>+ <term name="presented at">prezentat la</term>+ <term name="reference">+ <single>referință</single>+ <multiple>referințe</multiple>+ </term>+ <term name="reference" form="short">+ <single>ref.</single>+ <multiple>ref.</multiple>+ </term>+ <term name="retrieved">preluat în</term>+ <term name="scale">scală</term>+ <term name="version">versiunea</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">d.Hr.</term>+ <term name="bc">î.Hr.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">„</term>+ <term name="close-quote">”</term>+ <term name="open-inner-quote">«</term>+ <term name="close-inner-quote">»</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">-lea</term>+ <term name="ordinal-01" match="whole-number"></term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">primul</term>+ <term name="long-ordinal-02">al doilea</term>+ <term name="long-ordinal-03">al treilea</term>+ <term name="long-ordinal-04">al patrulea</term>+ <term name="long-ordinal-05">al cincilea</term>+ <term name="long-ordinal-06">al șaselea</term>+ <term name="long-ordinal-07">al șaptelea</term>+ <term name="long-ordinal-08">al optulea</term>+ <term name="long-ordinal-09">al nouălea</term>+ <term name="long-ordinal-10">al zecelea</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>cartea</single>+ <multiple>cărțile</multiple>+ </term>+ <term name="chapter">+ <single>capitolul</single>+ <multiple>capitolele</multiple>+ </term>+ <term name="column">+ <single>coloana</single>+ <multiple>coloanele</multiple>+ </term>+ <term name="figure">+ <single>figura</single>+ <multiple>figurile</multiple>+ </term>+ <term name="folio">+ <single>folio</single>+ <multiple>folio</multiple>+ </term>+ <term name="issue">+ <single>numărul</single>+ <multiple>numerele</multiple>+ </term>+ <term name="line">+ <single>linia</single>+ <multiple>liniile</multiple>+ </term>+ <term name="note">+ <single>nota</single>+ <multiple>notele</multiple>+ </term>+ <term name="opus">+ <single>opusul</single>+ <multiple>opusurile</multiple>+ </term>+ <term name="page">+ <single>pagina</single>+ <multiple>paginile</multiple>+ </term>+ <term name="number-of-pages">+ <single>pagina</single>+ <multiple>paginile</multiple>+ </term>+ <term name="paragraph">+ <single>paragraful</single>+ <multiple>paragrafele</multiple>+ </term>+ <term name="part">+ <single>partea</single>+ <multiple>părțile</multiple>+ </term>+ <term name="section">+ <single>secțiunea</single>+ <multiple>secțiunile</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>versetul</single>+ <multiple>versetele</multiple>+ </term>+ <term name="volume">+ <single>volumul</single>+ <multiple>volumele</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">cart.</term>+ <term name="chapter" form="short">cap.</term>+ <term name="column" form="short">col.</term>+ <term name="figure" form="short">fig.</term>+ <term name="folio" form="short">fol.</term>+ <term name="issue" form="short">nr.</term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">+ <single>p.</single>+ <multiple>pp.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>p.</single>+ <multiple>pp.</multiple>+ </term>+ <term name="paragraph" form="short">par.</term>+ <term name="part" form="short">part.</term>+ <term name="section" form="short">sec.</term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>v.</single>+ <multiple>vv.</multiple>+ </term>+ <term name="volume" form="short">+ <single>vol.</single>+ <multiple>vol.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>director</single>+ <multiple>directori</multiple>+ </term>+ <term name="editor">+ <single>editor</single>+ <multiple>editori</multiple>+ </term>+ <term name="editorial-director">+ <single>coordonator</single>+ <multiple>coordonatori</multiple>+ </term>+ <term name="illustrator">+ <single>ilustrator</single>+ <multiple>ilustratori</multiple>+ </term>+ <term name="translator">+ <single>traducător</single>+ <multiple>traducători</multiple>+ </term>+ <term name="editortranslator">+ <single>editor și traducător</single>+ <multiple>editori și traducători</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>dir.</single>+ <multiple>dir.</multiple>+ </term>+ <term name="editor" form="short">+ <single>ed.</single>+ <multiple>ed.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>coord.</single>+ <multiple>coord.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>ilustr.</single>+ <multiple>ilustr.</multiple>+ </term>+ <term name="translator" form="short">+ <single>trad.</single>+ <multiple>trad.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>ed. și trad.</single>+ <multiple>ed. și trad.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">de</term>+ <term name="director" form="verb">coordonat de</term>+ <term name="editor" form="verb">ediție de</term>+ <term name="editorial-director" form="verb">coordonator</term>+ <term name="illustrator" form="verb">ilustrații de</term>+ <term name="interviewer" form="verb">interviu de</term>+ <term name="recipient" form="verb">în</term>+ <term name="reviewed-author" form="verb">de</term>+ <term name="translator" form="verb">traducere de</term>+ <term name="editortranslator" form="verb">ediție și traducere de</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">dir.</term>+ <term name="editor" form="verb-short">ed.</term>+ <term name="editorial-director" form="verb-short">coord.</term>+ <term name="illustrator" form="verb-short">ilustr.</term>+ <term name="translator" form="verb-short">trad.</term>+ <term name="editortranslator" form="verb-short">ed. și trad. de</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">ianuarie</term>+ <term name="month-02">februarie</term>+ <term name="month-03">martie</term>+ <term name="month-04">aprilie</term>+ <term name="month-05">mai</term>+ <term name="month-06">iunie</term>+ <term name="month-07">iulie</term>+ <term name="month-08">august</term>+ <term name="month-09">septembrie</term>+ <term name="month-10">octombrie</term>+ <term name="month-11">noiembrie</term>+ <term name="month-12">decembrie</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">ian.</term>+ <term name="month-02" form="short">feb.</term>+ <term name="month-03" form="short">mar.</term>+ <term name="month-04" form="short">apr.</term>+ <term name="month-05" form="short">mai</term>+ <term name="month-06" form="short">iun.</term>+ <term name="month-07" form="short">iul.</term>+ <term name="month-08" form="short">aug.</term>+ <term name="month-09" form="short">sep.</term>+ <term name="month-10" form="short">oct.</term>+ <term name="month-11" form="short">nov.</term>+ <term name="month-12" form="short">dec.</term>++ <!-- SEASONS -->+ <term name="season-01">primăvara</term>+ <term name="season-02">vara</term>+ <term name="season-03">toamna</term>+ <term name="season-04">iarna</term>+ </terms>+</locale>
+ locales/ru-RU.xml view
@@ -0,0 +1,321 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="ru-RU">+ <info>+ <translator>+ <name>Alexei Kouprianov</name>+ <email>alexei.kouprianov@gmail.com</email>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year" suffix=" г."/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="."/>+ <date-part name="month" form="numeric-leading-zeros" suffix="."/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">просмотрено</term>+ <term name="and">и</term>+ <term name="and others">и др.</term>+ <term name="anonymous">аноним</term>+ <term name="anonymous" form="short">анон.</term>+ <term name="at">на</term>+ <term name="available at">доступно на</term>+ <term name="by"></term>+ <term name="circa">около</term>+ <term name="circa" form="short">ок.</term>+ <term name="cited">цитируется по</term>+ <term name="cited" form="short">цит. по</term>+ <term name="edition"> <!-- gender="neuter" -->+ <single>издание</single>+ <multiple>издания</multiple>+ </term>+ <term name="edition" form="short">изд.</term>+ <term name="et-al">и др.</term>+ <term name="forthcoming">ожидается</term>+ <term name="from">от</term>+ <term name="ibid">там же</term>+ <term name="in">в</term>+ <term name="in press">в печати</term>+ <term name="internet">Интернет</term>+ <term name="interview">интервью</term>+ <term name="letter">письмо</term>+ <term name="no date">без даты</term>+ <term name="no date" form="short">б. д.</term>+ <term name="online">онлайн</term>+ <term name="presented at">представлено на</term>+ <!-- Сложно подобрать один перевод для следующего термина. В зависимости от контекста это может быть "работа" или "источник" или вообще опускаться -->+ <term name="reference">+ <single>ссылка</single>+ <multiple>ссылки</multiple>+ </term>+ <!-- сокращения для "ссылка" не используются, но для некоторых случаев может подойти "ист." -->+ <term name="reference" form="short">+ <single>ссылка</single>+ <multiple>ссылки</multiple>+ </term>+ <term name="retrieved">извлечено</term>+ <term name="scale">масштаб</term>+ <term name="version">версия</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">н. э.</term>+ <term name="bc">до н. э.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">«</term>+ <term name="close-quote">»</term>+ <term name="open-inner-quote">„</term>+ <term name="close-inner-quote">“</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">-е</term>+ <term name="ordinal" gender-form="masculine">-й</term>+ <term name="ordinal" gender-form="feminine">-я</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">первое</term>+ <term name="long-ordinal-02">второе</term>+ <term name="long-ordinal-03">третье</term>+ <term name="long-ordinal-04">четвертое</term>+ <term name="long-ordinal-05">пятое</term>+ <term name="long-ordinal-06">шестое</term>+ <term name="long-ordinal-07">седьмое</term>+ <term name="long-ordinal-08">восьмое</term>+ <term name="long-ordinal-09">девятое</term>+ <term name="long-ordinal-10">десятое</term>+ <term name="long-ordinal-01" gender-form="masculine">первый</term>+ <term name="long-ordinal-02" gender-form="masculine">второй</term>+ <term name="long-ordinal-03" gender-form="masculine">третий</term>+ <term name="long-ordinal-04" gender-form="masculine">четвертый</term>+ <term name="long-ordinal-05" gender-form="masculine">пятый</term>+ <term name="long-ordinal-06" gender-form="masculine">шестой</term>+ <term name="long-ordinal-07" gender-form="masculine">седьмой</term>+ <term name="long-ordinal-08" gender-form="masculine">восьмой</term>+ <term name="long-ordinal-09" gender-form="masculine">девятый</term>+ <term name="long-ordinal-10" gender-form="masculine">десятый</term>+ <term name="long-ordinal-01" gender-form="feminine">первая</term>+ <term name="long-ordinal-02" gender-form="feminine">вторая</term>+ <term name="long-ordinal-03" gender-form="feminine">третья</term>+ <term name="long-ordinal-04" gender-form="feminine">четвертая</term>+ <term name="long-ordinal-05" gender-form="feminine">пятая</term>+ <term name="long-ordinal-06" gender-form="feminine">шестая</term>+ <term name="long-ordinal-07" gender-form="feminine">седьмая</term>+ <term name="long-ordinal-08" gender-form="feminine">восьмая</term>+ <term name="long-ordinal-09" gender-form="feminine">девятая</term>+ <term name="long-ordinal-10" gender-form="feminine">десятая</term>+ <!-- LONG LOCATOR FORMS -->+ <!-- Currently only a few of locator terms are gender-assignable -->+ <term name="book">+ <single>книга</single>+ <multiple>книги</multiple>+ </term>+ <term name="chapter">+ <single>глава</single>+ <multiple>главы</multiple>+ </term>+ <term name="column">+ <single>столбец</single>+ <multiple>столбцы</multiple>+ </term>+ <term name="figure">+ <single>рисунок</single>+ <multiple>рисунки</multiple>+ </term>+ <term name="folio">+ <single>лист</single>+ <multiple>листы</multiple>+ </term>+ <term name="issue" gender="masculine">+ <single>выпуск</single>+ <multiple>выпуски</multiple>+ </term>+ <term name="line">+ <single>строка</single>+ <multiple>строки</multiple>+ </term>+ <term name="note">+ <single>примечание</single>+ <multiple>примечания</multiple>+ </term>+ <term name="opus">+ <single>сочинение</single>+ <multiple>сочинения</multiple>+ </term>+ <term name="page">+ <single>страница</single>+ <multiple>страницы</multiple>+ </term>+ <!-- для однообразности здесь тоже указали род, но использование кол-ва страниц с порядковым числительным маловероятно -->+ <term name="number-of-pages" gender="feminine">+ <single>страница</single>+ <multiple>страницы</multiple>+ </term>+ <term name="paragraph">+ <single>параграф</single>+ <multiple>параграфы</multiple>+ </term>+ <term name="part">+ <single>часть</single>+ <multiple>части</multiple>+ </term>+ <term name="section">+ <single>раздел</single>+ <multiple>разделы</multiple>+ </term>+ <term name="sub verbo">смотри</term>+ <term name="verse">+ <single>стих</single>+ <multiple>стихи</multiple>+ </term>+ <term name="volume" gender="masculine">+ <single>том</single>+ <multiple>тома</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <!-- Ниже для всех однобуквенных сокращений приведены двухбуквенные варианты множественного числа. Если последние нежелательны (например, по ГОСТу для библиографии "С. 23-35") то это должно определяться в самом стиле (plural="never") -->+ <term name="book" form="short">кн.</term>+ <term name="chapter" form="short">гл.</term>+ <term name="column" form="short">стб.</term>+ <term name="figure" form="short">рис.</term>+ <term name="folio" form="short">+ <single>л.</single>+ <multiple>лл.</multiple>+ </term>+ <term name="issue" form="short">вып.</term>+ <term name="line" form="short">стр.</term>+ <term name="note" form="short">прим.</term>+ <term name="opus" form="short">соч.</term>+ <term name="page" form="short">+ <single>с.</single>+ <multiple>сс.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>с.</single>+ <multiple>сс.</multiple>+ </term>+ <term name="paragraph" form="short">+ <single>п.</single>+ <multiple>пп.</multiple>+ </term>+ <term name="part" form="short">+ <single>ч.</single>+ <multiple>чч.</multiple>+ </term>+ <term name="section" form="short">разд.</term>+ <term name="sub verbo" form="short">см.</term>+ <term name="verse" form="short">ст.</term>+ <term name="volume" form="short">+ <single>т.</single>+ <multiple>тт.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>режиссер</single>+ <multiple>режиссеры</multiple>+ </term>+ <term name="editor">+ <single>редактор</single>+ <multiple>редакторы</multiple>+ </term>+ <term name="editorial-director">+ <single>ответственный редактор</single>+ <multiple>ответственные редакторы</multiple>+ </term>+ <term name="illustrator">+ <single>иллюстратор</single>+ <multiple>иллюстраторы</multiple>+ </term>+ <term name="translator">+ <single>переводчик</single>+ <multiple>переводчики</multiple>+ </term>+ <term name="editortranslator">+ <single>редактор и переводчик</single>+ <multiple>редакторы и переводчики</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">реж.</term>+ <term name="editor" form="short">ред.</term>+ <term name="editorial-director" form="short">отв. ред.</term>+ <term name="illustrator" form="short">ил.</term>+ <term name="translator" form="short">пер.</term>+ <term name="editortranslator" form="short">ред. и пер.</term>++ <!-- VERB ROLE FORMS -->+ <!-- В этом и следующем разделе приведены наиболее широко используемые термины (например, "под редакцией" вместо "отредактировано"). Единственным недостатком является то, что разные термины требует разного падежа для последующих фамилий -->+ <term name="container-author" form="verb"></term>+ <term name="director" form="verb">режиссировано</term>+ <term name="editor" form="verb">под редакцией</term>+ <term name="editorial-director" form="verb">под ответственной редакцией</term>+ <term name="illustrator" form="verb">иллюстрировано</term>+ <term name="interviewer" form="verb">интервью проведено</term>+ <term name="recipient" form="verb">к</term>+ <term name="reviewed-author" form="verb"></term>+ <term name="translator" form="verb">переведено</term>+ <term name="editortranslator" form="verb">под редакцией и переведено</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">реж.</term>+ <term name="editor" form="verb-short">под ред.</term>+ <term name="editorial-director" form="verb-short">под отв. ред.</term>+ <term name="illustrator" form="verb-short">ил.</term>+ <term name="translator" form="verb-short">пер.</term>+ <term name="editortranslator" form="verb-short">под ред. и пер.</term>++ <!-- LONG MONTH FORMS -->+ <!-- род месяцев не указываем, поскольку даже если использовать порядковые числительные в дате, то они должны соответствовать среднему роду, например "второе февраля" -->+ <term name="month-01">январь</term>+ <term name="month-02">февраль</term>+ <term name="month-03">март</term>+ <term name="month-04">апрель</term>+ <term name="month-05">май</term>+ <term name="month-06">июнь</term>+ <term name="month-07">июль</term>+ <term name="month-08">август</term>+ <term name="month-09">сентябрь</term>+ <term name="month-10">октябрь</term>+ <term name="month-11">ноябрь</term>+ <term name="month-12">декабрь</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">янв.</term>+ <term name="month-02" form="short">фев.</term>+ <term name="month-03" form="short">мар.</term>+ <term name="month-04" form="short">апр.</term>+ <term name="month-05" form="short">май</term>+ <term name="month-06" form="short">июн.</term>+ <term name="month-07" form="short">июл.</term>+ <term name="month-08" form="short">авг.</term>+ <term name="month-09" form="short">сен.</term>+ <term name="month-10" form="short">окт.</term>+ <term name="month-11" form="short">ноя.</term>+ <term name="month-12" form="short">дек.</term>++ <!-- SEASONS -->+ <term name="season-01">весна</term>+ <term name="season-02">лето</term>+ <term name="season-03">осень</term>+ <term name="season-04">зима</term>+ </terms>+</locale>
+ locales/sk-SK.xml view
@@ -0,0 +1,318 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="sk-SK">+ <info>+ <translator>+ <name>Tomáš Ferianc</name>+ </translator>+ <translator>+ <name>kohafan</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2014-03-09T22:23:31+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" form="numeric-leading-zeros" suffix=". "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" suffix="."/>+ <date-part name="month" form="numeric" suffix="."/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">cit</term>+ <term name="and">a</term>+ <term name="and others">a ďalší</term>+ <term name="anonymous">anonym</term>+ <term name="anonymous" form="short">anon.</term>+ <term name="at">v</term>+ <term name="available at">available at</term>+ <term name="by">by</term>+ <term name="circa">circa</term>+ <term name="circa" form="short">cca.</term>+ <term name="cited">cit</term>+ <term name="edition">+ <single>vydanie</single>+ <multiple>vydania</multiple>+ </term>+ <term name="edition" form="short">vyd.</term>+ <term name="et-al">et al.</term>+ <term name="forthcoming">nadchádzajúci</term>+ <term name="from">z</term>+ <term name="ibid">ibid.</term>+ <term name="in">v</term>+ <term name="in press">v tlači</term>+ <term name="internet">internet</term>+ <term name="interview">osobná komunikácia</term>+ <term name="letter">list</term>+ <term name="no date">no date</term>+ <term name="no date" form="short">n.d.</term>+ <term name="online">online</term>+ <term name="presented at">prezentované na</term>+ <term name="reference">+ <single>reference</single>+ <multiple>references</multiple>+ </term>+ <term name="reference" form="short">+ <single>ref.</single>+ <multiple>refs.</multiple>+ </term>+ <term name="retrieved">cit</term>+ <term name="scale">scale</term>+ <term name="version">version</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">po Kr.</term>+ <term name="bc">pred Kr.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">“</term>+ <term name="close-quote">”</term>+ <term name="open-inner-quote">‘</term>+ <term name="close-inner-quote">’</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">th</term>+ <term name="ordinal-01">st</term>+ <term name="ordinal-02">nd</term>+ <term name="ordinal-03">rd</term>+ <term name="ordinal-11">th</term>+ <term name="ordinal-12">th</term>+ <term name="ordinal-13">th</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">first</term>+ <term name="long-ordinal-02">second</term>+ <term name="long-ordinal-03">third</term>+ <term name="long-ordinal-04">fourth</term>+ <term name="long-ordinal-05">fifth</term>+ <term name="long-ordinal-06">sixth</term>+ <term name="long-ordinal-07">seventh</term>+ <term name="long-ordinal-08">eighth</term>+ <term name="long-ordinal-09">ninth</term>+ <term name="long-ordinal-10">tenth</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>kniha</single>+ <multiple>knihy</multiple>+ </term>+ <term name="chapter">+ <single>kapitola</single>+ <multiple>kapitoly</multiple>+ </term>+ <term name="column">+ <single>stĺpec</single>+ <multiple>stĺpce</multiple>+ </term>+ <term name="figure">+ <single>obrázok</single>+ <multiple>obrázky</multiple>+ </term>+ <term name="folio">+ <single>list</single>+ <multiple>listy</multiple>+ </term>+ <term name="issue">+ <single>číslo</single>+ <multiple>čísla</multiple>+ </term>+ <term name="line">+ <single>riadok</single>+ <multiple>riadky</multiple>+ </term>+ <term name="note">+ <single>poznámka</single>+ <multiple>poznámky</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opera</multiple>+ </term>+ <term name="page">+ <single>strana</single>+ <multiple>strany</multiple>+ </term>+ <term name="number-of-pages">+ <single>strana</single>+ <multiple>strany</multiple>+ </term>+ <term name="paragraph">+ <single>odstavec</single>+ <multiple>odstavce</multiple>+ </term>+ <term name="part">+ <single>časť</single>+ <multiple>časti</multiple>+ </term>+ <term name="section">+ <single>sekcia</single>+ <multiple>sekcie</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>verš</single>+ <multiple>verše</multiple>+ </term>+ <term name="volume">+ <single>ročník</single>+ <multiple>ročníky</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">k.</term>+ <term name="chapter" form="short">kap.</term>+ <term name="column" form="short">stĺp.</term>+ <term name="figure" form="short">obr.</term>+ <term name="folio" form="short">l.</term>+ <term name="issue" form="short">č.</term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">+ <single>s.</single>+ <multiple>s.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>s.</single>+ <multiple>s.</multiple>+ </term>+ <term name="paragraph" form="short">par.</term>+ <term name="part" form="short">č.</term>+ <term name="section" form="short">sek.</term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>v.</single>+ <multiple>v.</multiple>+ </term>+ <term name="volume" form="short">+ <single>roč.</single>+ <multiple>roč.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>director</single>+ <multiple>directors</multiple>+ </term>+ <term name="editor">+ <single>editor</single>+ <multiple>editori</multiple>+ </term>+ <term name="editorial-director">+ <single>zostavovateľ</single>+ <multiple>zostavovatelia</multiple>+ </term>+ <term name="illustrator">+ <single>illustrator</single>+ <multiple>illustrators</multiple>+ </term>+ <term name="translator">+ <single>prekladateľ</single>+ <multiple>prekladatelia</multiple>+ </term>+ <term name="editortranslator">+ <single>zostavovateľ & prekladateľ</single>+ <multiple>zostavovatelia & prekladatelia</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>dir.</single>+ <multiple>dirs.</multiple>+ </term>+ <term name="editor" form="short">+ <single>ed.</single>+ <multiple>ed.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>zost.</single>+ <multiple>zost.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>ill.</single>+ <multiple>ills.</multiple>+ </term>+ <term name="translator" form="short">+ <single>prel.</single>+ <multiple>prel.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>ed. & tran.</single>+ <multiple>eds. & trans.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">by</term>+ <term name="director" form="verb">directed by</term>+ <term name="editor" form="verb">zostavil</term>+ <term name="editorial-director" form="verb">zostavil</term>+ <term name="illustrator" form="verb">illustrated by</term>+ <term name="interviewer" form="verb">rozhovor urobil</term>+ <term name="recipient" form="verb">adresát</term>+ <term name="reviewed-author" form="verb">by</term>+ <term name="translator" form="verb">preložil</term>+ <term name="editortranslator" form="verb">zostavil & preložil</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">dir.</term>+ <term name="editor" form="verb-short">ed.</term>+ <term name="editorial-director" form="verb-short">ed.</term>+ <term name="illustrator" form="verb-short">illus.</term>+ <term name="translator" form="verb-short">prel.</term>+ <term name="editortranslator" form="verb-short">zost. & prel.</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">január</term>+ <term name="month-02">február</term>+ <term name="month-03">marec</term>+ <term name="month-04">apríl</term>+ <term name="month-05">máj</term>+ <term name="month-06">jún</term>+ <term name="month-07">júl</term>+ <term name="month-08">august</term>+ <term name="month-09">september</term>+ <term name="month-10">október</term>+ <term name="month-11">november</term>+ <term name="month-12">december</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">jan.</term>+ <term name="month-02" form="short">feb.</term>+ <term name="month-03" form="short">mar.</term>+ <term name="month-04" form="short">apr.</term>+ <term name="month-05" form="short">máj.</term>+ <term name="month-06" form="short">jún.</term>+ <term name="month-07" form="short">júl.</term>+ <term name="month-08" form="short">aug.</term>+ <term name="month-09" form="short">sep.</term>+ <term name="month-10" form="short">okt.</term>+ <term name="month-11" form="short">nov.</term>+ <term name="month-12" form="short">dec.</term>++ <!-- SEASONS -->+ <term name="season-01">Jar</term>+ <term name="season-02">Leto</term>+ <term name="season-03">Jeseň</term>+ <term name="season-04">Zima</term>+ </terms>+</locale>
+ locales/sl-SI.xml view
@@ -0,0 +1,312 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="sl-SI">+ <info>+ <translator>+ <name>Kristof Ostir</name>+ </translator>+ <translator>+ <name>ratek1</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2014-11-06T09:41:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" form="numeric" suffix=". "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric" suffix=". "/>+ <date-part name="month" form="numeric" suffix=". "/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">pridobljeno</term>+ <term name="and">in</term>+ <term name="and others">in drugi</term>+ <term name="anonymous">anonimni</term>+ <term name="anonymous" form="short">anon.</term>+ <term name="at">pri</term>+ <term name="available at">dostopno na</term>+ <term name="by"></term>+ <term name="circa">približno</term>+ <term name="circa" form="short">prib.</term>+ <term name="cited">citirano</term>+ <term name="edition">+ <single>izdaja</single>+ <multiple>izdaje</multiple>+ </term>+ <term name="edition" form="short">izd.</term>+ <term name="et-al">idr.</term>+ <term name="forthcoming">pred izidom</term>+ <term name="from">s</term>+ <term name="ibid">isto</term>+ <term name="in">v</term>+ <term name="in press">v tisku</term>+ <term name="internet">internet</term>+ <term name="interview">intervju</term>+ <term name="letter">pismo</term>+ <term name="no date">brez datuma</term>+ <term name="no date" form="short">b. d.</term>+ <term name="online">na spletu</term>+ <term name="presented at">predstavljeno na</term>+ <term name="reference">+ <single>referenca</single>+ <multiple>reference</multiple>+ </term>+ <term name="reference" form="short">+ <single>ref.</single>+ <multiple>ref.</multiple>+ </term>+ <term name="retrieved">pridobljeno</term>+ <term name="scale">merilo</term>+ <term name="version">različica</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">n. št.</term>+ <term name="bc">pr. n. št.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">„</term>+ <term name="close-quote">“</term>+ <term name="open-inner-quote">‚</term>+ <term name="close-inner-quote">‘</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">.</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">prva</term>+ <term name="long-ordinal-02">druga</term>+ <term name="long-ordinal-03">tretja</term>+ <term name="long-ordinal-04">četrta</term>+ <term name="long-ordinal-05">peta</term>+ <term name="long-ordinal-06">šesta</term>+ <term name="long-ordinal-07">sedma</term>+ <term name="long-ordinal-08">osma</term>+ <term name="long-ordinal-09">deveta</term>+ <term name="long-ordinal-10">deseta</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>knjiga</single>+ <multiple>knjige</multiple>+ </term>+ <term name="chapter">+ <single>poglavje</single>+ <multiple>poglavja</multiple>+ </term>+ <term name="column">+ <single>stolpec</single>+ <multiple>stolpci</multiple>+ </term>+ <term name="figure">+ <single>slika</single>+ <multiple>slike</multiple>+ </term>+ <term name="folio">+ <single>folio</single>+ <multiple>folii</multiple>+ </term>+ <term name="issue">+ <single>številka</single>+ <multiple>številke</multiple>+ </term>+ <term name="line">+ <single>vrstica</single>+ <multiple>vrstice</multiple>+ </term>+ <term name="note">+ <single>opomba</single>+ <multiple>opombe</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opusi</multiple>+ </term>+ <term name="page">+ <single>stran</single>+ <multiple>strani</multiple>+ </term>+ <term name="number-of-pages">+ <single>stran</single>+ <multiple>strani</multiple>+ </term>+ <term name="paragraph">+ <single>odstavek</single>+ <multiple>odstavki</multiple>+ </term>+ <term name="part">+ <single>del</single>+ <multiple>deli</multiple>+ </term>+ <term name="section">+ <single>odsek</single>+ <multiple>odseki</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>verz</single>+ <multiple>verzi</multiple>+ </term>+ <term name="volume">+ <single>letnik</single>+ <multiple>letniki</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">knj.</term>+ <term name="chapter" form="short">pogl.</term>+ <term name="column" form="short">stolp.</term>+ <term name="figure" form="short">sl.</term>+ <term name="folio" form="short">fol.</term>+ <term name="issue" form="short">št.</term>+ <term name="line" form="short">vrst.</term>+ <term name="note" form="short">op.</term>+ <term name="opus" form="short">opus</term>+ <term name="page" form="short">+ <single>str.</single>+ <multiple>str.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>str.</single>+ <multiple>str.</multiple>+ </term>+ <term name="paragraph" form="short">odst.</term>+ <term name="part" form="short">del</term>+ <term name="section" form="short">ods.</term>+ <term name="sub verbo" form="short">+ <single>s. v.</single>+ <multiple>s. v.</multiple>+ </term>+ <term name="verse" form="short">+ <single>v.</single>+ <multiple>v.</multiple>+ </term>+ <term name="volume" form="short">+ <single>let.</single>+ <multiple>let.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>režiser</single>+ <multiple>režiserji</multiple>+ </term>+ <term name="editor">+ <single>urednik</single>+ <multiple>uredniki</multiple>+ </term>+ <term name="editorial-director">+ <single>glavni urednik</single>+ <multiple>glavni uredniki</multiple>+ </term>+ <term name="illustrator">+ <single>ilustrator</single>+ <multiple>ilustratorji</multiple>+ </term>+ <term name="translator">+ <single>prevajalec</single>+ <multiple>prevajalci</multiple>+ </term>+ <term name="editortranslator">+ <single>urednik & prevajalec</single>+ <multiple>uredniki & prevajalci</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>rež.</single>+ <multiple>rež.</multiple>+ </term>+ <term name="editor" form="short">+ <single>ur.</single>+ <multiple>ur.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>gl. ur.</single>+ <multiple>gl. ur.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>ilus.</single>+ <multiple>ilus.</multiple>+ </term>+ <term name="translator" form="short">+ <single>prev.</single>+ <multiple>prev.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>ur. & prev.</single>+ <multiple>ur. & prev.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb"></term>+ <term name="director" form="verb">režiral</term>+ <term name="editor" form="verb">uredil</term>+ <term name="editorial-director" form="verb">uredil</term>+ <term name="illustrator" form="verb">ilustriral</term>+ <term name="interviewer" form="verb">intervjuval</term>+ <term name="recipient" form="verb">za</term>+ <term name="reviewed-author" form="verb">od</term>+ <term name="translator" form="verb">prevedel</term>+ <term name="editortranslator" form="verb">uredil & prevedel</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">rež.</term>+ <term name="editor" form="verb-short">ured.</term>+ <term name="editorial-director" form="verb-short">ured.</term>+ <term name="illustrator" form="verb-short">ilus.</term>+ <term name="translator" form="verb-short">prev.</term>+ <term name="editortranslator" form="verb-short">ured. & prev. by</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">januar</term>+ <term name="month-02">februar</term>+ <term name="month-03">marec</term>+ <term name="month-04">april</term>+ <term name="month-05">maj</term>+ <term name="month-06">junij</term>+ <term name="month-07">julij</term>+ <term name="month-08">avgust</term>+ <term name="month-09">september</term>+ <term name="month-10">oktober</term>+ <term name="month-11">november</term>+ <term name="month-12">december</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">jan.</term>+ <term name="month-02" form="short">feb.</term>+ <term name="month-03" form="short">mar.</term>+ <term name="month-04" form="short">apr.</term>+ <term name="month-05" form="short">maj</term>+ <term name="month-06" form="short">jun.</term>+ <term name="month-07" form="short">jul.</term>+ <term name="month-08" form="short">avg.</term>+ <term name="month-09" form="short">sep.</term>+ <term name="month-10" form="short">okt.</term>+ <term name="month-11" form="short">nov.</term>+ <term name="month-12" form="short">dec.</term>++ <!-- SEASONS -->+ <term name="season-01">pomlad</term>+ <term name="season-02">poletje</term>+ <term name="season-03">jesen</term>+ <term name="season-04">zima</term>+ </terms>+</locale>
+ locales/sr-RS.xml view
@@ -0,0 +1,312 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="sr-RS">+ <info>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" form="numeric-leading-zeros" suffix=". "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year" suffix="."/>+ </date>+ <date form="numeric">+ <date-part name="year"/>+ <date-part name="month" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>+ <date-part name="day" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>+ </date>+ <terms>+ <term name="accessed">приступљено</term>+ <term name="and">и</term>+ <term name="and others">и остали</term>+ <term name="anonymous">анонимна</term>+ <term name="anonymous" form="short">анон.</term>+ <term name="at">на</term>+ <term name="available at">available at</term>+ <term name="by">by</term>+ <term name="circa">circa</term>+ <term name="circa" form="short">c.</term>+ <term name="cited">цитирано</term>+ <term name="edition">+ <single>издање</single>+ <multiple>издања</multiple>+ </term>+ <term name="edition" form="short">изд.</term>+ <term name="et-al">и остали</term>+ <term name="forthcoming">долазећи</term>+ <term name="from">од</term>+ <term name="ibid">ibid.</term>+ <term name="in">у</term>+ <term name="in press">у штампи</term>+ <term name="internet">Интернет</term>+ <term name="interview">интервју</term>+ <term name="letter">писмо</term>+ <term name="no date">no date</term>+ <term name="no date" form="short">без датума</term>+ <term name="online">на Интернету</term>+ <term name="presented at">представљено на</term>+ <term name="reference">+ <single>reference</single>+ <multiple>references</multiple>+ </term>+ <term name="reference" form="short">+ <single>ref.</single>+ <multiple>refs.</multiple>+ </term>+ <term name="retrieved">преузето</term>+ <term name="scale">scale</term>+ <term name="version">version</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">AD</term>+ <term name="bc">BC</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">„</term>+ <term name="close-quote">“</term>+ <term name="open-inner-quote">‚</term>+ <term name="close-inner-quote">‘</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">th</term>+ <term name="ordinal-01">st</term>+ <term name="ordinal-02">nd</term>+ <term name="ordinal-03">rd</term>+ <term name="ordinal-11">th</term>+ <term name="ordinal-12">th</term>+ <term name="ordinal-13">th</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">first</term>+ <term name="long-ordinal-02">second</term>+ <term name="long-ordinal-03">third</term>+ <term name="long-ordinal-04">fourth</term>+ <term name="long-ordinal-05">fifth</term>+ <term name="long-ordinal-06">sixth</term>+ <term name="long-ordinal-07">seventh</term>+ <term name="long-ordinal-08">eighth</term>+ <term name="long-ordinal-09">ninth</term>+ <term name="long-ordinal-10">tenth</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>књига</single>+ <multiple>књиге</multiple>+ </term>+ <term name="chapter">+ <single>поглавље</single>+ <multiple>поглавља</multiple>+ </term>+ <term name="column">+ <single>колона</single>+ <multiple>колоне</multiple>+ </term>+ <term name="figure">+ <single>цртеж</single>+ <multiple>цртежи</multiple>+ </term>+ <term name="folio">+ <single>фолио</single>+ <multiple>фолији</multiple>+ </term>+ <term name="issue">+ <single>број</single>+ <multiple>бројеви</multiple>+ </term>+ <term name="line">+ <single>линија</single>+ <multiple>линије</multiple>+ </term>+ <term name="note">+ <single>белешка</single>+ <multiple>белешке</multiple>+ </term>+ <term name="opus">+ <single>опус</single>+ <multiple>опера</multiple>+ </term>+ <term name="page">+ <single>страница</single>+ <multiple>странице</multiple>+ </term>+ <term name="number-of-pages">+ <single>страница</single>+ <multiple>странице</multiple>+ </term>+ <term name="paragraph">+ <single>параграф</single>+ <multiple>параграфи</multiple>+ </term>+ <term name="part">+ <single>део</single>+ <multiple>делова</multiple>+ </term>+ <term name="section">+ <single>одељак</single>+ <multiple>одељака</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>строфа</single>+ <multiple>строфе</multiple>+ </term>+ <term name="volume">+ <single>том</single>+ <multiple>томова</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">књига</term>+ <term name="chapter" form="short">Пог.</term>+ <term name="column" form="short">кол.</term>+ <term name="figure" form="short">црт.</term>+ <term name="folio" form="short">фолио</term>+ <term name="issue" form="short">изд.</term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">оп.</term>+ <term name="page" form="short">+ <single>стр.</single>+ <multiple>стр.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>стр.</single>+ <multiple>стр.</multiple>+ </term>+ <term name="paragraph" form="short">пар.</term>+ <term name="part" form="short">део</term>+ <term name="section" form="short">од.</term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>стр.</single>+ <multiple>стр.</multiple>+ </term>+ <term name="volume" form="short">+ <single>том</single>+ <multiple>томови</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>director</single>+ <multiple>directors</multiple>+ </term>+ <term name="editor">+ <single>уредник</single>+ <multiple>урединици</multiple>+ </term>+ <term name="editorial-director">+ <single>editor</single>+ <multiple>editors</multiple>+ </term>+ <term name="illustrator">+ <single>illustrator</single>+ <multiple>illustrators</multiple>+ </term>+ <term name="translator">+ <single>преводилац</single>+ <multiple>преводиоци</multiple>+ </term>+ <term name="editortranslator">+ <single>editor & translator</single>+ <multiple>editors & translators</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>dir.</single>+ <multiple>dirs.</multiple>+ </term>+ <term name="editor" form="short">+ <single>ур.</single>+ <multiple>ур.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>ed.</single>+ <multiple>eds.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>ill.</single>+ <multiple>ills.</multiple>+ </term>+ <term name="translator" form="short">+ <single>прев.</single>+ <multiple>прев.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>ed. & tran.</single>+ <multiple>eds. & trans.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">by</term>+ <term name="director" form="verb">directed by</term>+ <term name="editor" form="verb">уредио</term>+ <term name="editorial-director" form="verb">edited by</term>+ <term name="illustrator" form="verb">illustrated by</term>+ <term name="interviewer" form="verb">интервјуисао</term>+ <term name="recipient" form="verb">прима</term>+ <term name="reviewed-author" form="verb">by</term>+ <term name="translator" form="verb">превео</term>+ <term name="editortranslator" form="verb">edited & translated by</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">dir.</term>+ <term name="editor" form="verb-short">ур.</term>+ <term name="editorial-director" form="verb-short">ed.</term>+ <term name="illustrator" form="verb-short">illus.</term>+ <term name="translator" form="verb-short">прев.</term>+ <term name="editortranslator" form="verb-short">ed. & trans. by</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">Јануар</term>+ <term name="month-02">Фебруар</term>+ <term name="month-03">Март</term>+ <term name="month-04">Април</term>+ <term name="month-05">Мај</term>+ <term name="month-06">Јуни</term>+ <term name="month-07">Јули</term>+ <term name="month-08">Август</term>+ <term name="month-09">Септембар</term>+ <term name="month-10">Октобар</term>+ <term name="month-11">Новембар</term>+ <term name="month-12">Децембар</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">Јан.</term>+ <term name="month-02" form="short">Феб.</term>+ <term name="month-03" form="short">Март</term>+ <term name="month-04" form="short">Апр.</term>+ <term name="month-05" form="short">Мај</term>+ <term name="month-06" form="short">Јуни</term>+ <term name="month-07" form="short">Јули</term>+ <term name="month-08" form="short">Авг.</term>+ <term name="month-09" form="short">Сеп.</term>+ <term name="month-10" form="short">Окт.</term>+ <term name="month-11" form="short">Нов.</term>+ <term name="month-12" form="short">Дец.</term>++ <!-- SEASONS -->+ <term name="season-01">Spring</term>+ <term name="season-02">Summer</term>+ <term name="season-03">Autumn</term>+ <term name="season-04">Winter</term>+ </terms>+</locale>
+ locales/sv-SE.xml view
@@ -0,0 +1,322 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="sv-SE">+ <info>+ <translator>+ <name>torfeur</name>+ </translator>+ <translator>+ <name>Sylvester Keil</name>+ </translator>+ <translator>+ <name>Sebastian Karcher</name>+ </translator>+ <translator>+ <name>Ulf Harnhammar</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" form="numeric-leading-zeros" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="year"/>+ <date-part name="month" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>+ <date-part name="day" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>+ </date>+ <terms>+ <term name="accessed">åtkomstdatum</term>+ <term name="and">och</term>+ <term name="and others">och andra</term>+ <term name="anonymous">anonym</term>+ <term name="anonymous" form="short">anon.</term>+ <term name="at">vid</term>+ <term name="available at">tillgänglig vid</term>+ <term name="by">av</term>+ <term name="circa">cirka</term>+ <term name="circa" form="short">ca</term>+ <term name="cited">citerad</term>+ <term name="edition">+ <single>upplaga</single>+ <multiple>upplagor</multiple>+ </term>+ <term name="edition" form="short">uppl.</term>+ <term name="et-al">m.fl.</term>+ <term name="forthcoming">kommande</term>+ <term name="from">från</term>+ <term name="ibid">ibid.</term>+ <term name="in">i</term>+ <term name="in press">i tryck</term>+ <term name="internet">internet</term>+ <term name="interview">intervju</term>+ <term name="letter">brev</term>+ <term name="no date">utan årtal</term>+ <term name="no date" form="short">u.å.</term>+ <term name="online">online</term>+ <term name="presented at">presenterad vid</term>+ <term name="reference">+ <single>referens</single>+ <multiple>referenser</multiple>+ </term>+ <term name="reference" form="short">+ <single>ref.</single>+ <multiple>ref.</multiple>+ </term>+ <term name="retrieved">hämtad</term>+ <term name="scale">scale</term>+ <term name="version">version</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">e.Kr.</term>+ <term name="bc">f.Kr.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">”</term>+ <term name="close-quote">”</term>+ <term name="open-inner-quote">’</term>+ <term name="close-inner-quote">’</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">:e</term>+ <term name="ordinal-01">:a</term>+ <term name="ordinal-02">:a</term>+ <term name="ordinal-11">:e</term>+ <term name="ordinal-12">:e</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">första</term>+ <term name="long-ordinal-02">andra</term>+ <term name="long-ordinal-03">tredje</term>+ <term name="long-ordinal-04">fjärde</term>+ <term name="long-ordinal-05">femte</term>+ <term name="long-ordinal-06">sjätte</term>+ <term name="long-ordinal-07">sjunde</term>+ <term name="long-ordinal-08">åttonde</term>+ <term name="long-ordinal-09">nionde</term>+ <term name="long-ordinal-10">tionde</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>bok</single>+ <multiple>böcker</multiple>+ </term>+ <term name="chapter">+ <single>kapitel</single>+ <multiple>kapitel</multiple>+ </term>+ <term name="column">+ <single>kolumn</single>+ <multiple>kolumner</multiple>+ </term>+ <term name="figure">+ <single>figur</single>+ <multiple>figurer</multiple>+ </term>+ <term name="folio">+ <single>folio</single>+ <multiple>folios</multiple>+ </term>+ <term name="issue">+ <single>nummer</single>+ <multiple>nummer</multiple>+ </term>+ <term name="line">+ <single>rad</single>+ <multiple>rader</multiple>+ </term>+ <term name="note">+ <single>not</single>+ <multiple>noter</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opera</multiple>+ </term>+ <term name="page">+ <single>sida</single>+ <multiple>sidor</multiple>+ </term>+ <term name="number-of-pages">+ <single>sida</single>+ <multiple>sidor</multiple>+ </term>+ <term name="paragraph">+ <single>stycke</single>+ <multiple>stycken</multiple>+ </term>+ <term name="part">+ <single>del</single>+ <multiple>delar</multiple>+ </term>+ <term name="section">+ <single>avsnitt</single>+ <multiple>avsnitt</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>vers</single>+ <multiple>verser</multiple>+ </term>+ <term name="volume">+ <single>volym</single>+ <multiple>volymer</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">bok</term>+ <term name="chapter" form="short">kap.</term>+ <term name="column" form="short">kol.</term>+ <term name="figure" form="short">fig.</term>+ <term name="folio" form="short">f.</term>+ <term name="issue" form="short">nr</term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">+ <single>s.</single>+ <multiple>s.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>s.</single>+ <multiple>s.</multiple>+ </term>+ <term name="paragraph" form="short">st.</term>+ <term name="part" form="short">del</term>+ <term name="section" form="short">avs.</term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>vers</single>+ <multiple>verser</multiple>+ </term>+ <term name="volume" form="short">+ <single>vol.</single>+ <multiple>vol.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>director</single>+ <multiple>directors</multiple>+ </term>+ <term name="editor">+ <single>redaktör</single>+ <multiple>redaktörer</multiple>+ </term>+ <term name="editorial-director">+ <single>editor</single>+ <multiple>editors</multiple>+ </term>+ <term name="illustrator">+ <single>illustratör</single>+ <multiple>illustratörer</multiple>+ </term>+ <term name="translator">+ <single>översättare</single>+ <multiple>översättare</multiple>+ </term>+ <term name="editortranslator">+ <single>redaktör & översättare</single>+ <multiple>redaktörer & översättare</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>dir.</single>+ <multiple>dirs.</multiple>+ </term>+ <term name="editor" form="short">+ <single>red.</single>+ <multiple>red.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>ed.</single>+ <multiple>eds.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>ill.</single>+ <multiple>ill.</multiple>+ </term>+ <term name="translator" form="short">+ <single>övers.</single>+ <multiple>övers.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>red. & övers.</single>+ <multiple>red. & övers.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">av</term>+ <term name="director" form="verb">directed by</term>+ <term name="editor" form="verb">redigerad av</term>+ <term name="editorial-director" form="verb">edited by</term>+ <term name="illustrator" form="verb">illustrerad av</term>+ <term name="interviewer" form="verb">intervjuad av</term>+ <term name="recipient" form="verb">till</term>+ <term name="reviewed-author" form="verb">by</term>+ <term name="translator" form="verb">översatt av</term>+ <term name="editortranslator" form="verb">redigerad & översatt av</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">dir.</term>+ <term name="editor" form="verb-short">red.</term>+ <term name="editorial-director" form="verb-short">ed.</term>+ <term name="illustrator" form="verb-short">illus.</term>+ <term name="translator" form="verb-short">övers.</term>+ <term name="editortranslator" form="verb-short">red. & övers. av</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">januari</term>+ <term name="month-02">februari</term>+ <term name="month-03">mars</term>+ <term name="month-04">april</term>+ <term name="month-05">maj</term>+ <term name="month-06">juni</term>+ <term name="month-07">juli</term>+ <term name="month-08">augusti</term>+ <term name="month-09">september</term>+ <term name="month-10">oktober</term>+ <term name="month-11">november</term>+ <term name="month-12">december</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">jan.</term>+ <term name="month-02" form="short">feb.</term>+ <term name="month-03" form="short">mar.</term>+ <term name="month-04" form="short">apr.</term>+ <term name="month-05" form="short">maj</term>+ <term name="month-06" form="short">juni</term>+ <term name="month-07" form="short">juli</term>+ <term name="month-08" form="short">aug.</term>+ <term name="month-09" form="short">sep.</term>+ <term name="month-10" form="short">okt.</term>+ <term name="month-11" form="short">nov.</term>+ <term name="month-12" form="short">dec.</term>++ <!-- SEASONS -->+ <term name="season-01">vår</term>+ <term name="season-02">sommar</term>+ <term name="season-03">höst</term>+ <term name="season-04">vinter</term>+ </terms>+</locale>
+ locales/th-TH.xml view
@@ -0,0 +1,309 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="th-TH">+ <info>+ <translator>+ <name>Dusit Laohasinnarong</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">สืบค้น</term>+ <term name="and">และ</term>+ <term name="and others">และคณะ</term>+ <term name="anonymous">นิรนาม</term>+ <term name="anonymous" form="short">นิรนาม</term>+ <term name="at">ที่</term>+ <term name="available at">available at</term>+ <term name="by">โดย</term>+ <term name="circa">โดยประมาณ</term>+ <term name="circa" form="short">ประมาณ</term>+ <term name="cited">อ้างถึง</term>+ <term name="edition">+ <single>พิมพ์ครั้งที่</single>+ <multiple>พิมพ์ครั้งที่</multiple>+ </term>+ <term name="edition" form="short">พิมพ์ครั้งที่</term>+ <term name="et-al">และคณะ</term>+ <term name="forthcoming">เต็มใจให้ข้อมูล</term>+ <term name="from">จาก</term>+ <term name="ibid"> ในที่เดียวกัน</term>+ <term name="in">ใน</term>+ <term name="in press">กำลังรอตีพิมพ์</term>+ <term name="internet">อินเทอร์เน็ต</term>+ <term name="interview">การสัมภาษณ์</term>+ <term name="letter">จดหมาย</term>+ <term name="no date">ไม่ปรากฏปีที่พิมพ์</term>+ <term name="no date" form="short">ม.ป.ป.</term>+ <term name="online">ออนไลน์</term>+ <term name="presented at">นำเสนอที่</term>+ <term name="reference">+ <single>เอกสารอ้างอิง</single>+ <multiple>เอกสารอ้างอิง</multiple>+ </term>+ <term name="reference" form="short">+ <single>อ้างอิง</single>+ <multiple>อ้างอิง</multiple>+ </term>+ <term name="retrieved">สืบค้น</term>+ <term name="scale">scale</term>+ <term name="version">version</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">ค.ศ.</term>+ <term name="bc">พ.ศ.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">“</term>+ <term name="close-quote">”</term>+ <term name="open-inner-quote">‘</term>+ <term name="close-inner-quote">’</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal"></term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">หนึ่ง</term>+ <term name="long-ordinal-02">สอง</term>+ <term name="long-ordinal-03">สาม</term>+ <term name="long-ordinal-04">สี่</term>+ <term name="long-ordinal-05">ห้า</term>+ <term name="long-ordinal-06">หก</term>+ <term name="long-ordinal-07">เจ็ด</term>+ <term name="long-ordinal-08">แปด</term>+ <term name="long-ordinal-09">เก้า</term>+ <term name="long-ordinal-10">สิบ</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>หนังสือ</single>+ <multiple>หนังสือ</multiple>+ </term>+ <term name="chapter">+ <single>บทที่</single>+ <multiple>บทที่</multiple>+ </term>+ <term name="column">+ <single>สดมภ์</single>+ <multiple>สดมภ์</multiple>+ </term>+ <term name="figure">+ <single>รูปภาพ</single>+ <multiple>รูปภาพ</multiple>+ </term>+ <term name="folio">+ <single>หน้า</single>+ <multiple>หน้า</multiple>+ </term>+ <term name="issue">+ <single>ฉบับที่</single>+ <multiple>ฉบับที่</multiple>+ </term>+ <term name="line">+ <single>บรรทัดที่</single>+ <multiple>บรรทัดที่</multiple>+ </term>+ <term name="note">+ <single>บันทึก</single>+ <multiple>บันทึก</multiple>+ </term>+ <term name="opus">+ <single>บทประพันธ์</single>+ <multiple>บทประพันธ์</multiple>+ </term>+ <term name="page">+ <single>หน้า</single>+ <multiple>หน้า</multiple>+ </term>+ <term name="number-of-pages">+ <single>หน้า</single>+ <multiple>หน้า</multiple>+ </term>+ <term name="paragraph">+ <single>ย่อหน้า</single>+ <multiple>ย่อหน้า</multiple>+ </term>+ <term name="part">+ <single>ส่วนย่อย</single>+ <multiple>ส่วนย่อย</multiple>+ </term>+ <term name="section">+ <single>หมวด</single>+ <multiple>หมวด</multiple>+ </term>+ <term name="sub verbo">+ <single>ใต้คำ</single>+ <multiple>ใต้คำ</multiple>+ </term>+ <term name="verse">+ <single>ร้อยกรอง</single>+ <multiple>ร้อยกรอง</multiple>+ </term>+ <term name="volume">+ <single>ปีที่</single>+ <multiple>ปีที่</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">หนังสือ</term>+ <term name="chapter" form="short">บทที่</term>+ <term name="column" form="short">สดมภ์</term>+ <term name="figure" form="short">รูปภาพ</term>+ <term name="folio" form="short">หน้า</term>+ <term name="issue" form="short">ฉบับที่</term>+ <term name="line" form="short">l.</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">บทประพันธ์</term>+ <term name="page" form="short">+ <single>น.</single>+ <multiple>น.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>น.</single>+ <multiple>น.</multiple>+ </term>+ <term name="paragraph" form="short">ย่อหน้า</term>+ <term name="part" form="short">ส่วนย่อย</term>+ <term name="section" form="short">หมวด</term>+ <term name="sub verbo" form="short">+ <single>ใต้คำ</single>+ <multiple>ใต้คำ</multiple>+ </term>+ <term name="verse" form="short">+ <single>ร้อยกรอง</single>+ <multiple>ร้อยกรอง</multiple>+ </term>+ <term name="volume" form="short">+ <single>ปี</single>+ <multiple>ปี</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>director</single>+ <multiple>directors</multiple>+ </term>+ <term name="editor">+ <single>บรรณาธิการ</single>+ <multiple>บรรณาธิการ</multiple>+ </term>+ <term name="editorial-director">+ <single>ผู้อำนวยการบทบรรณาธิการ</single>+ <multiple>ผู้อำนวยการบทบรรณาธิการ</multiple>+ </term>+ <term name="illustrator">+ <single>illustrator</single>+ <multiple>illustrators</multiple>+ </term>+ <term name="translator">+ <single>ผู้แปล</single>+ <multiple>ผู้แปล</multiple>+ </term>+ <term name="editortranslator">+ <single>บรรณาธิการและผู้แปล</single>+ <multiple>บรรณาธิการและผู้แปล</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>dir.</single>+ <multiple>dirs.</multiple>+ </term>+ <term name="editor" form="short">+ <single>บ.ก.</single>+ <multiple>บ.ก.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>ผอ.บทบรรณาธิการ</single>+ <multiple>ผอ.บทบรรณาธิการ</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>ill.</single>+ <multiple>ills.</multiple>+ </term>+ <term name="translator" form="short">+ <single>ผู้แปล</single>+ <multiple>ผู้แปล</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>บ.ก.</single>+ <multiple>บ.ก.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">โดย</term>+ <term name="director" form="verb">directed by</term>+ <term name="editor" form="verb">เรียบเรียงโดย</term>+ <term name="editorial-director" form="verb">เรียบเรียงโดย</term>+ <term name="illustrator" form="verb">illustrated by</term>+ <term name="interviewer" form="verb">สัมภาษณ์โดย</term>+ <term name="recipient" form="verb">ถึง</term>+ <term name="reviewed-author" form="verb">by</term>+ <term name="translator" form="verb">แปลโดย</term>+ <term name="editortranslator" form="verb">แปลและเรียบเรียงโดย</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">dir.</term>+ <term name="editor" form="verb-short">โดย</term>+ <term name="editorial-director" form="verb-short">โดย</term>+ <term name="illustrator" form="verb-short">illus.</term>+ <term name="translator" form="verb-short">แปล</term>+ <term name="editortranslator" form="verb-short">แปลและเรียบเรียงโดย</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">มกราคม</term>+ <term name="month-02">กุมภาพันธ์</term>+ <term name="month-03">มีนาคม</term>+ <term name="month-04">เมษายน</term>+ <term name="month-05">พฤษภาคม</term>+ <term name="month-06">มิถุนายน</term>+ <term name="month-07">กรกฎาคม</term>+ <term name="month-08">สิงหาคม</term>+ <term name="month-09">กันยายน</term>+ <term name="month-10">ตุลาคาม</term>+ <term name="month-11">พฤศจิกายน</term>+ <term name="month-12">ธันวาคม</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">ม.ค.</term>+ <term name="month-02" form="short">ก.พ.</term>+ <term name="month-03" form="short">มี.ค.</term>+ <term name="month-04" form="short">เม.ย.</term>+ <term name="month-05" form="short">พ.ค.</term>+ <term name="month-06" form="short">มิ.ย.</term>+ <term name="month-07" form="short">ก.ค.</term>+ <term name="month-08" form="short">ส.ค.</term>+ <term name="month-09" form="short">ก.ย.</term>+ <term name="month-10" form="short">ต.ค.</term>+ <term name="month-11" form="short">พ.ย.</term>+ <term name="month-12" form="short">ธ.ค.</term>++ <!-- SEASONS -->+ <term name="season-01">ฤดูใบไม้ผลิ</term>+ <term name="season-02">ฤดูร้อน</term>+ <term name="season-03">ฤดูใบไม้ร่วง</term>+ <term name="season-04">ฤดูหนาว</term>+ </terms>+</locale>
+ locales/tr-TR.xml view
@@ -0,0 +1,319 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="tr-TR">+ <info>+ <translator>+ <name>ekizyener</name>+ </translator>+ <translator>+ <name>Binici</name>+ </translator>+ <translator>+ <name>cengiza</name>+ </translator>+ <translator>+ <name>Muhammet Tarakçı</name>+ <email>muhammettarakci@gmail.com</email>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" form="numeric-leading-zeros" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="."/>+ <date-part name="month" form="numeric-leading-zeros" suffix="."/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">erişim</term>+ <term name="and">ve</term>+ <term name="and others">ve diğerleri</term>+ <term name="anonymous">anonim</term>+ <term name="anonymous" form="short">anonim</term>+ <term name="at">de</term>+ <term name="available at">erişim adresi</term>+ <term name="by">by</term>+ <term name="circa">yaklaşık</term>+ <term name="circa" form="short">yakl.</term>+ <term name="cited">a.yer</term>+ <term name="edition">+ <single>baskı</single>+ <multiple>baskı</multiple>+ </term>+ <term name="edition" form="short">bs</term>+ <term name="et-al">vd.</term>+ <term name="forthcoming">gelecek</term>+ <term name="from">gönderen</term>+ <term name="ibid">a.g.e.</term>+ <term name="in">içinde</term>+ <term name="in press">basımda</term>+ <term name="internet">internet</term>+ <term name="interview">mülakat</term>+ <term name="letter">mektup</term>+ <term name="no date">tarih yok</term>+ <term name="no date" form="short">t.y.</term>+ <term name="online">çevrimiçi</term>+ <term name="presented at">program adı:</term>+ <term name="reference">+ <single>kaynak</single>+ <multiple>kaynaklar</multiple>+ </term>+ <term name="reference" form="short">+ <single>kay.</single>+ <multiple>kay.</multiple>+ </term>+ <term name="retrieved">geliş tarihi</term>+ <term name="scale">ölçek</term>+ <term name="version">versiyon</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">M.S.</term>+ <term name="bc">M.Ö.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">“</term>+ <term name="close-quote">”</term>+ <term name="open-inner-quote">‘</term>+ <term name="close-inner-quote">’</term>+ <term name="page-range-delimiter">-</term>++ <!-- ORDINALS -->+ <term name="ordinal">.</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">birinci</term>+ <term name="long-ordinal-02">ikinci</term>+ <term name="long-ordinal-03">üçüncü</term>+ <term name="long-ordinal-04">dördüncü</term>+ <term name="long-ordinal-05">beşinci</term>+ <term name="long-ordinal-06">altıncı</term>+ <term name="long-ordinal-07">yedinci</term>+ <term name="long-ordinal-08">sekizinci</term>+ <term name="long-ordinal-09">dokuzuncu</term>+ <term name="long-ordinal-10">onuncu</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>kitap</single>+ <multiple>kitaplar</multiple>+ </term>+ <term name="chapter">+ <single>bölüm</single>+ <multiple>bölümler</multiple>+ </term>+ <term name="column">+ <single>sütun</single>+ <multiple>sütunlar</multiple>+ </term>+ <term name="figure">+ <single>şekil</single>+ <multiple>şekiller</multiple>+ </term>+ <term name="folio">+ <single>folyo</single>+ <multiple>folyo</multiple>+ </term>+ <term name="issue">+ <single>sayı</single>+ <multiple>sayı</multiple>+ </term>+ <term name="line">+ <single>satır</single>+ <multiple>satırlar</multiple>+ </term>+ <term name="note">+ <single>not</single>+ <multiple>notlar</multiple>+ </term>+ <term name="opus">+ <single>eser</single>+ <multiple>eserler</multiple>+ </term>+ <term name="page">+ <single>sayfa</single>+ <multiple>sayfalar</multiple>+ </term>+ <term name="number-of-pages">+ <single>sayfa sayısı</single>+ <multiple>sayfa sayıları</multiple>+ </term>+ <term name="paragraph">+ <single>paragraf</single>+ <multiple>paragraflar</multiple>+ </term>+ <term name="part">+ <single>kısım</single>+ <multiple>kısımlar</multiple>+ </term>+ <term name="section">+ <single>bölüm</single>+ <multiple>bölümler</multiple>+ </term>+ <term name="sub verbo">+ <single>madde</single>+ <multiple>maddeler</multiple>+ </term>+ <term name="verse">+ <single>ayet</single>+ <multiple>ayetler</multiple>+ </term>+ <term name="volume">+ <single>cilt</single>+ <multiple>ciltler</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">kit.</term>+ <term name="chapter" form="short">böl.</term>+ <term name="column" form="short">süt.</term>+ <term name="figure" form="short">şek.</term>+ <term name="folio" form="short">fl.</term>+ <term name="issue" form="short">sy</term>+ <term name="line" form="short">satır</term>+ <term name="note" form="short">n.</term>+ <term name="opus" form="short">a.yer</term>+ <term name="page" form="short">+ <single>s.</single>+ <multiple>ss.</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>s.</single>+ <multiple>ss.</multiple>+ </term>+ <term name="paragraph" form="short">par.</term>+ <term name="part" form="short">ksm.</term>+ <term name="section" form="short">blm.</term>+ <term name="sub verbo" form="short">+ <single>md.</single>+ <multiple>md.</multiple>+ </term>+ <term name="verse" form="short">+ <single>v.</single>+ <multiple>vv.</multiple>+ </term>+ <term name="volume" form="short">+ <single>c.</single>+ <multiple>c.</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>direktör</single>+ <multiple>direktörler</multiple>+ </term>+ <term name="editor">+ <single>editör</single>+ <multiple>editörler</multiple>+ </term>+ <term name="editorial-director">+ <single>sorumlu editör</single>+ <multiple>sorumlu editörler</multiple>+ </term>+ <term name="illustrator">+ <single>çizen</single>+ <multiple>çizenler</multiple>+ </term>+ <term name="translator">+ <single>çeviren</single>+ <multiple>çevirenler</multiple>+ </term>+ <term name="editortranslator">+ <single>editör & çeviren</single>+ <multiple>editörler & çevirenler</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>dir.</single>+ <multiple>dir.</multiple>+ </term>+ <term name="editor" form="short">+ <single>ed.</single>+ <multiple>ed.</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>sor.ed.</single>+ <multiple>sor.ed.</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>çzm.</single>+ <multiple>çzm.</multiple>+ </term>+ <term name="translator" form="short">+ <single>çev.</single>+ <multiple>çev.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>ed. & çev.</single>+ <multiple>ed. & çev.</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">kitap editörü</term>+ <term name="director" form="verb">direktör</term>+ <term name="editor" form="verb">editör</term>+ <term name="editorial-director" form="verb">sorumlu editör</term>+ <term name="illustrator" form="verb">çizen</term>+ <term name="interviewer" form="verb">röportaj yapan</term>+ <term name="recipient" form="verb">alıcı</term>+ <term name="reviewed-author" form="verb">tanıtım yazarı</term>+ <term name="translator" form="verb">çeviren</term>+ <term name="editortranslator" form="verb">düzenleyen & çeviren by</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">dir.</term>+ <term name="editor" form="verb-short">ed.</term>+ <term name="editorial-director" form="verb-short">sor.ed.</term>+ <term name="illustrator" form="verb-short">çizen</term>+ <term name="translator" form="verb-short">çev.</term>+ <term name="editortranslator" form="verb-short">ed. & çev.</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">Ocak</term>+ <term name="month-02">Şubat</term>+ <term name="month-03">Mart</term>+ <term name="month-04">Nisan</term>+ <term name="month-05">Mayıs</term>+ <term name="month-06">Haziran</term>+ <term name="month-07">Temmuz</term>+ <term name="month-08">Ağustos</term>+ <term name="month-09">Eylül</term>+ <term name="month-10">Ekim</term>+ <term name="month-11">Kasım</term>+ <term name="month-12">Aralık</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">Oca.</term>+ <term name="month-02" form="short">Şub.</term>+ <term name="month-03" form="short">Mar.</term>+ <term name="month-04" form="short">Nis.</term>+ <term name="month-05" form="short">May.</term>+ <term name="month-06" form="short">Haz.</term>+ <term name="month-07" form="short">Tem.</term>+ <term name="month-08" form="short">Ağu.</term>+ <term name="month-09" form="short">Eyl.</term>+ <term name="month-10" form="short">Eki.</term>+ <term name="month-11" form="short">Kas.</term>+ <term name="month-12" form="short">Ara.</term>++ <!-- SEASONS -->+ <term name="season-01">Bahar</term>+ <term name="season-02">Yaz</term>+ <term name="season-03">Sonbahar</term>+ <term name="season-04">Kış</term>+ </terms>+</locale>
+ locales/uk-UA.xml view
@@ -0,0 +1,249 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="uk-UA">+ <info>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2018-09-17T21:00:00+02:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" form="numeric-leading-zeros" suffix=", "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">дата звернення</term>+ <term name="and">і</term>+ <term name="and others">та інші</term>+ <term name="anonymous">анонімний</term>+ <term name="anonymous" form="short">анон.</term>+ <term name="at">на</term>+ <term name="available at">доступний у</term>+ <term name="by">відповідно до</term>+ <term name="circa">близько</term>+ <term name="circa" form="short">c.</term>+ <term name="cited">цит. за</term>+ <term name="edition">видання</term>+ <term name="edition" form="short">вид.</term>+ <term name="et-al">et al.</term>+ <term name="forthcoming">майбутній</term>+ <term name="from">із</term>+ <term name="ibid">там само</term>+ <term name="in">в</term>+ <term name="in press">у пресі</term>+ <term name="internet">інтернет</term>+ <term name="interview">інтервю</term>+ <term name="letter">лист</term>+ <term name="no date">без дати</term>+ <term name="no date" form="short">б. д.</term>+ <term name="online">online</term>+ <term name="presented at">представлена на</term>+ <term name="reference">список використаних джерел</term>+ <term name="reference" form="short">джерела</term>+ <term name="retrieved">вилучено</term>+ <term name="scale">масштаб</term>+ <term name="version">версія</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">н. е.</term>+ <term name="bc">до н. е.</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">«</term>+ <term name="close-quote">»</term>+ <term name="open-inner-quote">‘</term>+ <term name="close-inner-quote">’</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">ий</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">перший</term>+ <term name="long-ordinal-02">другий</term>+ <term name="long-ordinal-03">третій</term>+ <term name="long-ordinal-04">четвертий</term>+ <term name="long-ordinal-05">п'ятий</term>+ <term name="long-ordinal-06">шостий</term>+ <term name="long-ordinal-07">сьомий</term>+ <term name="long-ordinal-08">восьмий</term>+ <term name="long-ordinal-09">дев'ятий</term>+ <term name="long-ordinal-10">десятий</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>книга</single>+ <multiple>книги</multiple>+ </term>+ <term name="chapter">+ <single>розділ</single>+ <multiple>розділи</multiple>+ </term>+ <term name="column">+ <single>графа</single>+ <multiple>графи</multiple>+ </term>+ <term name="figure">+ <single>рисунок</single>+ <multiple>рисунки</multiple>+ </term>+ <term name="folio">+ <single>фоліант</single>+ <multiple>фоліанти</multiple>+ </term>+ <term name="issue">випуск</term>+ <term name="line">+ <single>Рядок</single>+ <multiple>Рядки</multiple>+ </term>+ <term name="note">+ <single>примітка</single>+ <multiple>примітки</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opera</multiple>+ </term>+ <term name="page">С.</term>+ <term name="number-of-pages">с.</term>+ <term name="paragraph">+ <single>параграф</single>+ <multiple>параграфи</multiple>+ </term>+ <term name="part">+ <single>частина</single>+ <multiple>частини</multiple>+ </term>+ <term name="section">+ <single>розділ</single>+ <multiple>розділи</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>verse</single>+ <multiple>verses</multiple>+ </term>+ <term name="volume">+ <single>Том</single>+ <multiple>Томи</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">кн.</term>+ <term name="chapter" form="short">розд.</term>+ <term name="column" form="short">ряд.</term>+ <term name="figure" form="short">рис.</term>+ <term name="folio" form="short">ф.</term>+ <term name="issue" form="short">вип.</term>+ <term name="line" form="short">л.</term>+ <term name="note" form="short">прим.</term>+ <term name="opus" form="short">оп.</term>+ <term name="page" form="short">с.</term>+ <term name="number-of-pages" form="short">с.</term>+ <term name="paragraph" form="short">пар.</term>+ <term name="part" form="short">ч.</term>+ <term name="section" form="short">сек.</term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.vv.</multiple>+ </term>+ <term name="verse" form="short">с.</term>+ <term name="volume" form="short">вип.</term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>режисер</single>+ <multiple>режисери</multiple>+ </term>+ <term name="editor">за ред.</term>+ <term name="editorial-director">за ред.</term>+ <term name="illustrator">+ <single>ілюстратор</single>+ <multiple>ілюстратори</multiple>+ </term>+ <term name="translator">+ <single>перекладач</single>+ <multiple>перекладачі</multiple>+ </term>+ <term name="editortranslator">За ред. & переклад</term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">реж.</term>+ <term name="editor" form="short">ред.</term>+ <term name="editorial-director" form="short">ред.</term>+ <term name="illustrator" form="short">іл.</term>+ <term name="translator" form="short">пер.</term>+ <term name="editortranslator" form="short">ред. & пер.</term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">by</term>+ <term name="director" form="verb">directed by</term>+ <term name="editor" form="verb">edited by</term>+ <term name="editorial-director" form="verb">edited by</term>+ <term name="illustrator" form="verb">illustrated by</term>+ <term name="interviewer" form="verb">interview by</term>+ <term name="recipient" form="verb">to</term>+ <term name="reviewed-author" form="verb">by</term>+ <term name="translator" form="verb">translated by</term>+ <term name="editortranslator" form="verb">edited & translated by</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">dir.</term>+ <term name="editor" form="verb-short">ed</term>+ <term name="editorial-director" form="verb-short">ed.</term>+ <term name="illustrator" form="verb-short">illus.</term>+ <term name="translator" form="verb-short">trans</term>+ <term name="editortranslator" form="verb-short">ed. & trans. by</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">Січень</term>+ <term name="month-02">Лютий</term>+ <term name="month-03">Березень</term>+ <term name="month-04">Квітень</term>+ <term name="month-05">Травень</term>+ <term name="month-06">Червень</term>+ <term name="month-07">Липень</term>+ <term name="month-08">Серпень</term>+ <term name="month-09">Вересень</term>+ <term name="month-10">Жовтень</term>+ <term name="month-11">Листопад</term>+ <term name="month-12">Грудень</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">Січ</term>+ <term name="month-02" form="short">Лют</term>+ <term name="month-03" form="short">Бер</term>+ <term name="month-04" form="short">Квіт</term>+ <term name="month-05" form="short">Трав</term>+ <term name="month-06" form="short">Чер</term>+ <term name="month-07" form="short">Лип</term>+ <term name="month-08" form="short">Сер</term>+ <term name="month-09" form="short">Вер</term>+ <term name="month-10" form="short">Жов</term>+ <term name="month-11" form="short">Лис</term>+ <term name="month-12" form="short">Груд</term>++ <!-- SEASONS -->+ <term name="season-01">Spring</term>+ <term name="season-02">Summer</term>+ <term name="season-03">Autumn</term>+ <term name="season-04">Winter</term>+ </terms>+</locale>
+ locales/vi-VN.xml view
@@ -0,0 +1,315 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="vi-VN">+ <info>+ <translator>+ <name>dowens76</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2012-07-04T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ <terms>+ <term name="accessed">truy cập</term>+ <term name="and">và</term>+ <term name="and others">and others</term>+ <term name="anonymous">vô danh</term>+ <term name="anonymous" form="short">v.d</term>+ <term name="at">tại</term>+ <term name="available at">available at</term>+ <term name="by">bởi</term>+ <term name="circa">circa</term>+ <term name="circa" form="short">c.</term>+ <term name="cited">cited</term>+ <term name="edition">+ <single>ấn bản</single>+ <multiple>ấn bản</multiple>+ </term>+ <term name="edition" form="short">a.b</term>+ <term name="et-al">và c.s.</term>+ <term name="forthcoming">sắp tới</term>+ <term name="from">từ</term>+ <term name="ibid">n.t.</term>+ <term name="in">trong</term>+ <term name="in press">in press</term>+ <term name="internet">internet</term>+ <term name="interview">interview</term>+ <term name="letter">letter</term>+ <term name="no date">không ngày</term>+ <term name="no date" form="short">không ngày</term>+ <term name="online">online</term>+ <term name="presented at">được trình bày tại</term>+ <term name="reference">+ <single>reference</single>+ <multiple>references</multiple>+ </term>+ <term name="reference" form="short">+ <single>ref.</single>+ <multiple>refs.</multiple>+ </term>+ <term name="retrieved">truy vấn</term>+ <term name="scale">scale</term>+ <term name="version">version</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">AD</term>+ <term name="bc">BC</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">“</term>+ <term name="close-quote">”</term>+ <term name="open-inner-quote">‘</term>+ <term name="close-inner-quote">’</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal">th</term>+ <term name="ordinal-01">st</term>+ <term name="ordinal-02">nd</term>+ <term name="ordinal-03">rd</term>+ <term name="ordinal-11">th</term>+ <term name="ordinal-12">th</term>+ <term name="ordinal-13">th</term>++ <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">thứ nhất</term>+ <term name="long-ordinal-02">thứ hai</term>+ <term name="long-ordinal-03">thứ ba</term>+ <term name="long-ordinal-04">thứ tư</term>+ <term name="long-ordinal-05">thứ năm</term>+ <term name="long-ordinal-06">thứ sáu</term>+ <term name="long-ordinal-07">thứ bảy</term>+ <term name="long-ordinal-08">thứ tám</term>+ <term name="long-ordinal-09">thứ chính</term>+ <term name="long-ordinal-10">thứ mười</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">+ <single>sách</single>+ <multiple>sách</multiple>+ </term>+ <term name="chapter">+ <single>chương</single>+ <multiple>chương</multiple>+ </term>+ <term name="column">+ <single>column</single>+ <multiple>columns</multiple>+ </term>+ <term name="figure">+ <single>figure</single>+ <multiple>figures</multiple>+ </term>+ <term name="folio">+ <single>folio</single>+ <multiple>folios</multiple>+ </term>+ <term name="issue">+ <single>số</single>+ <multiple>số</multiple>+ </term>+ <term name="line">+ <single>dòng</single>+ <multiple>dòng</multiple>+ </term>+ <term name="note">+ <single>ghi chú</single>+ <multiple>ghi chú</multiple>+ </term>+ <term name="opus">+ <single>opus</single>+ <multiple>opera</multiple>+ </term>+ <term name="page">+ <single>trang</single>+ <multiple>trang</multiple>+ </term>+ <term name="number-of-pages">+ <single>trang</single>+ <multiple>trang</multiple>+ </term>+ <term name="paragraph">+ <single>đoạn văn</single>+ <multiple>đoạn văn</multiple>+ </term>+ <term name="part">+ <single>phần</single>+ <multiple>phần</multiple>+ </term>+ <term name="section">+ <single>section</single>+ <multiple>sections</multiple>+ </term>+ <term name="sub verbo">+ <single>sub verbo</single>+ <multiple>sub verbis</multiple>+ </term>+ <term name="verse">+ <single>câu</single>+ <multiple>câu</multiple>+ </term>+ <term name="volume">+ <single>tập</single>+ <multiple>tập</multiple>+ </term>++ <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">sách</term>+ <term name="chapter" form="short">ch</term>+ <term name="column" form="short">col</term>+ <term name="figure" form="short">fig</term>+ <term name="folio" form="short">f</term>+ <term name="issue" form="short">số p.h</term>+ <term name="line" form="short">d.</term>+ <term name="note" form="short">gc.</term>+ <term name="opus" form="short">op</term>+ <term name="page" form="short">+ <single>tr</single>+ <multiple>tr</multiple>+ </term>+ <term name="number-of-pages" form="short">+ <single>tr</single>+ <multiple>tr</multiple>+ </term>+ <term name="paragraph" form="short">para</term>+ <term name="part" form="short">ph</term>+ <term name="section" form="short">sec</term>+ <term name="sub verbo" form="short">+ <single>s.v.</single>+ <multiple>s.vv.</multiple>+ </term>+ <term name="verse" form="short">+ <single>v</single>+ <multiple>vv</multiple>+ </term>+ <term name="volume" form="short">+ <single>vol</single>+ <multiple>vols</multiple>+ </term>++ <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">+ <single>director</single>+ <multiple>directors</multiple>+ </term>+ <term name="editor">+ <single>biên tập viên</single>+ <multiple>biên tập viên</multiple>+ </term>+ <term name="editorial-director">+ <single>biên tập viên</single>+ <multiple>biên tập viên</multiple>+ </term>+ <term name="illustrator">+ <single>họa sĩ</single>+ <multiple>họa sĩ</multiple>+ </term>+ <term name="translator">+ <single>biên dịch viên</single>+ <multiple>biên dịch viên</multiple>+ </term>+ <term name="editortranslator">+ <single>biên tập viên & biên dịch viên</single>+ <multiple>biên tập viên & biên dịch viên</multiple>+ </term>++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">+ <single>dir.</single>+ <multiple>dirs.</multiple>+ </term>+ <term name="editor" form="short">+ <single>b.t.v</single>+ <multiple>b.t.v</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>b.t.v</single>+ <multiple>b.t.v</multiple>+ </term>+ <term name="illustrator" form="short">+ <single>h.s</single>+ <multiple>h.s</multiple>+ </term>+ <term name="translator" form="short">+ <single>b.d.v</single>+ <multiple>b.d.v</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>b.t.v & b.d.v</single>+ <multiple>b.t.v & b.d.v</multiple>+ </term>++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">bởi</term>+ <term name="director" form="verb">directed by</term>+ <term name="editor" form="verb">biên tập bởi</term>+ <term name="editorial-director" form="verb">biên tập bởi</term>+ <term name="illustrator" form="verb">illustrated by</term>+ <term name="interviewer" form="verb">interview by</term>+ <term name="recipient" form="verb">to</term>+ <term name="reviewed-author" form="verb">bởi</term>+ <term name="translator" form="verb">biên dịch bởi</term>+ <term name="editortranslator" form="verb">biên tập & biên dịch bởi</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">dir.</term>+ <term name="editor" form="verb-short">b.t</term>+ <term name="editorial-director" form="verb-short">b.t</term>+ <term name="illustrator" form="verb-short">h.s</term>+ <term name="translator" form="verb-short">b.d</term>+ <term name="editortranslator" form="verb-short">b.t & b.d bởi</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">Tháng Giêng</term>+ <term name="month-02">Tháng Hai</term>+ <term name="month-03">Tháng Ba</term>+ <term name="month-04">Tháng Tư</term>+ <term name="month-05">Tháng Năm</term>+ <term name="month-06">Tháng Sáu</term>+ <term name="month-07">Tháng Bảy</term>+ <term name="month-08">Tháng Tám</term>+ <term name="month-09">Tháng Chín</term>+ <term name="month-10">Tháng Mười</term>+ <term name="month-11">Tháng Mười-Một</term>+ <term name="month-12">Tháng Chạp</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">tháng 1</term>+ <term name="month-02" form="short">tháng 2</term>+ <term name="month-03" form="short">tháng 3</term>+ <term name="month-04" form="short">tháng 4</term>+ <term name="month-05" form="short">tháng 5</term>+ <term name="month-06" form="short">tháng 6</term>+ <term name="month-07" form="short">tháng 7</term>+ <term name="month-08" form="short">tháng 8</term>+ <term name="month-09" form="short">tháng 9</term>+ <term name="month-10" form="short">tháng 10</term>+ <term name="month-11" form="short">tháng 11</term>+ <term name="month-12" form="short">tháng 12</term>++ <!-- SEASONS -->+ <term name="season-01">Mùa Xuân</term>+ <term name="season-02">Mùa Hè</term>+ <term name="season-03">Mùa Thu</term>+ <term name="season-04">Mùa Đông</term>+ </terms>+</locale>
+ locales/zh-CN.xml view
@@ -0,0 +1,205 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="zh-CN">+ <info>+ <translator>+ <name>rongls</name>+ </translator>+ <translator>+ <name>sati-bodhi</name>+ </translator>+ <translator>+ <name>Heromyth</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2014-05-15T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="year" suffix="年"/>+ <date-part name="month" form="numeric" suffix="月"/>+ <date-part name="day" suffix="日"/>+ </date>+ <date form="numeric">+ <date-part name="year"/>+ <date-part name="month" form="numeric-leading-zeros" prefix="/"/>+ <date-part name="day" form="numeric-leading-zeros" prefix="/"/>+ </date>+ <terms>+ <term name="accessed">见于</term>+ <term name="and">和</term>+ <term name="and others">及其他</term>+ <term name="anonymous">作者不详</term>+ <term name="anonymous" form="short">无名氏</term>+ <term name="at">于</term>+ <term name="available at">载于</term>+ <term name="by">著</term>+ <term name="circa">介于</term>+ <term name="circa" form="short">约</term>+ <term name="cited">见引于</term>+ <term name="edition">版本</term>+ <term name="edition" form="short">本</term>+ <term name="et-al">等</term>+ <term name="forthcoming">即将出版</term>+ <term name="from">从</term>+ <term name="ibid">同上</term>+ <term name="in">收入</term>+ <term name="in press">送印中</term>+ <term name="internet">网际网络</term>+ <term name="interview">访谈</term>+ <term name="letter">信函</term>+ <term name="no date">日期不详</term>+ <term name="no date" form="short">不详</term>+ <term name="online">在线</term>+ <term name="presented at">发表于</term>+ <term name="reference">参考</term>+ <term name="reference" form="short">参</term>+ <term name="retrieved">取读于</term>+ <term name="scale">比例</term>+ <term name="version">版</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">公元</term>+ <term name="bc">公元前</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">《</term>+ <term name="close-quote">》</term>+ <term name="open-inner-quote">〈</term>+ <term name="close-inner-quote">〉</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal"></term>+ + <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">一</term>+ <term name="long-ordinal-02">二</term>+ <term name="long-ordinal-03">三</term>+ <term name="long-ordinal-04">四</term>+ <term name="long-ordinal-05">五</term>+ <term name="long-ordinal-06">六</term>+ <term name="long-ordinal-07">七</term>+ <term name="long-ordinal-08">八</term>+ <term name="long-ordinal-09">九</term>+ <term name="long-ordinal-10">十</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">册</term>+ <term name="chapter">章</term>+ <term name="column">栏</term>+ <term name="figure">图表</term> + <term name="folio">版</term>+ <term name="issue">期</term>+ <term name="line">行</term>+ <term name="note">注脚</term>+ <term name="opus">作品</term> + <term name="page">页</term>+ <term name="number-of-pages"> 总页数</term> + <term name="paragraph">段落</term>+ <term name="part">部分</term> + <term name="section">节</term> + <term name="sub verbo">另见</term> + <term name="verse">篇</term> + <term name="volume">卷</term>+ + <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">册</term>+ <term name="chapter" form="short">章</term>+ <term name="column" form="short">栏</term>+ <term name="figure" form="short">图</term>+ <term name="folio" form="short">版</term>+ <term name="issue" form="short">期</term>+ <term name="line" form="short">行</term>+ <term name="note" form="short">注</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">页</term> + <term name="number-of-pages" form="short">共</term> + <term name="paragraph" form="short">段</term>+ <term name="part" form="short">部</term>+ <term name="section" form="short">节</term>+ <term name="sub verbo" form="short">另见</term> + <term name="verse" form="short">篇</term> + <term name="volume" form="short">卷</term>+ + <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="director">导演</term> + <term name="editor">编辑</term> + <term name="editorial-director">主编</term> + <term name="illustrator">绘图</term> + <term name="translator">翻译</term> + <term name="editortranslator">编译</term> ++ <!-- SHORT ROLE FORMS -->+ <term name="director" form="short">导演</term> + <term name="editor" form="short">编</term> + <term name="editorial-director" form="short">主编</term> + <term name="illustrator" form="short">绘</term> + <term name="translator" form="short">译</term> + <term name="editortranslator" form="short">编译</term> ++ <!-- VERB ROLE FORMS -->+ <term name="container-author" form="verb">著</term>+ <term name="director" form="verb">指导</term>+ <term name="editor" form="verb">编辑</term>+ <term name="editorial-director" form="verb">主编</term>+ <term name="illustrator" form="verb">绘图</term>+ <term name="interviewer" form="verb">采访</term>+ <term name="recipient" form="verb">受函</term>+ <term name="reviewed-author" form="verb">校订</term>+ <term name="translator" form="verb">翻译</term>+ <term name="editortranslator" form="verb">编译</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">导</term>+ <term name="editor" form="verb-short">编</term>+ <term name="editorial-director" form="verb-short">主编</term>+ <term name="illustrator" form="verb-short">绘</term>+ <term name="translator" form="verb-short">译</term>+ <term name="editortranslator" form="verb-short">编译</term>+ <term name="reviewed-author" form="verb">校</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">一月</term>+ <term name="month-02">二月</term>+ <term name="month-03">三月</term>+ <term name="month-04">四月</term>+ <term name="month-05">五月</term>+ <term name="month-06">六月</term>+ <term name="month-07">七月</term>+ <term name="month-08">八月</term>+ <term name="month-09">九月</term>+ <term name="month-10">十月</term>+ <term name="month-11">十一月</term>+ <term name="month-12">十二月</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">1月</term>+ <term name="month-02" form="short">2月</term>+ <term name="month-03" form="short">3月</term>+ <term name="month-04" form="short">4月</term>+ <term name="month-05" form="short">5月</term>+ <term name="month-06" form="short">6月</term>+ <term name="month-07" form="short">7月</term>+ <term name="month-08" form="short">8月</term>+ <term name="month-09" form="short">9月</term>+ <term name="month-10" form="short">10月</term>+ <term name="month-11" form="short">11月</term>+ <term name="month-12" form="short">12月</term>++ <!-- SEASONS -->+ <term name="season-01">春</term>+ <term name="season-02">夏</term>+ <term name="season-03">秋</term>+ <term name="season-04">冬</term>+ </terms>+</locale>
+ locales/zh-TW.xml view
@@ -0,0 +1,209 @@+<?xml version="1.0" encoding="utf-8"?>+<locale xmlns="http://purl.org/net/xbiblio/csl" version="1.0" xml:lang="zh-TW">+ <info>+ <translator>+ <name>sati-bodhi</name>+ </translator>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ <updated>2014-05-15T23:31:02+00:00</updated>+ </info>+ <style-options punctuation-in-quote="false"/>+ <date form="text">+ <date-part name="year" suffix="年"/>+ <date-part name="month" form="numeric" suffix="月"/>+ <date-part name="day" suffix="日"/>+ </date>+ <date form="numeric">+ <date-part name="year"/>+ <date-part name="month" form="numeric-leading-zeros" prefix="/"/>+ <date-part name="day" form="numeric-leading-zeros" prefix="/"/>+ </date>+ <terms>+ <term name="accessed">引見於</term>+ <term name="and">及</term>+ <term name="and others">及其他</term>+ <term name="anonymous">作者不詳</term>+ <term name="anonymous" form="short">無名氏</term>+ <term name="at">於</term>+ <term name="available at">載於</term>+ <term name="by">著</term>+ <term name="circa">介於</term>+ <term name="circa" form="short">約</term>+ <term name="cited">見引於</term>+ <term name="edition">版本</term>+ <term name="edition" form="short">本</term>+ <term name="et-al">等</term>+ <term name="forthcoming">即將出版</term>+ <term name="from">從</term>+ <term name="ibid">同上</term>+ <term name="in">收入</term>+ <term name="in press">印行中</term>+ <term name="internet">互聯網</term>+ <term name="interview">訪談</term>+ <term name="letter">信函</term>+ <term name="no date">日期不詳</term>+ <term name="no date" form="short">不詳</term>+ <term name="online">線上</term>+ <term name="presented at">發表於</term>+ <term name="reference">參考</term>+ <term name="reference" form="short">參</term>+ <term name="retrieved">讀取於</term>+ <term name="scale">比例</term>+ <term name="version">版</term>++ <!-- ANNO DOMINI; BEFORE CHRIST -->+ <term name="ad">西元</term>+ <term name="bc">西元前</term>++ <!-- PUNCTUATION -->+ <term name="open-quote">「</term>+ <term name="close-quote">」</term>+ <term name="open-inner-quote">『</term>+ <term name="close-inner-quote">』</term>+ <term name="page-range-delimiter">–</term>++ <!-- ORDINALS -->+ <term name="ordinal"></term>+ + <!-- LONG ORDINALS -->+ <term name="long-ordinal-01">一</term>+ <term name="long-ordinal-02">二</term>+ <term name="long-ordinal-03">三</term>+ <term name="long-ordinal-04">四</term>+ <term name="long-ordinal-05">五</term>+ <term name="long-ordinal-06">六</term>+ <term name="long-ordinal-07">七</term>+ <term name="long-ordinal-08">八</term>+ <term name="long-ordinal-09">九</term>+ <term name="long-ordinal-10">十</term>++ <!-- LONG LOCATOR FORMS -->+ <term name="book">冊</term>+ <term name="chapter">章</term>+ <term name="column">欄</term>+ <term name="figure">圖表</term> + <term name="folio">版</term>+ <term name="issue">期</term>+ <term name="line">行</term>+ <term name="note">註腳</term>+ <term name="opus">作品</term> + <term name="page">頁</term>+ <term name="number-of-pages">總頁數</term> + <term name="paragraph">段落</term>+ <term name="part">部分</term> + <term name="section">節</term> + <term name="sub verbo">另見</term> + <term name="verse">篇</term> + <term name="volume">卷</term>+ + <!-- SHORT LOCATOR FORMS -->+ <term name="book" form="short">冊</term>+ <term name="chapter" form="short">章</term>+ <term name="column" form="short">欄</term>+ <term name="figure" form="short">圖</term>+ <term name="issue" form="short">期</term>+ <term name="line" form="short">行</term>+ <term name="note" form="short">註</term>+ <term name="opus" form="short">op.</term>+ <term name="page" form="short">頁</term> + <term name="number-of-pages" form="short">共</term> + <term name="paragraph" form="short">段</term>+ <term name="part" form="short">部</term>+ <term name="section" form="short">節</term>+ <term name="sub verbo" form="short">另見</term> + <term name="verse" form="short">篇</term> + <term name="volume" form="short">卷</term>+ + <!-- SYMBOL LOCATOR FORMS -->+ <term name="paragraph" form="symbol">+ <single>¶</single>+ <multiple>¶¶</multiple>+ </term>+ <term name="section" form="symbol">+ <single>§</single>+ <multiple>§§</multiple>+ </term>++ <!-- LONG ROLE FORMS -->+ <term name="author">作者</term> + <term name="director">導演</term> + <term name="editor">編輯</term> + <term name="editorial-director">主編</term> + <term name="illustrator">繪圖師</term>+ <term name="interviewer">採訪員</term>+ <term name="recipient">收信人</term> + <term name="translator">翻譯員</term> + <term name="editortranslator">編譯員</term>+ <term name="reviewed-author">評論人</term>++ <!-- SHORT ROLE FORMS -->+ <term name="author" form="short">作者</term> + <term name="director" form="short">導演</term> + <term name="editor" form="short">編輯</term> + <term name="editorial-director" form="short">主編</term> + <term name="illustrator" form="short">繪圖師</term>+ <term name="interviewer" form="short">採訪員</term>+ <term name="recipient" form="short">收信人</term> + <term name="translator" form="short">翻譯員</term> + <term name="editortranslator" form="short">編譯員</term>+ <term name="reviewed-author" form="short">評論人</term>+++ <!-- VERB ROLE FORMS -->+ <term name="author" form="verb">著</term>+ <term name="container-author" form="verb">著</term>+ <term name="director" form="verb">指導</term>+ <term name="editor" form="verb">編輯</term>+ <term name="collection-editor" form="verb">點校</term>+ <term name="editorial-director" form="verb">主編</term>+ <term name="illustrator" form="verb">繪圖</term>+ <term name="interviewer" form="verb">採訪</term>+ <term name="recipient" form="verb">受函</term>+ <term name="reviewed-author" form="verb">點評</term>+ <term name="translator" form="verb">翻譯</term>+ <term name="editortranslator" form="verb">編譯</term>++ <!-- SHORT VERB ROLE FORMS -->+ <term name="director" form="verb-short">導</term>+ <term name="editor" form="verb-short">編</term>+ <term name="collection-editor" form="verb-short">校</term>+ <term name="editorial-director" form="verb-short">編</term>+ <term name="illustrator" form="verb-short">繪</term>+ <term name="translator" form="verb-short">譯</term>+ <term name="reviewed-author" form="verb-short">評</term>++ <!-- LONG MONTH FORMS -->+ <term name="month-01">一月</term>+ <term name="month-02">二月</term>+ <term name="month-03">三月</term>+ <term name="month-04">四月</term>+ <term name="month-05">五月</term>+ <term name="month-06">六月</term>+ <term name="month-07">七月</term>+ <term name="month-08">八月</term>+ <term name="month-09">九月</term>+ <term name="month-10">十月</term>+ <term name="month-11">十一月</term>+ <term name="month-12">十二月</term>++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">1月</term>+ <term name="month-02" form="short">2月</term>+ <term name="month-03" form="short">3月</term>+ <term name="month-04" form="short">4月</term>+ <term name="month-05" form="short">5月</term>+ <term name="month-06" form="short">6月</term>+ <term name="month-07" form="short">7月</term>+ <term name="month-08" form="short">8月</term>+ <term name="month-09" form="short">9月</term>+ <term name="month-10" form="short">10月</term>+ <term name="month-11" form="short">11月</term>+ <term name="month-12" form="short">12月</term>++ <!-- SEASONS -->+ <term name="season-01">春</term>+ <term name="season-02">夏</term>+ <term name="season-03">秋</term>+ <term name="season-04">冬</term>+ </terms>+</locale>
+ man/citeproc.1.md view
@@ -0,0 +1,185 @@+---+title: citeproc+section: 1+...++# NAME++citeproc - process citations using a CSL stylesheet.++# SYNOPSIS++`citeproc [options] [file]`++# DESCRIPTION++`citeproc` reads a JSON-encoded `Inputs` object from `stdin` (or+from a file if a filename is provided) and writes a JSON-encoded+`Result` object to `stdout`. This executable can be used to add+citation processing to non-Haskell projects.+++# OPTIONS++`-s` *FILE*, `--style=`*FILE*+: Specify a CSL style to be used.++`-r` *FILE*, `--references=`*FILE*+: Specify a CSL JSON bibliography to be used as a source for references.++`a` *FILE*, `--abbreviations=`*FILE*+: Specify a CSL abbreviations file.++`l` *LANG*, `--lang=`*LANG*+: Specify a locale to override the style's default (IETF+ language code).++`f` *html|json*, `--format=`*html|json*+: Specify the format to be used for the entries. `html` (the+ default) uses HTML tags and entities for formatting. `json`+ creates a structured JSON representation of a formatted document.++`-h, --help`+: Print usage information.++`-V, --version`+: Print version.++# NOTES++The input JSON should have the structure:++``` json+{ "citations": [ ...list of citations... ],+ "references": [ ...list of references... ],+ "style": "<style>...</style>",+ "abbreviations": { ...abbreviations... },+ "lang": "fr-FR" }+```++None of these fields is mandatory. Instead of providing+`references` in the input JSON, one can specify a file+containing a CSL JSON bibliography, using the `--references`+option on the command line. Instead of providing a CSL+stylesheet in the JSON, one can specify a file using+the `--style` option. `--abbreviations` and `--lang`+may also be used on the command line to specify an+abbreviations file or a locale. (Command-line options+always override any values given in the JSON file.)++A citation is structured like this:++``` json+{ "citationID": "foo",+ "citationItems": [ ...list of citationItems... ],+ "citationNoteNumber": 3 }+```++Only `citationItems` is necessary. Alternatively,+instead of++``` json+{ "citationItems": [ ... ] }+```++one can just specify an array of items directly:++``` json+[ ... ]+```++A citation item is structured like this:++``` json+{ "id": "foo",+ "type": "suppress-author",+ "label": "page",+ "locator": "45",+ "prefix": "see ",+ "suffix": " and others" }+```++Only `id` is mandatory. If `type` is omitted, it will+be assumed to be `normal-cite` (other values are+`suppress-author` and `author-only`).++A reference is structured like this:++``` json+{+ "author": [+ {+ "family": "Aristotle"+ }+ ],+ "id": "aristotle:prior",+ "issued": {+ "date-parts": [+ [+ 1989+ ]+ ]+ },+ "publisher": "Hackett",+ "publisher-place": "Indianapolis",+ "title": "Prior analytics",+ "translator": [+ {+ "family": "Smith",+ "given": "Robin"+ }+ ],+ "type": "book"+}+```++An abbreviations object has this form:++``` json+{ "default": {+ "container-title": {+ "Lloyd's Law Reports": "Lloyd's Rep",+ "Estates Gazette": "EG",+ "Scots Law Times": "SLT"+ }+ }+}+```++The abbreviations will be substituted in the output+only when the `form` attribute for the style element that+renders the variable is set to `short`.++The output JSON will have the structure:++``` json+{ "citations": [ ...list of strings... ],+ "bibliography": [ ...list of arrays: item id and a string... ],+ "warnings": [ ...list of warnings... ]+}+```++The contents of the entries will be HTML by default, but+if `--format=json` is specified, it will be a structured+representation of formatted text.++``` json+[+ "———. 1983b. “The Concept of Truth in Formalized Languages.” In ",+ {+ "format": "italics",+ "contents": [+ "Logic, Semantics, Metamathematics"+ ]+ },+ ", edited by John Corcoran, 152–278. Indianapolis: Hackett."+]+```++This representation can be used if you want to convert the+result to a format other than HTML.++# AUTHORS++John MacFarlane+
+ src/Citeproc.hs view
@@ -0,0 +1,65 @@+{-# LANGUAGE CPP #-}+{-# LANGUAGE OverloadedStrings #-}+-- | Process citations using the formatting instructions encoded+-- in a CSL stylesheet. The library targets version 1.0.1 of the+-- CSL spec: https://docs.citationstyles.org/en/stable/specification.html+module Citeproc+ ( module Citeproc.Types+ , module Citeproc.Style+ , module Citeproc.Locale+ , citeproc+ , Result(..)+ ) where+import Data.Text (Text)+import Data.Semigroup+import qualified Data.Text as T+import qualified Data.Set as Set+import Citeproc.Types+import Citeproc.Style+import Citeproc.Locale+import Citeproc.Eval++-- | Process a list of 'Citation's, producing formatted citations+-- and a bibliography according to the rules of a CSL 'Style'.+-- If a 'Lang' is specified, override the style's default locale.+-- To obtain a 'Style' from an XML stylesheet, use+-- 'parseStyle' from "Citeproc.Style".+citeproc :: CiteprocOutput a+ => CiteprocOptions -- ^ Rendering options+ -> Style a -- ^ Parsed CSL style+ -> Maybe Lang -- ^ Overrides default locale for style+ -> [Reference a] -- ^ List of references (bibliographic data)+ -> [Citation a] -- ^ List of citations to process+ -> Result a+citeproc opts style mblang refs citations =+ Result{ resultCitations = rCitations+ , resultBibliography = rBibliography+ , resultWarnings = warnings ++ noPrintedFormWarnings }+ where+ rCitations = map (trimR . movePunct . renderOutput opts) citationOs+ rBibliography = map (\(ident, out) ->+ (ident, trimR . movePunct .+ renderOutput opts{ linkCitations = False } $ out))+ bibliographyOs+ locale = mergeLocales mblang style+ trimR = dropTextWhileEnd (== ' ')+ movePunct = case localePunctuationInQuote locale of+ Just True -> movePunctuationInsideQuotes+ _ -> id+ (citationOs, bibliographyOs, warnings) =+ evalStyle style mblang refs citations+ noPrintedFormWarnings = Set.toList $ mconcat $+ zipWith npfCitation citations rCitations +++ map npfBibentry rBibliography+ npfBibentry (ident, out) =+ if out == mempty+ then Set.singleton $ "Bibliography entry with no printed form: " <>+ ident+ else mempty+ npfCitation citation res =+ if res == mempty+ then Set.singleton $ "Citation with no printed form: " <>+ T.intercalate ","+ (map (unItemId . citationItemId)+ (citationItems citation))+ else mempty
+ src/Citeproc/CaseTransform.hs view
@@ -0,0 +1,176 @@+{-# LANGUAGE StrictData #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE OverloadedStrings #-}+-- | Provides functions that facilitate defining textcase transformations.+-- To see how these can be used used, see the definitions of @addTextCase@+-- in "Citeproc.Pandoc" and "Citproc.CslJson".+module Citeproc.CaseTransform+ ( CaseTransformState(..)+ , CaseTransformer(..)+ , withUppercaseAll+ , withLowercaseAll+ , withCapitalizeWords+ , withCapitalizeFirst+ , withSentenceCase+ , withTitleCase+ )+where++import Data.Ord ()+import Data.Semigroup+import Data.Char (isUpper, isLower, isAscii)+import Data.Text (Text)+import qualified Data.Text as T+import Citeproc.Types (Lang(..))++-- | Wraps a function used to define textcase transformations.+newtype CaseTransformer =+ CaseTransformer+ { unCaseTransformer :: Maybe Lang -> CaseTransformState -> Text -> Text }++-- | Tracks context in textcase transformations.+data CaseTransformState =+ Start+ | StartSentence+ | AfterWordEnd+ | AfterWordChar+ | AfterSentenceEndingPunctuation+ | AfterOtherPunctuation+ | BeforeLastWord+ deriving (Show, Eq)++toUpper' :: Maybe Lang -> Text -> Text+toUpper' mblang = T.toUpper .+ case mblang of+ Just (Lang "tr" _) -> T.map (\c -> case c of+ 'i' -> 'İ'+ 'ı' -> 'I'+ _ -> c)+ _ -> id++toLower' :: Maybe Lang -> Text -> Text+toLower' mblang = T.toLower .+ case mblang of+ Just (Lang "tr" _) -> T.map (\c -> case c of+ 'İ' -> 'i'+ 'I' -> 'ı'+ _ -> c)+ _ -> id++-- | Uppercase everything.+withUppercaseAll :: CaseTransformer+withUppercaseAll = CaseTransformer (\mblang _ -> toUpper' mblang)++-- | Lowercase everything.+withLowercaseAll :: CaseTransformer+withLowercaseAll = CaseTransformer (\mblang _ -> toLower' mblang)++-- | Capitalize all words.+withCapitalizeWords :: CaseTransformer+withCapitalizeWords = CaseTransformer go+ where+ go mblang st chunk+ | isMixedCase chunk = chunk+ | st == Start || st == StartSentence || st == AfterWordEnd ||+ st == BeforeLastWord+ = if T.all isLower chunk+ then capitalizeText mblang chunk+ else chunk+ | otherwise = chunk++-- | Capitalize first letter.+withCapitalizeFirst :: CaseTransformer+withCapitalizeFirst = CaseTransformer go+ where+ go mblang st chunk+ | isMixedCase chunk = chunk+ | st == Start+ = if T.all isLower chunk+ then capitalizeText mblang chunk+ else chunk+ | otherwise = chunk++-- | Capitalize first letter of each sentence.+withSentenceCase :: CaseTransformer+withSentenceCase = CaseTransformer go+ where+ go mblang st chunk+ | isCapitalized chunk+ , not (st == Start || st == StartSentence)+ = T.toLower chunk+ | isCapitalized chunk || T.all isLower chunk+ , st == Start || st == StartSentence+ = capitalizeText mblang $ T.toLower chunk+ | otherwise = chunk++-- | Use title case.+withTitleCase :: CaseTransformer+withTitleCase = CaseTransformer go+ where+ go mblang st chunk+ | isMixedCase chunk = chunk+ | T.all isUpper chunk = chunk -- spec doesn't say this but tests do+ -- textcase_TitleCapitalization.txt+ | T.any (not . isAscii) chunk = chunk+ | st == StartSentence || st == Start =+ capitalizeText mblang $ T.toLower chunk+ | st == AfterWordEnd+ , not (isStopWord chunk)+ , T.compareLength chunk 1 == GT = capitalizeText mblang $ T.toLower chunk+ | st == BeforeLastWord+ , T.compareLength chunk 1 == GT = capitalizeText mblang $ T.toLower chunk+ | otherwise = chunk++isCapitalized :: Text -> Bool+isCapitalized t =+ case T.uncons t of+ Just (c, t') -> isUpper c && T.all isLower t'+ _ -> False++isMixedCase :: Text -> Bool+isMixedCase t = T.any isUpper t && T.any isLower t++capitalizeText :: Maybe Lang -> Text -> Text+capitalizeText mblang x =+ case T.uncons x of+ Just (c,x') -> toUpper' mblang (T.singleton c) <> x'+ Nothing -> x++isStopWord :: Text -> Bool+isStopWord "a" = True+isStopWord "an" = True+isStopWord "and" = True+isStopWord "as" = True+isStopWord "at" = True+isStopWord "but" = True+isStopWord "by" = True+isStopWord "down" = True+isStopWord "for" = True+isStopWord "from" = True+isStopWord "in" = True+isStopWord "into" = True+isStopWord "nor" = True+isStopWord "of" = True+isStopWord "on" = True+isStopWord "onto" = True+isStopWord "or" = True+isStopWord "over" = True+isStopWord "so" = True+isStopWord "the" = True+isStopWord "till" = True+isStopWord "to" = True+isStopWord "up" = True+isStopWord "via" = True+isStopWord "with" = True+isStopWord "yet" = True+-- not in original list but seems required by test flipflop_Apostrophes+-- and textcase_SkipNameParticlesInTitleCase+isStopWord "about" = True+isStopWord "van" = True+isStopWord "von" = True+isStopWord "de" = True+isStopWord "d" = True+isStopWord "l" = True+isStopWord _ = False+
+ src/Citeproc/CslJson.hs view
@@ -0,0 +1,815 @@+{-# LANGUAGE StrictData #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE DeriveFunctor #-}+{-# LANGUAGE DeriveFoldable #-}+{-# LANGUAGE DeriveTraversable #-}+-- | CSL JSON is the structured text format defined in+-- <https://citeproc-js.readthedocs.io/en/latest/csl-json/markup.html>.+-- It is used to represent formatted text inside CSL JSON bibliographies.+-- For the most part it is a subset of HTML, with some special+-- features like smart quote parsing. This module defines a parser+-- and a renderer for this format, as well as 'CiteprocOutput' and+-- other typeclass instances.+module Citeproc.CslJson+ ( CslJson(..)+ , cslJsonToJson+ , renderCslJson+ , parseCslJson+ )+where++-- represent and parse CSL JSON pseudo-html+-- https://citeproc-js.readthedocs.io/en/latest/csl-json/markup.html+-- Supported:+-- <i>italics</i> -- will flip-flop+-- <b>bold</b> -- will flip-flop+-- <span style="font-variant:small-caps;">...</span> -- ill flip-flop+-- <sup>..</sup>+-- <sub>..</sub>+-- <span class="nocase">..</span> -- suppress case transformations+++import Citeproc.Types+import Citeproc.CaseTransform+import Data.Ord ()+import Data.Semigroup+import Data.Char (isAlphaNum, isSpace, isAscii)+import Data.Text (Text)+import Data.Maybe (fromMaybe)+import qualified Data.Text as T+import qualified Data.Map as M+import Data.Functor.Identity+import Data.Attoparsec.Text as P+import Data.Aeson (FromJSON(..), ToJSON(..), Value(..), object)+import Control.Monad.Trans.State+import Control.Monad (guard, when)+import Control.Applicative ((<|>))+import Data.Generics.Uniplate.Direct++data CslJson a =+ CslText a+ | CslEmpty+ | CslConcat (CslJson a) (CslJson a)+ | CslQuoted (CslJson a)+ | CslItalic (CslJson a)+ | CslNormal (CslJson a)+ | CslBold (CslJson a)+ | CslUnderline (CslJson a)+ | CslNoDecoration (CslJson a)+ | CslSmallCaps (CslJson a)+ | CslBaseline (CslJson a)+ | CslSup (CslJson a)+ | CslSub (CslJson a)+ | CslNoCase (CslJson a)+ | CslDiv Text (CslJson a)+ deriving (Show, Eq, Ord, Functor, Foldable, Traversable)++instance Semigroup (CslJson a) where+ (CslConcat x y) <> z = x <> (y <> z)+ CslEmpty <> x = x+ x <> CslEmpty = x+ x <> y = CslConcat x y++instance Monoid (CslJson a) where+ mempty = CslEmpty+ mappend = (<>)++instance FromJSON (CslJson Text) where+ parseJSON = fmap (parseCslJson mempty) . parseJSON++instance ToJSON (CslJson Text) where+ toJSON = toJSON . renderCslJson False mempty++instance Uniplate (CslJson a) where+ uniplate (CslText x) = plate CslText |- x+ uniplate (CslEmpty) = plate CslEmpty+ uniplate (CslConcat x y) = plate CslConcat |* x |* y+ uniplate (CslQuoted x) = plate CslQuoted |* x+ uniplate (CslItalic x) = plate CslItalic |* x+ uniplate (CslNormal x) = plate CslNormal |* x+ uniplate (CslBold x) = plate CslBold |* x+ uniplate (CslUnderline x) = plate CslUnderline |* x+ uniplate (CslNoDecoration x) = plate CslNoDecoration |* x+ uniplate (CslSmallCaps x) = plate CslSmallCaps |* x+ uniplate (CslBaseline x) = plate CslBaseline |* x+ uniplate (CslSup x) = plate CslSup |* x+ uniplate (CslSub x) = plate CslSub |* x+ uniplate (CslNoCase x) = plate CslNoCase |* x+ uniplate (CslDiv t x) = plate CslDiv |- t |* x++instance Biplate (CslJson a) (CslJson a) where+ biplate = plateSelf++instance CiteprocOutput (CslJson Text) where+ toText = foldMap id+ fromText = parseCslJson mempty+ dropTextWhile = dropTextWhile'+ dropTextWhileEnd = dropTextWhileEnd'+ addFontVariant x =+ case x of+ NormalVariant -> id+ SmallCapsVariant -> CslSmallCaps+ addFontStyle x =+ case x of+ NormalFont -> CslNormal+ ItalicFont -> CslItalic+ ObliqueFont -> CslItalic+ addFontWeight x =+ case x of+ NormalWeight -> id+ LightWeight -> id+ BoldWeight -> CslBold+ addTextDecoration x =+ case x of+ NoDecoration -> CslNoDecoration+ UnderlineDecoration -> CslUnderline+ addVerticalAlign x =+ case x of+ BaselineAlign -> CslBaseline+ SubAlign -> CslSub+ SupAlign -> CslSup+ addTextCase mblang x =+ case x of+ Lowercase -> caseTransform mblang withLowercaseAll+ Uppercase -> caseTransform mblang withUppercaseAll+ CapitalizeFirst -> caseTransform mblang withCapitalizeFirst+ CapitalizeAll -> caseTransform mblang withCapitalizeWords+ SentenceCase -> caseTransform mblang withSentenceCase+ TitleCase -> caseTransform mblang withTitleCase+ addDisplay x =+ case x of+ DisplayBlock -> CslDiv "block"+ DisplayLeftMargin -> CslDiv "left-margin"+ DisplayRightInline -> CslDiv "right-inline"+ DisplayIndent -> CslDiv "indent"+ addQuotes = CslQuoted+ inNote = id -- no-op+ movePunctuationInsideQuotes+ = punctuationInsideQuotes+ mapText f = runIdentity . traverse (return . f)+ addHyperlink _ = id -- CSL JSON doesn't support links++dropTextWhile' :: (Char -> Bool) -> CslJson Text -> CslJson Text+dropTextWhile' f x = evalState (traverse g x) False+ where+ g t = do+ pastFirst <- get+ if pastFirst+ then return t+ else do+ put True+ return (T.dropWhile f t)++dropTextWhileEnd' :: (Char -> Bool) -> CslJson Text -> CslJson Text+dropTextWhileEnd' f el =+ case el of+ CslEmpty -> CslEmpty+ CslText t -> CslText (T.dropWhileEnd f t)+ CslConcat x y -> CslConcat x (dropTextWhileEnd' f y)+ CslQuoted x -> CslQuoted (dropTextWhileEnd' f x)+ CslItalic x -> CslItalic (dropTextWhileEnd' f x)+ CslNormal x -> CslNormal (dropTextWhileEnd' f x)+ CslBold x -> CslBold (dropTextWhileEnd' f x)+ CslUnderline x -> CslUnderline (dropTextWhileEnd' f x)+ CslNoDecoration x -> CslNoDecoration (dropTextWhileEnd' f x)+ CslSmallCaps x -> CslSmallCaps (dropTextWhileEnd' f x)+ CslBaseline x -> CslBaseline (dropTextWhileEnd' f x)+ CslSub x -> CslSub (dropTextWhileEnd' f x)+ CslSup x -> CslSup (dropTextWhileEnd' f x)+ CslNoCase x -> CslNoCase (dropTextWhileEnd' f x)+ CslDiv t x -> CslDiv t (dropTextWhileEnd' f x)++parseCslJson :: Locale -> Text -> CslJson Text+parseCslJson locale t =+ case P.parseOnly+ (P.many' (pCslJson locale) <* P.endOfInput) t of+ Left _ -> CslText t+ Right xs -> mconcat xs++pCslJson :: Locale -> P.Parser (CslJson Text)+pCslJson locale = P.choice+ [ pCslText+ , pCslQuoted+ , pCslItalic+ , pCslBold+ , pCslUnderline+ , pCslNoDecoration+ , pCslSmallCaps+ , pCslSup+ , pCslSub+ , pCslBaseline+ , pCslNoCase+ , pCslSymbol+ ]+ where+ ((outerOpenQuote, outerCloseQuote), (innerOpenQuote, innerCloseQuote)) =+ fromMaybe (("\x201C","\x201D"),("\x2018","\x2019")) $ lookupQuotes locale+ isSpecialChar c = c == '<' || c == '>' || c == '\'' || c == '"' ||+ c == '’' || (not (isAscii c) && (isSuperscriptChar c || isQuoteChar c))+ isQuoteChar = P.inClass+ (T.unpack (outerOpenQuote <> outerCloseQuote <>+ innerOpenQuote <> innerCloseQuote))+ isSuperscriptChar = P.inClass superscriptChars+ isApostrophe '\'' = True+ isApostrophe '’' = True+ isApostrophe _ = False+ pCsl = pCslJson locale+ notFollowedBySpace =+ P.peekChar' >>= guard . not . isSpaceChar+ isSpaceChar = P.inClass [' ','\t','\n','\r']+ pOpenQuote = (("\"" <$ P.char '"')+ <|> ("'" <$ P.char '\'')+ <|> (outerCloseQuote <$ P.string outerOpenQuote)+ <|> (innerCloseQuote <$ P.string innerOpenQuote))+ <* notFollowedBySpace+ pSpace = P.skipWhile isSpaceChar+ pCslText = CslText . addNarrowSpace <$>+ ( do t <- P.takeWhile1 (\c -> isAlphaNum c && not (isSpecialChar c))+ -- apostrophe+ P.option t $ do _ <- P.satisfy isApostrophe+ t' <- P.takeWhile1 isAlphaNum+ return (t <> "’" <> t')+ <|>+ (P.takeWhile1 (\c -> not (isAlphaNum c || isSpecialChar c))) )+ pCslQuoted = CslQuoted <$>+ do cl <- pOpenQuote+ mbc <- peekChar+ case mbc of+ Just c | T.singleton c == cl -> fail "unexpected close quote"+ _ -> return ()+ mconcat <$> P.manyTill' pCsl (P.string cl)+ pCslSymbol = do+ c <- P.satisfy isSpecialChar+ return $+ if isApostrophe c+ then CslText "’"+ else charToSup c+ pCslItalic = CslItalic . mconcat <$>+ (P.string "<i>" *> P.manyTill' pCsl (P.string "</i>"))+ pCslBold = CslBold . mconcat <$>+ (P.string "<b>" *> P.manyTill' pCsl (P.string "</b>"))+ pCslUnderline = CslUnderline . mconcat <$>+ (P.string "<u>" *> P.manyTill' pCsl (P.string "</u>"))+ pCslNoDecoration = CslNoDecoration . mconcat <$>+ (P.string "<span" *> pSpace *>+ P.string "class=\"nodecor\"" *> pSpace *> P.char '>' *>+ P.manyTill' pCsl (P.string "</span>"))+ pCslSup = CslSup . mconcat <$>+ (P.string "<sup>" *> P.manyTill' pCsl (P.string "</sup>"))+ pCslSub = CslSub . mconcat <$>+ (P.string "<sub>" *> P.manyTill' pCsl (P.string "</sub>"))+ pCslBaseline = CslBaseline . mconcat <$>+ (P.string "<span" *> pSpace *> P.string "style=\"baseline\">" *>+ P.manyTill' pCsl (P.string "</span>"))+ pCslSmallCaps = CslSmallCaps . mconcat <$>+ ((P.string "<span" *> pSpace *>+ P.string "style=\"font-variant:" *> pSpace *>+ P.string "small-caps;" *> pSpace *> P.char '"' *>+ pSpace *> P.char '>' *> P.manyTill' pCsl (P.string "</span>"))+ <|>+ (P.string "<sc>" *> P.manyTill' pCsl (P.string "</sc>")))+ pCslNoCase = CslNoCase . mconcat <$>+ (P.string "<span" *> pSpace *>+ P.string "class=\"nocase\"" *> pSpace *> P.char '>' *>+ P.manyTill' pCsl (P.string "</span>"))+ addNarrowSpace =+ T.replace " ;" "\x202F;" .+ T.replace " ?" "\x202F?" .+ T.replace " !" "\x202F!" .+ T.replace " »" "\x202F»" .+ T.replace "« " "«\x202F"++data RenderContext =+ RenderContext+ { useOuterQuotes :: Bool+ , useItalics :: Bool+ , useBold :: Bool+ , useSmallCaps :: Bool+ } deriving (Show, Eq)++lookupTerm :: Locale -> Text -> Maybe Text+lookupTerm locale termname = do+ let terms = localeTerms locale+ case M.lookup termname terms of+ Just ((_,t):_) -> Just t+ _ -> Nothing++lookupQuotes :: Locale -> Maybe ((Text, Text), (Text, Text))+lookupQuotes locale = do+ outerQuotes <- (,) <$> lookupTerm locale "open-quote"+ <*> lookupTerm locale "close-quote"+ innerQuotes <- (,) <$> lookupTerm locale "open-inner-quote"+ <*> lookupTerm locale "close-inner-quote"+ return (outerQuotes, innerQuotes)++-- | Render 'CslJson' as 'Text'. Set the first parameter to True+-- when rendering HTML output (so that entities are escaped).+-- Set it to False when rendering for CSL JSON bibliographies.+renderCslJson :: Bool -- ^ Escape < > & using entities+ -> Locale -- ^ Locale (used for quote styles)+ -> CslJson Text -- ^ CslJson to render+ -> Text+renderCslJson useEntities locale =+ go (RenderContext True True True True)+ where+ (outerQuotes, innerQuotes) = fromMaybe (("\"","\""),("'","'"))+ $ lookupQuotes locale+ go :: RenderContext -> CslJson Text -> Text+ go ctx el =+ case el of+ CslText t -> escape t+ CslEmpty -> mempty+ CslConcat x y -> go ctx x <> go ctx y+ CslQuoted x+ | useOuterQuotes ctx+ -> fst outerQuotes <>+ go ctx{ useOuterQuotes = False } x <>+ snd outerQuotes+ | otherwise+ -> fst innerQuotes <>+ go ctx{ useOuterQuotes = True } x <>+ snd innerQuotes+ CslNormal x+ | useItalics ctx -> go ctx x+ | otherwise -> "<span style=\"font-style:normal;\">" <>+ go ctx x <> "</span>"+ CslItalic x+ | useItalics ctx -> "<i>" <> go ctx{ useItalics = False } x <> "</i>"+ | otherwise -> "<span style=\"font-style:normal;\">" <>+ go ctx{ useItalics = True } x <> "</span>"+ CslBold x+ | useBold ctx -> "<b>" <> go ctx{ useBold = False } x <> "</b>"+ | otherwise -> "<span style=\"font-weight:normal;\">" <>+ go ctx{ useBold = True } x <> "</span>"+ CslUnderline x -> "<u>" <> go ctx x <> "</u>"+ CslNoDecoration x -> "<span style=\"" <>+ (if useSmallCaps ctx+ then ""+ else "font-variant:normal;") <>+ (if useBold ctx+ then ""+ else "font-weight:normal;") <>+ (if useItalics ctx+ then ""+ else "font-style:normal;") <>+ "\">" <> go ctx x <> "</span>"+ CslSmallCaps x+ | useSmallCaps ctx -> "<span style=\"font-variant:small-caps;\">"+ <> go ctx{ useSmallCaps = False } x <>+ "</span>"+ | otherwise -> "<span style=\"font-variant:normal;\">" <>+ go ctx{ useSmallCaps = True } x <> "</span>"+ CslSup x -> "<sup>" <> go ctx x <> "</sup>"+ CslSub x -> "<sub>" <> go ctx x <> "</sub>"+ CslBaseline x -> "<span style=\"baseline\">" <> go ctx x <> "</span>"+ CslDiv t x -> "<div class=\"csl-" <> t <> "\">" <> go ctx x <> "</div>"+ CslNoCase x -> go ctx x -- nocase is just for internal purposes+ escape t+ | useEntities+ = case T.findIndex (\c -> c == '<' || c == '>' || c == '&') t of+ Just _ -> T.replace "<" "<" .+ T.replace ">" ">" .+ T.replace "&" "&" $ t+ Nothing -> t+ | otherwise = t++cslJsonToJson :: Locale -> CslJson Text -> [Value]+cslJsonToJson locale = go (RenderContext True True True True)+ where+ (outerQuotes, innerQuotes) = fromMaybe+ (("\"","\""),("'","'")) $ lookupQuotes locale+ isString (String _) = True+ isString _ = False+ consolidateStrings :: [Value] -> [Value]+ consolidateStrings [] = []+ consolidateStrings (String t : rest) =+ let (xs,ys) = span isString rest+ in String (t <> mconcat [t' | String t' <- xs]) :+ consolidateStrings ys+ consolidateStrings (x : rest) =+ x : consolidateStrings rest+ go :: RenderContext -> CslJson Text -> [Value]+ go ctx el = consolidateStrings $+ case el of+ CslText t -> [String t]+ CslEmpty -> []+ CslConcat x CslEmpty -> go ctx x+ CslConcat (CslConcat x y) z -> go ctx (CslConcat x (CslConcat y z))+ CslConcat x y -> go ctx x <> go ctx y+ CslQuoted x+ | useOuterQuotes ctx+ -> [String (fst outerQuotes)] <>+ go ctx{ useOuterQuotes = False } x <>+ [String (snd outerQuotes)]+ | otherwise+ -> [String (fst innerQuotes)] <>+ go ctx{ useOuterQuotes = True } x <>+ [String (snd innerQuotes)]+ CslNormal x+ | useItalics ctx -> go ctx x+ | otherwise -> [ object+ [ ("format", "no-italics")+ , ("contents", toJSON $ go ctx x)+ ]+ ]+ CslItalic x+ | useItalics ctx -> [ object+ [ ("format", "italics")+ , ("contents", toJSON $+ go ctx{ useItalics = False } x)+ ]+ ]+ | otherwise -> [ object+ [ ("format", "no-italics")+ , ("contents", toJSON $+ go ctx{ useItalics = False } x)+ ]+ ]+ CslBold x+ | useItalics ctx -> [ object+ [ ("format", "bold")+ , ("contents", toJSON $+ go ctx{ useBold = False } x)+ ]+ ]+ | otherwise -> [ object+ [ ("format", "no-bold")+ , ("contents", toJSON $+ go ctx{ useBold = False } x)+ ]+ ]+ CslUnderline x -> [ object+ [ ("format", "underline")+ , ("contents", toJSON $ go ctx x)+ ]+ ]+ CslNoDecoration x -> [ object+ [ ("format", "no-decoration")+ , ("contents", toJSON $ go ctx x)+ ]+ ]+ CslSmallCaps x+ | useSmallCaps ctx -> [ object+ [ ("format", "small-caps")+ , ("contents", toJSON $+ go ctx{ useSmallCaps = False } x)+ ]+ ]+ | otherwise -> [ object+ [ ("format", "no-small-caps")+ , ("contents", toJSON $+ go ctx{ useSmallCaps = False } x)+ ]+ ]+ CslSup x -> [ object+ [ ("format", "superscript")+ , ("contents", toJSON $ go ctx x)+ ]+ ]+ CslSub x -> [ object+ [ ("format", "subscript")+ , ("contents", toJSON $ go ctx x)+ ]+ ]+ CslBaseline x -> [ object+ [ ("format", "baseline")+ , ("contents", toJSON $ go ctx x)+ ]+ ]+ CslDiv t x -> [ object+ [ ("format", "div")+ , ("class", toJSON $ "csl-" <> t)+ , ("contents", toJSON $ go ctx x)+ ]+ ]+ CslNoCase x -> go ctx x -- nocase is just for internal purposes+++-- custom traversal which does not descend into+-- CslSmallCaps, Baseline, SUp, Sub, or NoCase (implicit nocase)+caseTransform' :: (CaseTransformState -> Text -> Text)+ -> Int -- level in hierarchy+ -> CslJson Text+ -> State CaseTransformState (CslJson Text)+caseTransform' f lev el =+ case el of+ CslText x -> CslText . mconcat <$> mapM g (splitUp x)+ CslConcat x y -> do+ x' <- caseTransform' f lev x+ let lastWord = lev == 0 && not (hasWordBreak y)+ st <- get+ when (lastWord &&+ (st == AfterWordEnd || st == StartSentence || st == Start)) $+ put BeforeLastWord+ y' <- caseTransform' f lev y+ return $ CslConcat x' y'+ CslQuoted x -> CslQuoted <$> caseTransform' f (lev + 1) x+ CslItalic x -> CslItalic <$> caseTransform' f (lev + 1) x+ CslNormal x -> CslNormal <$> caseTransform' f (lev + 1) x+ CslBold x -> CslBold <$> caseTransform' f (lev + 1) x+ CslUnderline x -> CslUnderline <$> caseTransform' f (lev + 1) x+ CslNoDecoration _ -> return' el+ CslSmallCaps _ -> return' el+ CslBaseline _ -> return' el+ CslSub _ -> return' el+ CslSup _ -> return' el+ CslNoCase _ -> return' el+ CslDiv _ _ -> return' el+ CslEmpty -> return' el+ where+ -- we need to apply g to update the state:+ return' x = x <$ g (toText x)++ g :: Text -> State CaseTransformState Text+ g t = do+ st <- get+ put $ case T.unsnoc t of+ Nothing -> st+ Just (_,c)+ | c == '.' || c == '?' || c == '!' || c == ':' ->+ AfterSentenceEndingPunctuation+ | isAlphaNum c -> AfterWordChar+ | isSpace c+ , st == AfterSentenceEndingPunctuation -> StartSentence+ | isWordBreak c -> AfterWordEnd+ | otherwise -> AfterOtherPunctuation+ return $+ if T.all isAlphaNum t+ then f st t+ else t+ isWordBreak '-' = True+ isWordBreak '/' = True+ isWordBreak '\x2013' = True+ isWordBreak '\x2014' = True+ isWordBreak c = isSpace c+ hasWordBreak = any (T.any isWordBreak)+ splitUp = T.groupBy sameType+ sameType c d =+ -- note that non-English characters get treated differently+ -- by titlecase transformation+ (isAscii c && isAlphaNum c && isAscii d && isAlphaNum d) ||+ (not (isAscii c) && isAlphaNum c && not (isAscii d) && isAlphaNum d) ||+ (isSpace c && isSpace d)++caseTransform :: Maybe Lang+ -> CaseTransformer+ -> CslJson Text+ -> CslJson Text+caseTransform mblang f x =+ evalState (caseTransform' (unCaseTransformer f mblang) 0 x) Start++punctuationInsideQuotes :: CslJson Text -> CslJson Text+punctuationInsideQuotes = go+ where+ startsWithMovable t =+ case T.uncons t of+ Just (c,_) -> c == '.' || c == ',' || c == '!' || c == '?'+ Nothing -> False+ go el =+ case el of+ CslConcat CslEmpty x -> go x+ CslConcat x CslEmpty -> go x+ CslConcat (CslQuoted x) y ->+ case go y of+ (CslText t) | startsWithMovable t+ -> CslQuoted (go (x <> CslText (T.take 1 t)))+ <> CslText (T.drop 1 t)+ (CslConcat (CslText t) z) | startsWithMovable t+ -> CslQuoted (go (x <> CslText (T.take 1 t))) <>+ CslText (T.drop 1 t) <> z+ z -> CslQuoted x <> z+ CslConcat (CslConcat x y) z -> go (CslConcat x (CslConcat y z))+ CslConcat x y -> go x <> go y+ CslQuoted x -> CslQuoted (go x)+ CslItalic x -> CslItalic (go x)+ CslNormal x -> CslNormal (go x)+ CslBold x -> CslBold (go x)+ CslUnderline x -> CslUnderline (go x)+ CslNoDecoration x -> CslNoDecoration (go x)+ CslSmallCaps x -> CslSmallCaps (go x)+ CslSup x -> CslSup (go x)+ CslSub x -> CslSub (go x)+ CslBaseline x -> CslBaseline (go x)+ CslNoCase x -> CslNoCase (go x)+ CslDiv t x -> CslDiv t (go x)+ CslText t -> CslText t+ CslEmpty -> CslEmpty++superscriptChars :: [Char]+superscriptChars =+ [ '\x00AA'+ , '\x00B2'+ , '\x00B3'+ , '\x00B9'+ , '\x00BA'+ , '\x02B0'+ , '\x02B1'+ , '\x02B2'+ , '\x02B3'+ , '\x02B4'+ , '\x02B5'+ , '\x02B6'+ , '\x02B7'+ , '\x02B8'+ , '\x02E0'+ , '\x02E1'+ , '\x02E2'+ , '\x02E3'+ , '\x02E4'+ , '\x1D2C'+ , '\x1D2D'+ , '\x1D2E'+ , '\x1D30'+ , '\x1D31'+ , '\x1D32'+ , '\x1D33'+ , '\x1D34'+ , '\x1D35'+ , '\x1D36'+ , '\x1D37'+ , '\x1D38'+ , '\x1D39'+ , '\x1D3A'+ , '\x1D3C'+ , '\x1D3D'+ , '\x1D3E'+ , '\x1D3F'+ , '\x1D40'+ , '\x1D41'+ , '\x1D42'+ , '\x1D43'+ , '\x1D44'+ , '\x1D45'+ , '\x1D46'+ , '\x1D47'+ , '\x1D48'+ , '\x1D49'+ , '\x1D4A'+ , '\x1D4B'+ , '\x1D4C'+ , '\x1D4D'+ , '\x1D4F'+ , '\x1D50'+ , '\x1D51'+ , '\x1D52'+ , '\x1D53'+ , '\x1D54'+ , '\x1D55'+ , '\x1D56'+ , '\x1D57'+ , '\x1D58'+ , '\x1D59'+ , '\x1D5A'+ , '\x1D5B'+ , '\x1D5C'+ , '\x1D5D'+ , '\x1D5E'+ , '\x1D5F'+ , '\x1D60'+ , '\x1D61'+ , '\x2070'+ , '\x2071'+ , '\x2074'+ , '\x2075'+ , '\x2076'+ , '\x2077'+ , '\x2078'+ , '\x2079'+ , '\x207A'+ , '\x207B'+ , '\x207C'+ , '\x207D'+ , '\x207E'+ , '\x207F'+ , '\x2120'+ , '\x2122'+ , '\x3192'+ , '\x3193'+ , '\x3194'+ , '\x3195'+ , '\x3196'+ , '\x3197'+ , '\x3198'+ , '\x3199'+ , '\x319A'+ , '\x319B'+ , '\x319C'+ , '\x319D'+ , '\x319E'+ , '\x319F'+ , '\x02C0'+ , '\x02C1'+ , '\x06E5'+ , '\x06E6'+ ]++charToSup :: Char -> CslJson Text+charToSup c =+ case c of+ '\x00AA' -> CslSup (CslText "\x0061")+ '\x00B2' -> CslSup (CslText "\x0032")+ '\x00B3' -> CslSup (CslText "\x0033")+ '\x00B9' -> CslSup (CslText "\x0031")+ '\x00BA' -> CslSup (CslText "\x006F")+ '\x02B0' -> CslSup (CslText "\x0068")+ '\x02B1' -> CslSup (CslText "\x0266")+ '\x02B2' -> CslSup (CslText "\x006A")+ '\x02B3' -> CslSup (CslText "\x0072")+ '\x02B4' -> CslSup (CslText "\x0279")+ '\x02B5' -> CslSup (CslText "\x027B")+ '\x02B6' -> CslSup (CslText "\x0281")+ '\x02B7' -> CslSup (CslText "\x0077")+ '\x02B8' -> CslSup (CslText "\x0079")+ '\x02E0' -> CslSup (CslText "\x0263")+ '\x02E1' -> CslSup (CslText "\x006C")+ '\x02E2' -> CslSup (CslText "\x0073")+ '\x02E3' -> CslSup (CslText "\x0078")+ '\x02E4' -> CslSup (CslText "\x0295")+ '\x1D2C' -> CslSup (CslText "\x0041")+ '\x1D2D' -> CslSup (CslText "\x00C6")+ '\x1D2E' -> CslSup (CslText "\x0042")+ '\x1D30' -> CslSup (CslText "\x0044")+ '\x1D31' -> CslSup (CslText "\x0045")+ '\x1D32' -> CslSup (CslText "\x018E")+ '\x1D33' -> CslSup (CslText "\x0047")+ '\x1D34' -> CslSup (CslText "\x0048")+ '\x1D35' -> CslSup (CslText "\x0049")+ '\x1D36' -> CslSup (CslText "\x004A")+ '\x1D37' -> CslSup (CslText "\x004B")+ '\x1D38' -> CslSup (CslText "\x004C")+ '\x1D39' -> CslSup (CslText "\x004D")+ '\x1D3A' -> CslSup (CslText "\x004E")+ '\x1D3C' -> CslSup (CslText "\x004F")+ '\x1D3D' -> CslSup (CslText "\x0222")+ '\x1D3E' -> CslSup (CslText "\x0050")+ '\x1D3F' -> CslSup (CslText "\x0052")+ '\x1D40' -> CslSup (CslText "\x0054")+ '\x1D41' -> CslSup (CslText "\x0055")+ '\x1D42' -> CslSup (CslText "\x0057")+ '\x1D43' -> CslSup (CslText "\x0061")+ '\x1D44' -> CslSup (CslText "\x0250")+ '\x1D45' -> CslSup (CslText "\x0251")+ '\x1D46' -> CslSup (CslText "\x1D02")+ '\x1D47' -> CslSup (CslText "\x0062")+ '\x1D48' -> CslSup (CslText "\x0064")+ '\x1D49' -> CslSup (CslText "\x0065")+ '\x1D4A' -> CslSup (CslText "\x0259")+ '\x1D4B' -> CslSup (CslText "\x025B")+ '\x1D4C' -> CslSup (CslText "\x025C")+ '\x1D4D' -> CslSup (CslText "\x0067")+ '\x1D4F' -> CslSup (CslText "\x006B")+ '\x1D50' -> CslSup (CslText "\x006D")+ '\x1D51' -> CslSup (CslText "\x014B")+ '\x1D52' -> CslSup (CslText "\x006F")+ '\x1D53' -> CslSup (CslText "\x0254")+ '\x1D54' -> CslSup (CslText "\x1D16")+ '\x1D55' -> CslSup (CslText "\x1D17")+ '\x1D56' -> CslSup (CslText "\x0070")+ '\x1D57' -> CslSup (CslText "\x0074")+ '\x1D58' -> CslSup (CslText "\x0075")+ '\x1D59' -> CslSup (CslText "\x1D1D")+ '\x1D5A' -> CslSup (CslText "\x026F")+ '\x1D5B' -> CslSup (CslText "\x0076")+ '\x1D5C' -> CslSup (CslText "\x1D25")+ '\x1D5D' -> CslSup (CslText "\x03B2")+ '\x1D5E' -> CslSup (CslText "\x03B3")+ '\x1D5F' -> CslSup (CslText "\x03B4")+ '\x1D60' -> CslSup (CslText "\x03C6")+ '\x1D61' -> CslSup (CslText "\x03C7")+ '\x2070' -> CslSup (CslText "\x0030")+ '\x2071' -> CslSup (CslText "\x0069")+ '\x2074' -> CslSup (CslText "\x0034")+ '\x2075' -> CslSup (CslText "\x0035")+ '\x2076' -> CslSup (CslText "\x0036")+ '\x2077' -> CslSup (CslText "\x0037")+ '\x2078' -> CslSup (CslText "\x0038")+ '\x2079' -> CslSup (CslText "\x0039")+ '\x207A' -> CslSup (CslText "\x002B")+ '\x207B' -> CslSup (CslText "\x2212")+ '\x207C' -> CslSup (CslText "\x003D")+ '\x207D' -> CslSup (CslText "\x0028")+ '\x207E' -> CslSup (CslText "\x0029")+ '\x207F' -> CslSup (CslText "\x006E")+ '\x2120' -> CslSup (CslText "\x0053\x004D")+ '\x2122' -> CslSup (CslText "\x0054\x004D")+ '\x3192' -> CslSup (CslText "\x4E00")+ '\x3193' -> CslSup (CslText "\x4E8C")+ '\x3194' -> CslSup (CslText "\x4E09")+ '\x3195' -> CslSup (CslText "\x56DB")+ '\x3196' -> CslSup (CslText "\x4E0A")+ '\x3197' -> CslSup (CslText "\x4E2D")+ '\x3198' -> CslSup (CslText "\x4E0B")+ '\x3199' -> CslSup (CslText "\x7532")+ '\x319A' -> CslSup (CslText "\x4E59")+ '\x319B' -> CslSup (CslText "\x4E19")+ '\x319C' -> CslSup (CslText "\x4E01")+ '\x319D' -> CslSup (CslText "\x5929")+ '\x319E' -> CslSup (CslText "\x5730")+ '\x319F' -> CslSup (CslText "\x4EBA")+ '\x02C0' -> CslSup (CslText "\x0294")+ '\x02C1' -> CslSup (CslText "\x0295")+ '\x06E5' -> CslSup (CslText "\x0648")+ '\x06E6' -> CslSup (CslText "\x064A")+ _ -> CslText $ T.singleton c
+ src/Citeproc/Data.hs view
@@ -0,0 +1,12 @@+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE TemplateHaskell #-}+module Citeproc.Data+ (localeFiles)+where+import System.FilePath (FilePath)+import Data.ByteString (ByteString)+import Data.FileEmbed++localeFiles :: [(FilePath, ByteString)]+localeFiles = $(embedDir "locales")+
+ src/Citeproc/Element.hs view
@@ -0,0 +1,237 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+module Citeproc.Element+ ( pLocale+ , pDate+ , Attributes(..)+ , lookupAttribute+ , ElementParser+ , runElementParser+ , parseFailure+ , getChildren+ , allChildren+ , getAttributes+ , getNameAttributes+ , getFormatting+ , getTextContent+ )+where+import Citeproc.Types+import Data.Semigroup+import Data.Maybe (fromMaybe)+import Control.Monad (foldM)+import qualified Data.Map as M+import qualified Text.XML as X+import Data.Text (Text)+import qualified Data.Text as T+import Control.Monad.Trans.Reader+import Control.Monad.Trans.Except+import Control.Monad.Trans.Class (lift)++import Debug.Trace++newtype Attributes = Attributes (M.Map Text Text)+ deriving (Show, Semigroup, Monoid, Eq)++lookupAttribute :: Text -> Attributes -> Maybe Text+lookupAttribute key (Attributes kvs) = M.lookup key kvs++type ElementParser = ReaderT (M.Map X.Name Text) (Except CiteprocError)++runElementParser :: ElementParser a -> Either CiteprocError a+runElementParser p = runExcept (runReaderT p mempty)++parseFailure :: String -> ElementParser a+parseFailure s = lift $ throwE (CiteprocParseError $ T.pack s)++getChildren :: Text -> X.Element -> [X.Element]+getChildren name el = [e | X.NodeElement e <- X.elementNodes el+ , X.nameLocalName (X.elementName e) == name]++allChildren :: X.Element -> [X.Element]+allChildren el = [e | X.NodeElement e <- X.elementNodes el]++getAttributes :: X.Element -> Attributes+getAttributes =+ Attributes . M.mapKeys X.nameLocalName . X.elementAttributes++-- Like getAttributes but incorporates inheritable attributes.+getNameAttributes :: X.Element -> ElementParser Attributes+getNameAttributes node = do+ nameattr <- ask+ let xattr = X.elementAttributes node <> nameattr+ return $ Attributes $ M.mapKeys X.nameLocalName xattr++getFormatting :: Attributes -> Formatting+getFormatting attr =+ Formatting+ { formatLang = Nothing+ , formatFontStyle =+ case lookupAttribute "font-style" attr of+ Just "italic" -> Just ItalicFont+ Just "oblique" -> Just ObliqueFont+ Just "normal" -> Just NormalFont+ _ -> Nothing+ , formatFontVariant =+ case lookupAttribute "font-variant" attr of+ Just "small-caps" -> Just SmallCapsVariant+ Just "normal" -> Just NormalVariant+ _ -> Nothing+ , formatFontWeight =+ case lookupAttribute "font-weight" attr of+ Just "bold" -> Just BoldWeight+ Just "light" -> Just LightWeight+ Just "normal" -> Just NormalWeight+ _ -> Nothing+ , formatTextDecoration =+ case lookupAttribute "text-decoration" attr of+ Just "underline" -> Just UnderlineDecoration+ Just "none" -> Just NoDecoration+ _ -> Nothing+ , formatVerticalAlign =+ case lookupAttribute "vertical-align" attr of+ Just "sup" -> Just SupAlign+ Just "sub" -> Just SubAlign+ Just "baseline" -> Just BaselineAlign+ _ -> Nothing+ , formatPrefix = lookupAttribute "prefix" attr+ , formatSuffix = lookupAttribute "suffix" attr+ , formatDisplay =+ case lookupAttribute "display" attr of+ Just "block" -> Just DisplayBlock+ Just "left-margin" -> Just DisplayLeftMargin+ Just "right-inline" -> Just DisplayRightInline+ Just "indent" -> Just DisplayIndent+ _ -> Nothing+ , formatTextCase =+ case lookupAttribute "text-case" attr of+ Just "lowercase" -> Just Lowercase+ Just "uppercase" -> Just Uppercase+ Just "capitalize-first" -> Just CapitalizeFirst+ Just "capitalize-all" -> Just CapitalizeAll+ Just "sentence" -> Just SentenceCase+ Just "title" -> Just TitleCase+ _ -> Nothing+ , formatDelimiter = lookupAttribute "delimiter" attr+ , formatStripPeriods =+ lookupAttribute "strip-periods" attr == Just "true"+ , formatQuotes =+ lookupAttribute "quotes" attr == Just "true"+ , formatAffixesInside = False -- should be true for layout only+ }+++getTextContent :: X.Element -> Text+getTextContent e = mconcat [t | X.NodeContent t <- X.elementNodes e]++pLocale :: X.Element -> ElementParser Locale+pLocale node = do+ let attr = getAttributes node+ let lang = parseLang <$> lookupAttribute "lang" attr+ let styleOpts = mconcat . map getAttributes $+ getChildren "style-options" node+ let addDateElt e m =+ case e of+ Element (EDate _ dateType _ _) _ -> M.insert dateType e m+ _ -> error "pDate returned an element other than EDate"+ dateElts <- foldr addDateElt mempty <$> mapM pDate (getChildren "date" node)+ let termNodes = concatMap (getChildren "term") (getChildren "terms" node)+ terms <- foldM parseTerm mempty termNodes+ return $+ Locale+ { localeLanguage = lang+ , localePunctuationInQuote = (== "true") <$>+ lookupAttribute "punctuation-in-quote" styleOpts+ , localeLimitDayOrdinalsToDay1 = (== "true") <$>+ lookupAttribute "limit-day-ordinals-to-day-1" styleOpts+ , localeDate = dateElts+ , localeTerms = terms+ }++parseTerm :: M.Map Text [(Term, Text)]+ -> X.Element+ -> ElementParser (M.Map Text [(Term, Text)])+parseTerm m node = do+ let attr = getAttributes node+ name <- case lookupAttribute "name" attr of+ Just n -> return n+ Nothing -> parseFailure "Text node has no name attribute"+ let single = mconcat $ map getTextContent $ getChildren "single" node+ let multiple = mconcat $ map getTextContent $ getChildren "multiple" node+ let txt = getTextContent node+ let form = case lookupAttribute "form" attr of+ Just "short" -> Short+ Just "verb" -> Verb+ Just "verb-short" -> VerbShort+ Just "symbol" -> Symbol+ _ -> Long+ let gender = case lookupAttribute "gender" attr of+ Just "masculine" -> Just Masculine+ Just "feminine" -> Just Feminine+ _ -> Nothing+ let genderForm = case lookupAttribute "gender-form" attr of+ Just "masculine" -> Just Masculine+ Just "feminine" -> Just Feminine+ _ -> Nothing+ let match = case lookupAttribute "match" attr of+ Just "last-digit" -> Just LastDigit+ Just "last-two-digits" -> Just LastTwoDigits+ Just "whole-number" -> Just WholeNumber+ _ -> Nothing+ let term = Term+ { termName = name+ , termForm = form+ , termNumber = Nothing+ , termGender = gender+ , termGenderForm = genderForm+ , termMatch = match+ }+ let addToList x Nothing = Just [x]+ addToList x (Just xs) = Just (x:xs)+ if T.null single+ then return $ M.alter (addToList (term, txt)) (termName term) m+ else do+ let term_single = term{ termNumber = Just Singular }+ let term_plural = term{ termNumber = Just Plural }+ return $ M.alter+ (addToList (term_single, single) .+ addToList (term_plural, multiple)) (termName term) m++pDate :: X.Element -> ElementParser (Element a)+pDate node = do+ let attr = getAttributes node+ let formatting = getFormatting attr+ let form = lookupAttribute "form" attr+ let var = toVariable $ fromMaybe mempty $ lookupAttribute "variable" attr+ let showDateParts = case lookupAttribute "date-parts" attr of+ Just "year-month-day" -> Just YearMonthDay+ Just "year-month" -> Just YearMonth+ Just "year" -> Just Year+ _ -> Nothing++ dps <- mapM parseDatePartElement (getChildren "date-part" node)+ let dateType = case form of+ Just "numeric" -> LocalizedNumeric+ Just "text" -> LocalizedText+ _ -> NonLocalized+ return $ Element (EDate var dateType showDateParts dps) formatting++parseDatePartElement :: X.Element -> ElementParser DP+parseDatePartElement node = do+ let attr = getAttributes node+ let formatting = getFormatting attr+ let name = case lookupAttribute "name" attr of+ Just "day" -> DPDay+ Just "month" -> DPMonth+ _ -> DPYear+ let form = case lookupAttribute "form" attr of+ Just "numeric" -> DPNumeric+ Just "numeric-leading-zeros" -> DPNumericLeadingZeros+ Just "ordinal" -> DPOrdinal+ Just "long" -> DPLong+ Just "short" -> DPShort+ _ | name == DPDay -> DPNumeric+ | otherwise -> DPLong+ let rangeDelim = fromMaybe "–" $ lookupAttribute "range-delimiter" attr+ return $ DP name form rangeDelim formatting+
+ src/Citeproc/Eval.hs view
@@ -0,0 +1,2371 @@+{-# LANGUAGE StrictData #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TupleSections #-}+module Citeproc.Eval+ ( evalStyle )+where+import Citeproc.Types+import Citeproc.Style (mergeLocales)+import Data.Semigroup+import Control.Monad.Trans.RWS.CPS+import Data.Containers.ListUtils (nubOrdOn, nubOrd)+import Safe (headMay, headDef, lastMay, initSafe, tailSafe, maximumMay)+import Data.Maybe+import Control.Monad (foldM, zipWithM, when, unless)+import qualified Data.Map as M+import qualified Data.Set as Set+import Data.Coerce (coerce)+import Data.List (find, intersperse, sortOn, groupBy, foldl', transpose,+ sort, (\\))+import Data.Text (Text)+import qualified Data.Text as T+import Data.Char (isSpace, isPunctuation, isDigit, isUpper, isLower, isLetter,+ ord, chr)+import Text.Printf (printf)+import Control.Applicative+import Data.Generics.Uniplate.Operations (universe, transform)++-- import Debug.Trace (trace)+-- import Text.Show.Pretty (ppShow)+-- ppTrace :: Show a => a -> a+-- ppTrace x = trace (ppShow x) x++data Context a =+ Context+ { contextLocale :: Locale+ , contextAbbreviations :: Maybe Abbreviations+ , contextStyleOptions :: StyleOptions+ , contextLocator :: Maybe Text+ , contextLabel :: Maybe Text+ , contextPosition :: [Position]+ , contextInSubstitute :: Bool+ , contextInSortKey :: Bool+ , contextSubstituteNamesForm :: Maybe NamesFormat+ }+ deriving (Show)++-- used internally for group elements, which+-- are skipped if (a) the group calls a variable+-- but (b) all of the variables called are empty.+data VarCount =+ VarCount+ { variablesAccessed :: Int+ , variablesNonempty :: Int+ } deriving (Show)++data EvalState a =+ EvalState+ { stateVarCount :: VarCount+ , stateLastCitedMap :: M.Map ItemId (Int, Maybe Int, Int,+ Bool, Maybe Text, Maybe Text)+ -- (citegroup, noteNum, posInGroup,+ -- aloneInCitation, label, locator)+ , stateRefMap :: ReferenceMap a+ , stateReference :: Reference a+ , stateUsedYearSuffix :: Bool+ } deriving (Show)+++type Eval a = RWS (Context a) (Set.Set Text) (EvalState a)++updateVarCount :: Int -> Int -> Eval a ()+updateVarCount total' nonempty' =+ modify $ \st ->+ let VarCount total nonempty = stateVarCount st+ in st{ stateVarCount =+ VarCount (total + total') (nonempty + nonempty') }++evalStyle :: CiteprocOutput a+ => Style a -- ^ Parsed CSL style.+ -> Maybe Lang -- ^ Override style default locale.+ -> [Reference a] -- ^ List of references (bibliographic data).+ -> [Citation a] -- ^ List of citations.+ -> ([Output a], [(Text, Output a)], [Text])+ -- ^ (citations, (id, bibentry) pairs, warnings)+evalStyle style mblang refs citations =+ (citationOs, bibliographyOs, Set.toList warnings)+ where+ ((citationOs, bibliographyOs), warnings) = evalRWS go+ Context+ { contextLocale = mergeLocales mblang style+ , contextAbbreviations = styleAbbreviations style+ , contextStyleOptions = styleOptions style+ , contextLocator = Nothing+ , contextLabel = Nothing+ , contextPosition = []+ , contextInSubstitute = False+ , contextInSortKey = False+ , contextSubstituteNamesForm = Nothing+ }+ EvalState+ { stateVarCount = VarCount 0 0+ , stateLastCitedMap = mempty+ , stateRefMap = makeReferenceMap refs+ , stateReference = Reference mempty mempty Nothing mempty+ , stateUsedYearSuffix = False+ }++ assignCitationNumbers sortedIds =+ modify $ \st ->+ st{ stateRefMap = ReferenceMap $ foldl'+ (\m (citeId, num) ->+ M.adjust (\ref ->+ ref{ referenceVariables =+ M.insert "citation-number"+ (NumVal num) .+ M.alter (addIfMissing (citationLabel ref))+ "citation-label"+ $ referenceVariables ref+ }) citeId m)+ (unReferenceMap (stateRefMap st))+ (zip sortedIds [1..]) }++ addIfMissing x Nothing = Just x+ addIfMissing _ (Just x) = Just x++ go = do+ assignCitationNumbers (map referenceId refs)+ -- sorting of bibliography, insertion of citation-number+ (bibCitations, bibSortKeyMap) <-+ case styleBibliography style of+ Nothing -> return ([], mempty)+ Just biblayout -> do+ bibSortKeyMap <- M.fromList+ <$> mapM+ ((\citeId ->+ (citeId,) <$> evalSortKeys biblayout citeId)+ . referenceId)+ refs+ let sortedIds =+ if null (layoutSortKeys biblayout)+ then map referenceId refs+ else sortOn (`M.lookup` bibSortKeyMap)+ (map referenceId refs)+ assignCitationNumbers $+ case layoutSortKeys biblayout of+ (SortKeyVariable Descending "citation-number":_)+ -> reverse sortedIds+ (SortKeyMacro Descending+ (Element (ENumber "citation-number" _) _:_) : _)+ -> reverse sortedIds+ (SortKeyMacro Descending+ (Element (EText (TextVariable _ "citation-number")) _:_): _)+ -> reverse sortedIds+ _ -> sortedIds+ let bibCitations = map (\ident ->+ Citation (Just $ unItemId ident) Nothing+ [CitationItem ident Nothing Nothing+ NormalCite Nothing Nothing]) sortedIds+ return (bibCitations, bibSortKeyMap)+ -- list of citationItemIds that are actually cited+ let citeIds = foldr (Set.insert . citationItemId) mempty+ (concatMap citationItems citations)+ -- styling of citations+ sortKeyMap <-+ foldM (\m citeId -> do+ sk <- evalSortKeys (styleCitation style) citeId+ return $ M.insert citeId sk m)+ M.empty+ citeIds+ -- We can't just sort all the citations, because+ -- this can make a hash out of prefixes and suffixes.+ -- See e.g. pandoc-citeproc issue #292.+ -- we need to first break into groups so that any+ -- suffix ends a group and any prefix begins a group;+ -- then sort the groups; then combine again:+ let canGroup i1 i2+ = isNothing (citationItemSuffix i1) &&+ isNothing (citationItemPrefix i2)+ let sortCitationItems citation' =+ citation'{ citationItems =+ concatMap+ (sortOn+ (\citeItem ->+ M.lookup (citationItemId citeItem)+ sortKeyMap))+ $ groupBy canGroup+ $ citationItems citation' }+ let citCitations = map sortCitationItems citations+ let layoutOpts = layoutOptions $ styleCitation style+ cs <- disambiguateCitations style bibSortKeyMap citCitations+ let mbcgDelim =+ case styleCiteGroupDelimiter (styleOptions style) of+ Just x -> Just x+ Nothing+ -- grouping is activated whenever there is+ -- collapsing; this is the default+ -- cite-group-delimiter+ | isJust (layoutCollapse layoutOpts) -> Just ", "+ | otherwise -> Nothing+ let cs' = case mbcgDelim of+ Nothing -> cs+ Just citeGroupDelim -> map+ (groupAndCollapseCitations citeGroupDelim+ (layoutYearSuffixDelimiter layoutOpts)+ (layoutAfterCollapseDelimiter layoutOpts)+ (layoutCollapse layoutOpts))+ cs++ let removeNamesIfSuppressAuthor+ (Tagged (TagItem SuppressAuthor cid') x)+ = Tagged (TagItem SuppressAuthor cid') (transform removeNames x)+ removeNamesIfSuppressAuthor x = x++ -- we need to do this after disambiguation and collapsing+ let handleSuppressAuthors = transform removeNamesIfSuppressAuthor++ let isNoteCitation = styleIsNoteStyle (styleOptions style)++ -- if we have an author-only citation at the beginning+ -- separate it out:+ let handleAuthorOnly formattedCit =+ case formattedCit of+ Formatted f+ (x@(Tagged (TagItem AuthorOnly _) _):xs)+ | isNoteCitation+ -> formatted mempty+ (x : [InNote (formatted f xs) | not (null xs)])+ | otherwise+ -> formatted mempty+ (x :+ if null xs+ then []+ else [Literal (fromText " "),+ formatted f xs])+ Formatted f+ (Formatted f'+ (x@(Tagged (TagItem AuthorOnly _) _):xs) : ys)+ | isNoteCitation+ -> formatted mempty+ (Formatted f'{ formatPrefix = Nothing+ , formatSuffix = Nothing } [x] :+ if null xs && null ys+ then []+ else [InNote (formatted f+ (formatted f' xs : ys))])+ | otherwise+ -> Formatted mempty+ (Formatted f'{ formatPrefix = Nothing+ , formatSuffix = Nothing } [x] :+ if null xs && null ys+ then []+ else [Literal (fromText " "),+ formatted f (formatted f' xs : ys)])+ _ | isNoteCitation -> InNote formattedCit+ | otherwise -> formattedCit++ let cs'' = map (handleSuppressAuthors . handleAuthorOnly) cs'++ -- styling of bibliography (this needs to go here to take account+ -- of year suffixes added in disambiguation)+ bs <- case styleBibliography style of+ Just biblayout+ -> mapM (evalLayout True biblayout) (zip [1..] bibCitations)+ >>= \bs ->+ case styleSubsequentAuthorSubstitute+ (styleOptions style) of+ Nothing -> return bs+ Just subs -> subsequentAuthorSubstitutes subs bs+ Nothing -> return []+ return (cs'', case styleBibliography style of+ Nothing -> []+ Just _ ->+ zip (map (fromMaybe "" . citationId) bibCitations) bs)++subsequentAuthorSubstitutes :: CiteprocOutput a+ => SubsequentAuthorSubstitute+ -> [Output a]+ -> Eval a [Output a]+subsequentAuthorSubstitutes (SubsequentAuthorSubstitute t rule) =+ return . groupCitesByNames+ where+ groupCitesByNames [] = []+ groupCitesByNames (x:xs) =+ let xnames = fromMaybe ([],NullOutput) $ getNames x+ samenames = replaceMatch rule (fromText t) xnames xs+ rest = drop (length samenames) xs+ in (x : samenames) ++ groupCitesByNames rest+ getNames (Formatted _ (x:_)) =+ case [(ns,r) | (Tagged (TagNames _ _ ns) r) <- universe x] of+ ((ns,r) : _) -> Just (ns,r)+ [] -> Nothing+ getNames _ = Nothing++replaceMatch :: CiteprocOutput a+ => SubsequentAuthorSubstituteRule+ -> a+ -> ([Name], Output a)+ -> [Output a]+ -> [Output a]+replaceMatch _ _ _ [] = []+replaceMatch rule replacement (names, raw) (z:zs) =+ case go z of+ Nothing -> []+ Just z' -> z' : replaceMatch rule replacement (names, raw) zs+ where+ go (Tagged t@TagItem{} y) =+ Tagged t <$> go y+ go (Formatted f (y:ys)) =+ Formatted f . (: ys) <$> go y+ go y@(Tagged (TagNames _ _ ns) r) =+ case (if null names then CompleteAll else rule) of+ CompleteAll ->+ if ns == names && (not (null names) || r == raw)+ then Just $ replaceAll y+ else Nothing+ CompleteEach ->+ if ns == names+ then Just $ transform replaceEach y+ else Nothing+ PartialEach ->+ case numberOfMatches ns names of+ num | num >= 1 -> Just $ transform (replaceFirst num) y+ _ -> Nothing+ PartialFirst ->+ case numberOfMatches ns names of+ num | num >= (1 :: Int) -> Just $ transform (replaceFirst 1) y+ _ -> Nothing+ go _ = Nothing+ replaceAll (Tagged (TagNames t' nf ns') x)+ = Tagged (TagNames t' nf ns') $+ -- removeName will leave label "ed."+ -- which we want, but it will also leave the substituted+ -- title when there is no name, which we do not want.+ -- So, if ns' is null, then we just remove everything.+ if null ns'+ then Literal replacement+ else+ case transform removeName x of+ Formatted f' xs -> Formatted f' (Literal replacement : xs)+ _ -> Literal replacement+ replaceAll x = x+ removeName (Tagged (TagName _) _) = NullOutput+ removeName x = x+ replaceEach (Tagged (TagName n) _)+ | n `elem` names+ = Tagged (TagName n) (Literal replacement)+ replaceEach x = x+ replaceFirst num x@(Tagged (TagNames _ _ ns') _)+ -- a kludge to get this to type-check!+ | True = foldr (transform . replaceName) x $ take num ns'+ | False = Literal replacement+ replaceFirst _num x = x+ replaceName name (Tagged (TagName n) _)+ | n == name = Tagged (TagName n) (Literal replacement)+ replaceName _ x = x+ numberOfMatches (a:as) (b:bs)+ | a == b = 1 + numberOfMatches as bs+ | otherwise = 0+ numberOfMatches _ _ = 0++data DisambData =+ DisambData+ { ddItem :: ItemId+ , ddNames :: [Name]+ , ddDates :: [Date]+ } deriving (Eq, Ord, Show)++disambiguateCitations :: CiteprocOutput a+ => Style a+ -> M.Map ItemId [SortKeyValue]+ -> [Citation a]+ -> Eval a [Output a]+disambiguateCitations style bibSortKeyMap citations = do+ refs <- unReferenceMap <$> gets stateRefMap+ let refIds = M.keys refs+ let citeIds = Set.fromList $+ concatMap (map citationItemId . citationItems) citations+ let ghostCitations = [Citation Nothing Nothing+ [CitationItem ident Nothing Nothing+ NormalCite Nothing Nothing]+ | ident <- refIds+ , not (ident `Set.member` citeIds)]+ allCites <- withRWST (\ctx st -> (ctx,+ st { stateLastCitedMap = mempty })) $+ mapM (evalLayout False (styleCitation style))+ (zip [1..] (citations ++ ghostCitations))++ styleOpts <- asks contextStyleOptions+ let strategy = styleDisambiguation styleOpts+ let allNameGroups = [ns | Tagged (TagNames _ _ ns) _ <-+ concatMap universe allCites]+ let allNames = nubOrd $ concat allNameGroups+ let primaryNames = nubOrd $ concatMap (take 1) allNameGroups+ allCites' <-+ case disambiguateAddGivenNames strategy of+ Nothing -> return allCites+ Just ByCite -> return allCites -- do this later+ Just rule -> do -- disambiguate names, not just citations+ let relevantNames =+ case rule of+ PrimaryNameWithInitials -> primaryNames+ PrimaryName -> primaryNames+ _ -> allNames+ let familyNames = nubOrd $ mapMaybe nameFamily relevantNames+ let grps = map (\name ->+ [v | v <- relevantNames+ , nameFamily v == Just name])+ familyNames+ let toHint names name =+ if any (initialsMatch name) (filter (/= name) names)+ then+ case rule of+ AllNamesWithInitials -> Nothing+ PrimaryNameWithInitials -> Nothing+ PrimaryName -> Just AddGivenNameIfPrimary+ _ -> Just AddGivenName+ else+ case rule of+ PrimaryNameWithInitials -> Just AddInitialsIfPrimary+ PrimaryName -> Just AddInitialsIfPrimary+ _ -> Just AddInitials+ let namesMap = mconcat $ map+ (\names -> if length names > 1+ then foldr+ (\name ->+ case toHint names name of+ Just x -> M.insert name x+ Nothing -> id)+ mempty+ names+ else mempty) grps+ -- use this same names map for every citation+ modify $ \st ->+ st{ stateRefMap = ReferenceMap $+ foldr+ (M.adjust (alterReferenceDisambiguation+ (\d -> d{ disambNameMap = namesMap })))+ (unReferenceMap $ stateRefMap st)+ refIds }+ -- redo citations+ withRWST (\ctx st -> (ctx,+ st { stateLastCitedMap = mempty })) $+ mapM (evalLayout False (styleCitation style))+ (zip [1..] (citations ++ ghostCitations))++ case getAmbiguities allCites' of+ [] -> return $ take (length citations) allCites'+ ambiguities -> do+ analyzeAmbiguities bibSortKeyMap strategy (map snd ambiguities)+ withRWST (\ctx st -> (ctx,+ st { stateLastCitedMap = mempty })) $+ mapM (evalLayout False (styleCitation style)) (zip [1..] citations)++ where+ analyzeAmbiguities :: M.Map ItemId [SortKeyValue]+ -> DisambiguationStrategy+ -> [[DisambData]]+ -> Eval a ()+ analyzeAmbiguities bibSortKeyMap' strategy ambiguities = do+ -- add names to et al.+ as1 <- if disambiguateAddNames strategy+ then mapM (tryAddNames (disambiguateAddGivenNames strategy))+ ambiguities+ else return ambiguities+ as2 <- case disambiguateAddGivenNames strategy of+ Just ByCite -> mapM tryAddGivenNames as1+ _ -> return as1+ as3 <- if disambiguateAddYearSuffix strategy+ then do+ addYearSuffixes bibSortKeyMap' as2+ return []+ else return as2+ mapM_ tryDisambiguateCondition as3++ isDisambiguated :: Maybe GivenNameDisambiguationRule+ -> Int -- et al min+ -> [DisambData]+ -> DisambData+ -> Bool+ isDisambiguated mbrule etAlMin xs x =+ all (\y -> x == y || disambiguatedName y /= disambiguatedName x) xs+ where+ disambiguatedName = nameParts . take etAlMin . ddNames+ nameParts =+ case mbrule of+ Just AllNames -> id+ Just AllNamesWithInitials ->+ map (\name -> name{ nameGiven = initialize True False ""+ <$> nameGiven name })+ Just PrimaryName ->+ \case+ [] -> []+ (z:zs) -> z : map (\name -> name{ nameGiven = Nothing }) zs+ Just PrimaryNameWithInitials ->+ \case+ [] -> []+ (z:zs) -> z{ nameGiven = initialize True False "" <$> nameGiven z } :+ map (\name -> name{ nameGiven = Nothing }) zs+ Just ByCite -> id -- hints will be added later+ _ -> map (\name -> name{ nameGiven = Nothing })++ tryAddNames mbrule bs = (case mbrule of+ Just ByCite -> bs <$ tryAddGivenNames bs+ _ -> return bs) >>= go 1+ -- if ByCite, we want to make sure that+ -- tryAddGivenNames is still applied, as+ -- calculation of "add names" assumes this.+ where+ maxnames = fromMaybe 0 . maximumMay . map (length . ddNames)+ go n as+ | n > maxnames as = return as+ | otherwise = do+ let ds = filter (isDisambiguated mbrule n as) as+ if null ds+ then go (n + 1) as+ else do+ modify $ \st ->+ st{ stateRefMap = ReferenceMap+ $ foldr (setEtAlNames (Just n) . ddItem)+ (unReferenceMap $ stateRefMap st) as }+ go (n + 1) (as \\ ds)++ tryAddGivenNames :: [DisambData]+ -> Eval a [DisambData]+ tryAddGivenNames as = do+ let correspondingNames =+ map (zip (map ddItem as)) $ transpose $ map ddNames as+ go [] _ = return []+ go (as' :: [DisambData]) (ns :: [(ItemId, Name)]) = do+ hintedIds <- Set.fromList . catMaybes <$>+ mapM (addNameHint (map snd ns)) ns+ return $ filter (\x -> ddItem x `Set.notMember` hintedIds) as'+ foldM go as correspondingNames++ addYearSuffixes bibSortKeyMap' as = do+ let allitems = concat as+ let companions a =+ sortOn+ (\it -> M.lookup (ddItem it) bibSortKeyMap')+ (concat [ x | x <- as, a `elem` x ])+ let groups = Set.map companions $ Set.fromList allitems+ let addYearSuffix item suff =+ modify $ \st ->+ st{ stateRefMap = ReferenceMap+ $ setYearSuffix suff item+ $ unReferenceMap+ $ stateRefMap st }+ mapM_ (\xs -> zipWithM addYearSuffix (map ddItem xs) [1..]) groups++ tryDisambiguateCondition as =+ case as of+ [] -> return ()+ xs -> modify $ \st ->+ st{ stateRefMap = ReferenceMap+ $ foldr (setDisambCondition True . ddItem)+ (unReferenceMap (stateRefMap st))+ xs }++ alterReferenceDisambiguation f r =+ r{ referenceDisambiguation = f <$>+ case referenceDisambiguation r of+ Nothing -> Just+ DisambiguationData+ { disambYearSuffix = Nothing+ , disambNameMap = mempty+ , disambEtAlNames = Nothing+ , disambCondition = False+ }+ Just x -> Just x }++ initialsMatch x y =+ case (nameGiven x, nameGiven y) of+ (Just x', Just y') ->+ initialize True False "" x' == initialize True False "" y'+ _ -> False++ addNameHint names (item, name) = do+ let familyMatches = [n | n <- names+ , n /= name+ , nameFamily n == nameFamily name]+ case familyMatches of+ [] -> return Nothing+ _ -> do+ let hint = if any (initialsMatch name) familyMatches+ then AddGivenName+ else AddInitials+ modify $ \st ->+ st{ stateRefMap = ReferenceMap+ $ setNameHint hint name item+ $ unReferenceMap (stateRefMap st) }+ return $ Just item++ setNameHint hint name = M.adjust+ (alterReferenceDisambiguation+ (\d -> d{ disambNameMap =+ M.insert name hint+ (disambNameMap d) }))++ setEtAlNames x = M.adjust+ (alterReferenceDisambiguation+ (\d -> d{ disambEtAlNames = x }))++ setYearSuffix x = M.adjust+ (alterReferenceDisambiguation+ (\d -> d{ disambYearSuffix = Just x }))++ setDisambCondition x = M.adjust+ (alterReferenceDisambiguation+ (\d -> d{ disambCondition = x }))++ getAmbiguities cs =+ filter ((> 1) . length . snd)+ $ mapMaybe+ (\zs ->+ case zs of+ ("",_):_ -> Nothing -- no printed form of citation+ (t, _):_ -> Just (t, map toDisambData $+ nubOrdOn fst $ map snd zs)+ [] -> Nothing)+ $ groupBy (\(x,_) (y,_) -> x == y)+ $ sortOn fst+ [let (tags, texts) = unzip $ takeNamesOrDate (universe x) in+ (T.unwords texts, (iid, (getNames tags, getDates tags)))+ | (Tagged (TagItem ty iid) x) <- concatMap universe cs,+ ty /= AuthorOnly]++ toDisambData (id', (ns', ds')) = DisambData id' ns' ds'++ -- take names, date, or citation-label (which also gets year suffix).+ takeNamesOrDate :: CiteprocOutput a => [Output a] -> [(Tag, Text)]+ takeNamesOrDate (Tagged t@TagNames{} x : xs) =+ (t, outputToText x) : takeNamesOrDate xs+ takeNamesOrDate (Tagged t@TagDate{} x : xs) =+ (t, outputToText x) : takeNamesOrDate xs+ takeNamesOrDate (Tagged t@TagCitationLabel x : xs) =+ (t, outputToText x) : takeNamesOrDate xs+ takeNamesOrDate (_ : xs) =+ takeNamesOrDate xs+ takeNamesOrDate [] = []++ getNames :: [Tag] -> [Name]+ getNames (TagNames _ _ ns : xs) = ns ++ getNames xs+ getNames (_ : xs) = getNames xs+ getNames [] = []++ getDates :: [Tag] -> [Date]+ getDates (TagDate d : xs) = d : getDates xs+ getDates (_ : xs) = getDates xs+ getDates [] = []++++groupAndCollapseCitations :: CiteprocOutput a+ => Text+ -> Maybe Text+ -> Maybe Text+ -> Maybe Collapsing+ -> Output a+ -> Output a+groupAndCollapseCitations citeGroupDelim yearSuffixDelim afterCollapseDelim+ collapsing (Formatted f xs) =+ case collapsing of+ Just CollapseCitationNumber ->+ Formatted f{ formatDelimiter = Nothing } $+ foldr collapseRange []+ (groupSuccessive isAdjacentCitationNumber xs)+ Just collapseType ->+ Formatted f{ formatDelimiter = Nothing } $+ foldr (collapseGroup collapseType) [] (groupWith sameNames xs)+ Nothing ->+ Formatted f $+ map (Formatted mempty{ formatDelimiter = Just citeGroupDelim })+ (groupWith sameNames xs)+ where+ -- Note that we cannot assume we've sorted by name,+ -- so we can't just use Data.ListgroupBy+ groupWith _ [] = []+ groupWith isMatched (z:zs) =+ (z : filter (isMatched z) zs) :+ groupWith isMatched (filter (not . isMatched z) zs)+ collapseRange ys zs+ | length ys >= 3+ , Just yhead <- headMay ys+ , Just ylast <- lastMay ys+ = Formatted mempty{ formatDelimiter = Just $ T.singleton enDash }+ [yhead, ylast] :+ if null zs+ then []+ else maybe NullOutput literal afterCollapseDelim : zs+ collapseRange ys zs =+ Formatted mempty{ formatDelimiter = formatDelimiter f } ys :+ if null zs+ then []+ else maybe NullOutput literal (formatDelimiter f) : zs+ collapseGroup _ [] zs = zs+ collapseGroup collapseType (y:ys) zs =+ let ys' = y : map (transform removeNames) ys+ ws = collapseYearSuffix collapseType ys'+ noCollapse = ws == y:ys+ noYearSuffixCollapse = ws == ys'+ hasLocator u = not $ null [x | x@(Tagged TagLocator _) <- universe u]+ -- https://github.com/citation-style-language/test-suite/issues/36 :+ flippedAfterCollapseDelim = collapseType == CollapseYear+ addCGDelim u [] = [u]+ addCGDelim u us =+ Formatted mempty{ formatSuffix =+ if noCollapse || noYearSuffixCollapse &&+ not (flippedAfterCollapseDelim &&+ hasLocator u)+ then Just citeGroupDelim+ else afterCollapseDelim <|>+ formatDelimiter f } [u] : us+ in Formatted mempty{ formatDelimiter = Nothing+ , formatSuffix =+ if null zs+ then Nothing+ else if noCollapse &&+ not flippedAfterCollapseDelim+ then formatDelimiter f+ else afterCollapseDelim <|>+ formatDelimiter f }+ (foldr addCGDelim [] ws) : zs+ collapseRanges = map rangifyGroup . groupSuccessive isSuccessive+ isSuccessive x y+ = case ([c | Tagged (TagYearSuffix c) _ <- universe x],+ [d | Tagged (TagYearSuffix d) _ <- universe y]) of+ ([c],[d]) -> d == c + 1+ _ -> False+ rangifyGroup zs+ | length zs >= 3+ , Just zhead <- headMay zs+ , Just zlast <- lastMay zs+ = Formatted mempty{ formatDelimiter = Just (T.singleton enDash) }+ [zhead, zlast]+ rangifyGroup [z] = z+ rangifyGroup zs = Formatted mempty{ formatDelimiter = yearSuffixDelim+ } zs+ yearSuffixGroup _ [x] = x+ yearSuffixGroup useRanges zs =+ Formatted mempty{ formatDelimiter = yearSuffixDelim }+ $ if useRanges then collapseRanges zs else zs+ collapseYearSuffix CollapseYearSuffix zs =+ reverse $ yearSuffixGroup False cur : items+ where+ (cur, items) = foldl' (goYearSuffix False) ([], []) zs+ collapseYearSuffix CollapseYearSuffixRanged zs =+ reverse $ yearSuffixGroup True cur : items+ where+ (cur, items) = foldl' (goYearSuffix True) ([], []) zs+ collapseYearSuffix _ zs = zs+ getDates x = [d | Tagged (TagDate d) _ <- universe x]+ getYears x = [map (\case+ DateParts (y:_) -> Just y+ _ -> Nothing) (dateParts d)+ | d <- getDates x+ , isNothing (dateLiteral d)]+ goYearSuffix useRanges (cur, items) item =+ case cur of+ [] -> ([item], items)+ (z:zs)+ | getYears z == getYears item+ -> (z:zs ++ [x | x@(Tagged (TagYearSuffix _) _) <- universe item],+ items)+ | otherwise -> ([item], yearSuffixGroup useRanges (z:zs) : items)++ isAdjacentCitationNumber+ (Tagged (TagItem _ _)+ (Formatted _f1 [Tagged (TagCitationNumber n1) _xs1]))+ (Tagged (TagItem _ _)+ (Formatted _f2 [Tagged (TagCitationNumber n2) _xs2]))+ = n2 == n1 + 1+ isAdjacentCitationNumber+ (Tagged (TagItem _ _) (Tagged (TagCitationNumber n1) _xs1))+ (Tagged (TagItem _ _) (Tagged (TagCitationNumber n2) _xs2))+ = n2 == n1 + 1+ isAdjacentCitationNumber _ _ = False+ sameNames (Tagged (TagItem ty1 _id1) x1)+ (Tagged (TagItem ty2 _id2) x2)+ | hasNoSuffix x1+ , hasNoSuffix x2+ , ty1 /= AuthorOnly+ , ty2 /= AuthorOnly+ = case (unFormat x1, unFormat x2) of+ (Tagged (TagNames t1 _nf1 ns1) ws1,+ Tagged (TagNames t2 _nf2 ns2) ws2)+ -> t1 == t2 && (if ns1 == ns2+ then not (null ns1) || ws1 == ws2+ else ws1 == ws2)+ -- case where it's just a date with no name or anything;+ -- we treat this as same name e.g. (1955a,b)+ (Tagged TagDate{} _, Tagged TagDate{} _)+ -> True+ -- case where title is substituted+ _ -> False+ sameNames _ _ = False+ hasNoSuffix (Formatted f' _) = isNothing (formatSuffix f')+ hasNoSuffix _ = True+ unFormat (Formatted _ (z:_)) = unFormat z+ unFormat x = x+groupAndCollapseCitations _ _ _ _ x = x++takeSeq :: Show a => (a -> a -> Bool) -> [a] -> ([a], [a])+takeSeq isAdjacent (x1 : x2 : rest)+ | isAdjacent x1 x2 = (x1:ys, zs)+ where (ys, zs) = takeSeq isAdjacent (x2:rest)+takeSeq _ (y:ys) = ([y], ys)+takeSeq _ [] = ([], [])++groupSuccessive :: Show a => (a -> a -> Bool) -> [a] -> [[a]]+groupSuccessive isAdjacent zs =+ case takeSeq isAdjacent zs of+ ([],_) -> []+ (xs,ys) -> xs : groupSuccessive isAdjacent ys+++evalSortKeys :: CiteprocOutput a+ => Layout a+ -> ItemId+ -> Eval a [SortKeyValue]+evalSortKeys layout citeId =+ withRWST (\ctx st -> (ctx{ contextInSortKey = True }, st)) $+ mapM (evalSortKey citeId) (layoutSortKeys layout)++evalSortKey :: CiteprocOutput a+ => ItemId+ -> SortKey a+ -> Eval a SortKeyValue+evalSortKey citeId (SortKeyMacro sortdir elts) = do+ refmap <- gets stateRefMap+ case lookupReference citeId refmap of+ Nothing -> return $ SortKeyValue (sortdir, Nothing)+ Just ref -> do+ k <- normalizeSortKey . toText .+ renderOutput defaultCiteprocOptions . grouped+ <$> withRWS newContext (mapM eElement elts)+ return $ SortKeyValue (sortdir, Just k)+ where+ newContext oldContext s =+ (oldContext, s{ stateReference = ref })+evalSortKey citeId (SortKeyVariable sortdir var) = do+ refmap <- gets stateRefMap+ SortKeyValue . (sortdir,) <$>+ case lookupReference citeId refmap >>= lookupVariable var of+ Nothing -> return Nothing+ Just (TextVal t) -> return $ Just $ normalizeSortKey t+ Just (NumVal i) -> return $ Just [T.pack $ printf "%09d" i]+ Just (FancyVal x) -> return $ Just $ normalizeSortKey $ toText x+ Just (NamesVal ns) ->+ Just . normalizeSortKey . mconcat . intersperse "," . map T.unwords+ <$> mapM getNamePartSortOrder ns+ Just (DateVal d) -> return $ Just [T.toLower $ dateToText d]++normalizeSortKey :: Text -> [Text]+normalizeSortKey =+ filter (not . T.null) .+ T.words .+ T.map (\c -> if isPunctuation c ||+ c == 'ʾ' || c == 'ʿ' -- ayn/hamza in transliterated arabic+ then ' '+ else c) .+ T.filter (/= '-')++-- Note! This prints negative (BC) dates as -(999,999,999 + y)+-- so they sort properly. Do not use out of context of sort keys.+dateToText :: Date -> Text+dateToText = mconcat . map (T.pack . go . coerce) . dateParts+ where+ go :: [Int] -> String+ go [] = ""+ go [y] = toYear y+ go [y,m] = toYear y <> printf "%02d" m+ go (y:m:d:_) = toYear y <> printf "%02d" m <> printf "%02d" d+ toYear :: Int -> String+ toYear y+ | y < 0 = printf "-%09d" (999999999 + y)+ | otherwise = printf "0%09d" y+++evalLayout :: CiteprocOutput a+ => Bool+ -> Layout a+ -> (Int, Citation a)+ -> Eval a (Output a)+evalLayout isBibliography layout (citationGroupNumber, citation) = do+ -- this is a hack to ensure that "ibid" detection will work+ -- correctly in a citation starting with an author-only:+ -- the combination AuthorOnly [SuppressAuthor] should not+ -- count against a later Ibid citation.+ let positions = case citationItems citation of+ (c:_) | citationItemType c == AuthorOnly -> [0..]+ _ -> [1..]+ items <- mapM evalItem (zip positions (citationItems citation))++ styleOpts <- asks contextStyleOptions+ let isNote = styleIsNoteStyle styleOpts++ -- see display_SecondFieldAlignMigratePunctuation.txt+ let moveSuffixInsideDisplay zs =+ case (lastMay zs, formatSuffix formatting) of+ (Just (Tagged (TagItem ct id') (Formatted f ys)), Just _) ->+ (\ys' -> initSafe zs +++ [Tagged (TagItem ct id') (Formatted f ys')]) <$>+ moveSuffixInsideDisplay ys+ (Just (Formatted f ys), Just suff)+ | isJust (formatDisplay f) ->+ Just $ initSafe zs +++ [Formatted f{ formatSuffix = Just+ (fromMaybe "" (formatSuffix f) <> suff) } ys]+ | otherwise -> (\ys' -> initSafe zs ++ [Formatted f ys']) <$>+ moveSuffixInsideDisplay ys+ _ -> Nothing+ let items' = if isNote+ then capitalizeInitialTerm items+ else items+ return $+ case moveSuffixInsideDisplay items' of+ Nothing -> formatted formatting items'+ Just items'' -> formatted formatting{ formatSuffix = Nothing } items''+ where+ formatting = layoutFormatting layout++ mbNoteNumber = citationNoteNumber citation+ secondFieldAlign (x:xs) =+ formatted mempty{ formatDisplay = Just DisplayLeftMargin } [x]+ : [formatted mempty{ formatDisplay = Just DisplayRightInline } xs]+ secondFieldAlign [] = []++ evalItem (positionInCitation :: Int, item) = do+ refmap <- gets stateRefMap+ position <- if isBibliography+ then return []+ else getPosition item+ citationGroupNumber+ mbNoteNumber+ positionInCitation++ let addLangToFormatting lang (Formatted f xs) =+ Formatted f{ formatLang = Just lang } xs+ addLangToFormatting _ x = x++ xs <- case lookupReference (citationItemId item) refmap of+ Just ref -> withRWST+ (\ctx st ->+ (ctx{ contextLocator = citationItemLocator item+ , contextLabel = citationItemLabel item+ , contextPosition = position+ },+ st{ stateReference = ref+ , stateUsedYearSuffix = False }))+ $ do xs <- mapM eElement (layoutElements layout)+ let mblang = parseLang <$>+ (lookupVariable "language" ref+ >>= valToText)+ return $+ case mblang of+ Nothing -> xs+ Just lang -> map+ (transform (addLangToFormatting lang)) xs+ Nothing -> do+ warn $ "citation " <> unItemId (citationItemId item) <>+ " not found"+ return [Literal $ addFontWeight BoldWeight+ $ fromText $ unItemId (citationItemId item) <> "?"]++ styleOpts <- asks contextStyleOptions+ let isNote = styleIsNoteStyle styleOpts++ -- we only update the map in the citations section+ unless isBibliography $ do+ lastCitedMap <- gets stateLastCitedMap+ let notenum = NumVal $ fromMaybe citationGroupNumber mbNoteNumber+ case M.lookup (citationItemId item) lastCitedMap of+ Nothing | isNote -> -- first citation+ modify $ \st ->+ st{ stateRefMap = ReferenceMap $+ M.adjust (\ref -> ref{ referenceVariables =+ M.insert "first-reference-note-number" notenum+ (referenceVariables ref)})+ (citationItemId item)+ (unReferenceMap $ stateRefMap st) }+ _ -> return ()++ unless (citationItemType item == AuthorOnly) $+ modify $ \st ->+ st{ stateLastCitedMap =+ M.insert (citationItemId item)+ (citationGroupNumber, mbNoteNumber, positionInCitation,+ case citationItems citation of+ [_] -> True+ [x,y] -> citationItemId x == citationItemId y+ && citationItemType x == AuthorOnly+ && citationItemType y == SuppressAuthor+ _ -> False,+ citationItemLabel item,+ citationItemLocator item)+ lastCitedMap }++ return $+ maybe id (\pref x -> grouped [Literal pref, x])+ (citationItemPrefix item)+ . maybe id (\suff x -> grouped [x, Literal suff])+ (citationItemSuffix item)+ . (\x -> case x of+ NullOutput -> x+ _ -> Tagged (TagItem (citationItemType item)+ (citationItemId item)) x)+ . formatted mempty+ . (if citationItemType item == AuthorOnly+ then filter isNames . concatMap universe+ else id)+ . (case citationItemPrefix item of+ Just t | isNote+ , ". " `T.isSuffixOf` (toText t)+ , T.count " " (toText t) > 1 -- exclude single word+ -> capitalizeInitialTerm+ _ -> id)+ . (if isBibliography+ then+ case styleSecondFieldAlign styleOpts of+ Just SecondFieldAlignFlush -> secondFieldAlign+ Just SecondFieldAlignMargin -> secondFieldAlign -- TODO?+ Nothing -> id+ else id)+ $ xs+++isNames :: Output a -> Bool+isNames (Tagged TagNames{} _) = True+isNames _ = False+++removeNames :: Output a -> Output a+removeNames (Tagged TagNames{} _) = NullOutput+removeNames x = x++capitalizeInitialTerm :: [Output a] -> [Output a]+capitalizeInitialTerm [] = []+capitalizeInitialTerm (z:zs) = go z : zs+ where+ go (Tagged TagTerm x) =+ Tagged TagTerm+ (formatted mempty{ formatTextCase = Just CapitalizeFirst } [x])+ go (Formatted f xs) = Formatted f (capitalizeInitialTerm xs)+ go (Tagged tg x) = Tagged tg (go x)+ go x = x++getPosition :: CitationItem a -> Int -> Maybe Int -> Int -> Eval a [Position]+getPosition item groupNum mbNoteNum posInGroup = do+ lastCitedMap <- gets stateLastCitedMap+ case M.lookup (citationItemId item) lastCitedMap of+ Nothing -> return [FirstPosition]+ Just (prevGroupNum, mbPrevNoteNum,+ prevPosInGroup, prevAloneInGroup, prevLabel, prevLoc) -> do+ isNote <- asks (styleIsNoteStyle . contextStyleOptions)+ nearNoteDistance <- fromMaybe 5 <$>+ asks (styleNearNoteDistance . contextStyleOptions)+ let noteNum = fromMaybe groupNum mbNoteNum+ let prevNoteNum = fromMaybe prevGroupNum mbPrevNoteNum+ return $+ (if isNote && noteNum - prevNoteNum < nearNoteDistance+ then (NearNote :)+ else id) .+ (if (groupNum == prevGroupNum &&+ posInGroup == prevPosInGroup + 1) ||+ (groupNum == prevGroupNum + 1 &&+ (((-) <$> mbNoteNum <*> mbPrevNoteNum) <= Just 1) &&+ posInGroup == 1 &&+ prevAloneInGroup)+ then case (prevLoc, citationItemLocator item) of+ (Nothing, Just _) -> (IbidWithLocator :) . (Ibid :)+ (Nothing, Nothing) -> (Ibid :)+ (Just _, Nothing) -> id+ (Just l1, Just l2)+ | l1 == l2+ , citationItemLabel item == prevLabel -> (Ibid :)+ | otherwise -> (IbidWithLocator :) . (Ibid :)+ else id)+ $ [Subsequent]+ +eElement :: CiteprocOutput a => Element a -> Eval a (Output a)+eElement (Element etype formatting) =+ case etype of+ EText textType ->+ withFormatting formatting (eText textType)+ ENumber var nform -> withFormatting formatting (eNumber var nform)+ EGroup isMacro els -> eGroup isMacro formatting els+ EChoose chooseParts -> eChoose chooseParts+ ELabel var termform pluralize ->+ eLabel var termform pluralize formatting+ EDate var dateType mbShowDateParts dps ->+ eDate var dateType mbShowDateParts dps formatting+ ENames vars namesFormat subst ->+ eNames vars namesFormat subst formatting++withFormatting :: CiteprocOutput a+ => Formatting -> Eval a (Output a) -> Eval a (Output a)+withFormatting (Formatting Nothing Nothing Nothing Nothing Nothing Nothing+ Nothing Nothing Nothing Nothing Nothing+ False False False) p+ = p+withFormatting formatting p = do+ -- Title case conversion only affects English-language items.+ lang <- asks (localeLanguage . contextLocale)+ ref <- gets stateReference+ let reflang = case M.lookup "language" (referenceVariables ref) of+ Just (TextVal t) -> Just $ parseLang t+ Just (FancyVal x) -> Just $ parseLang $ toText x+ _ -> Nothing+ let mainLangIsEn Nothing = False+ mainLangIsEn (Just l) = langLanguage l == "en"+ let isEnglish = case reflang of+ Just l -> mainLangIsEn (Just l)+ Nothing -> mainLangIsEn lang+ let formatting' = if formatTextCase formatting == Just TitleCase &&+ not isEnglish+ then formatting{ formatTextCase = Nothing }+ else formatting+ res <- p+ return $ formatted formatting' [res]++lookupTerm :: Term -> Eval a [(Term, Text)]+lookupTerm term = do+ terms <- asks (localeTerms . contextLocale)+ case M.lookup (termName term) terms of+ Just ts -> return $ [(term',t)+ | (term',t) <- ts+ , term <= term'+ ]+ Nothing -> return []++lookupTerm' :: CiteprocOutput a => Term -> Eval a (Output a)+lookupTerm' term = lookupTerm term >>= f+ where+ f [] =+ -- “verb-short” first falls back to “verb”, “symbol”+ -- first falls back to “short”, and “verb” and “short”+ -- both fall back to “long”.+ case termForm term of+ VerbShort -> lookupTerm' term{ termForm = Verb }+ Symbol -> lookupTerm' term{ termForm = Short }+ Verb -> lookupTerm' term{ termForm = Long }+ Short -> lookupTerm' term{ termForm = Long }+ _ -> return NullOutput+ f xs = case xs of+ [] -> return NullOutput+ ((_,t):_) -> return $+ if T.null t+ then NullOutput+ else Literal $ fromText t++pageRange :: CiteprocOutput a => Text -> Eval a (Output a)+pageRange x = do+ pageDelim <- lookupTerm'+ emptyTerm{ termName = "page-range-delimiter" }+ mbPageRangeFormat <- asks (stylePageRangeFormat . contextStyleOptions)+ let ranges = map T.strip $ T.groupBy+ (\c d -> not (c == ',' || c == '&' || d == ',' || d == '&'))+ x+ return $ formatted mempty{ formatDelimiter = Just " " }+ $ map (formatPageRange mbPageRangeFormat+ (case pageDelim of+ NullOutput -> literal $ T.singleton enDash+ delim -> delim)) ranges++enDash :: Char+enDash = '\x2013'++formatPageRange :: CiteprocOutput a+ => Maybe PageRangeFormat+ -> Output a+ -> Text+ -> Output a+formatPageRange _ _ "&" = literal "&"+formatPageRange _ _ "," = literal ","+formatPageRange mbPageRangeFormat delim t =+ let isDash '-' = True+ isDash '\x2013' = True+ isDash _ = False+ rangeParts = if "\\-" `T.isInfixOf` t+ then [T.replace "\\-" "-" t]+ else map T.strip $ T.split isDash t+ inRange pref xs+ | T.null pref = grouped (intersperse delim (map literal xs))+ | otherwise = grouped+ (literal pref : intersperse delim (map literal xs))+ changedDigits xs ys =+ length $ filter not $ zipWith (==) (xs ++ repeat ' ') ys+ minimal threshold pref x y =+ case T.commonPrefixes x y of+ Just (_comm, _erstx, resty) ->+ if T.length resty < threshold && T.length y >= threshold+ then inRange pref [x, T.takeEnd threshold y]+ else inRange pref [x, resty]+ Nothing -> inRange pref [x, y]+ in case rangeParts of+ [] -> NullOutput+ [w] -> literal w+ [w,v]+ | Nothing <- mbPageRangeFormat -> inRange mempty [w,v]+ | Just fmt <- mbPageRangeFormat -> do+ let wPrefix = T.dropWhileEnd isDigit w+ let vPrefix = T.dropWhileEnd isDigit v+ if wPrefix == vPrefix+ then do+ let pref = wPrefix+ let x = T.drop (T.length wPrefix) w+ let y = T.drop (T.length vPrefix) v+ let xlen = T.length x+ let ylen = T.length y+ let y' = if ylen < xlen+ then T.take (xlen - ylen) x <> y+ else y+ case fmt of+ PageRangeChicago+ | xlen < 3 -> inRange pref [x, y']+ | "00" `T.isSuffixOf` x -> inRange pref [x, y']+ | T.take 1 (T.takeEnd 2 x) == "0"+ -> minimal 1 pref x y'+ | xlen == 4+ , changedDigits (T.unpack x) (T.unpack y') >= 3+ -> inRange pref [x, y']+ | otherwise -> minimal 2 pref x y'+ PageRangeExpanded ->+ inRange mempty [pref <> x, pref <> y']+ PageRangeMinimal -> minimal 1 pref x y'+ PageRangeMinimalTwo -> minimal 2 pref x y'+ else inRange mempty [w,v]+ _ -> literal t++eText :: CiteprocOutput a => TextType -> Eval a (Output a)+eText (TextVariable varForm v) = do+ ref <- gets stateReference+ inSubstitute <- asks contextInSubstitute+ -- Note: we do book keeping on how many variables+ -- have been accessed and how many are nonempty,+ -- in order to properly handle the group element,+ -- which is implicitly conditional.+ case v of+ "id" -> do+ updateVarCount 1 1+ return $ Literal $ fromText $ coerce $ referenceId ref+ "type" -> do+ updateVarCount 1 1+ return $ Literal $ fromText $ referenceType ref+ "locator" -> do+ let handleAmpersands (Just t) | T.any (=='&') t = do+ ts <- lookupTerm emptyTerm { termName = "and"+ , termForm = Symbol }+ case ts of+ (_,x):_ -> return (Just $ T.replace "&" x t)+ [] -> return (Just t)+ handleAmpersands x = return x++ mbv <- asks contextLocator >>= handleAmpersands+ mbl <- asks contextLabel+ case mbv of+ Just x | isNothing mbl || mbl == Just "page" -> do+ updateVarCount 1 1+ Tagged TagLocator <$> pageRange x+ | otherwise -> do+ updateVarCount 1 1+ return $ Tagged TagLocator $+ formatPageRange Nothing+ (literal $ T.singleton enDash) x+ Nothing -> NullOutput <$ updateVarCount 1 0++ "year-suffix" -> do+ disamb <- gets (referenceDisambiguation . stateReference)+ case disamb >>= disambYearSuffix of+ Just x ->+ -- we don't update var count here; this doesn't+ -- count as a variable+ return $ Tagged (TagYearSuffix x)+ (Literal (fromText (showYearSuffix x)))+ Nothing -> return NullOutput++ "citation-number" -> do+ mbv <- askVariable v+ case mbv of+ Just (NumVal x) -> return $+ Tagged (TagCitationNumber x) $+ Literal $ fromText (T.pack (show x))+ _ -> do+ warn $ "citation-number not defined for " <>+ coerce (referenceId ref)+ return NullOutput++ "citation-label" -> do -- these need year suffix too+ mbv <- askVariable v+ mbsuff <- getYearSuffix+ case mbv of+ Just (TextVal t) -> return $+ Tagged TagCitationLabel $+ grouped $+ Literal (fromText t)+ : maybe [] (:[]) mbsuff+ Just (FancyVal x) -> return $+ Tagged TagCitationLabel $+ grouped $+ Literal x+ : maybeToList mbsuff+ _ -> do+ warn $ "citation-label of unknown type for " <>+ coerce (referenceId ref)+ return NullOutput++ _ -> do+ mbv <- if varForm == ShortForm+ then do+ mbval <- (<|>) <$> askVariable (v <> "-short")+ <*> askVariable v+ case mbval of+ Nothing -> return Nothing+ Just val -> do+ mbAbbrevs <- asks contextAbbreviations+ return $ Just $ fromMaybe val+ $ mbAbbrevs >>= lookupAbbreviation v val+ else askVariable v+ res <- case mbv of+ Just (TextVal x)+ | v == "page" -> pageRange x+ | otherwise -> return $ Literal $ fromText x+ Just (FancyVal x)+ | v == "page" -> pageRange (toText x)+ | otherwise -> return $ Literal x+ Just (NumVal x) -> return $ Literal+ $ fromText (T.pack (show x))+ _ -> return NullOutput+ when inSubstitute $+ modify $ \st -> -- delete variable so it isn't used again...+ st{ stateReference =+ let Reference id' type' d' m' = stateReference st+ in Reference id' type' d' (M.delete v m') }+ return res+eText (TextMacro name) = do+ warn $ "encountered unexpanded macro " <> name+ return NullOutput+eText (TextValue t) = return $ Literal $ fromText t+eText (TextTerm term) = do+ t' <- lookupTerm' term+ t'' <- if termName term == "no date"+ then do+ mbsuff <- getYearSuffix+ case mbsuff of+ Nothing -> return t'+ Just suff -> return $ grouped [t', suff]+ else return t'+ return $ Tagged TagTerm t''+++-- Numbers with prefixes or suffixes are never ordinalized+-- or rendered in roman numerals (e.g. “2E” remains “2E).+-- Numbers without affixes are individually transformed+-- (“2, 3” can become “2nd, 3rd”, “second, third” or “ii, iii”).+-- So, first we split on punctuation and spaces:+splitNums :: Text -> [Val a]+splitNums = map go . T.groupBy sameClass+ where+ go t = case readAsInt t of+ Just i -> NumVal i+ Nothing -> TextVal $ if t == "-"+ then T.singleton enDash+ else t+ sameClass c d = (isSepPunct c || isSpace c) ==+ (isSepPunct d || isSpace d)++--- punctuation that separates pages in a range+isSepPunct :: Char -> Bool+isSepPunct ',' = True+isSepPunct ';' = True+isSepPunct '-' = True+isSepPunct '\x2013' = True+isSepPunct _ = False++eLabel :: CiteprocOutput a+ => Variable+ -> TermForm+ -> Pluralize+ -> Formatting+ -> Eval a (Output a)+eLabel var termform pluralize formatting = do+ ref <- gets stateReference+ let getTerm :: CiteprocOutput a+ => Text -> Val a -> Eval a (Output a)+ getTerm termname x = do+ let determinePlural t+ | var == "number-of-volumes"+ , t /= "1" && t /= "0" = Plural+ | "\\-" `T.isInfixOf` t = Singular+ | length (splitNums t) > 1 = Plural+ -- see label_CollapsedPageNumberPluralDetection.txt+ | otherwise = Singular+ let number = case pluralize of+ AlwaysPluralize -> Plural+ NeverPluralize -> Singular+ ContextualPluralize ->+ case x of+ TextVal t -> determinePlural t+ FancyVal w -> determinePlural (toText w)+ NamesVal ns -> if length ns > 1+ then Plural+ else Singular+ _ -> Singular+ let term = emptyTerm{ termName = termname+ , termForm = termform+ , termNumber = Just number }+ lookupTerm' term+ locator <- asks contextLocator+ label <- asks contextLabel+ let var' = if var == "editortranslator" then "editor" else var+ term' <- case (var, locator, label) of+ ("locator", Just loc, Just lab) -> getTerm lab (TextVal loc)+ ("locator", Just loc, Nothing)+ | beginsWithSpace loc -> return NullOutput+ | ". " `T.isPrefixOf` (T.dropWhile isLetter loc)+ -> return NullOutput+ | otherwise -> getTerm "page" (TextVal loc)+ ("page", Just loc, _) ->+ getTerm "page" (TextVal loc)+ _ -> case lookupVariable var' ref of+ Nothing -> return NullOutput+ Just x -> getTerm (fromVariable var) x++ return $+ case formatSuffix formatting of+ Just suff+ | "." `T.isPrefixOf` suff+ -> case term' of+ Literal x+ | "." `T.isSuffixOf` (toText x)+ , not (formatStripPeriods formatting)+ -> formatted+ formatting{ formatSuffix =+ if T.length suff <= 1+ then Nothing+ else Just (T.drop 1 suff) }+ [term']+ _ -> formatted formatting [term']+ _ -> formatted formatting [term']++eDate :: CiteprocOutput a+ => Variable+ -> DateType+ -> Maybe ShowDateParts+ -> [DP]+ -> Formatting+ -> Eval a (Output a)+eDate var dateType mbShowDateParts dps formatting+ | var == mempty = do+ warn "skipping date element with no variable attribute set"+ return NullOutput+ | otherwise = do+ datevar <- askVariable var+ localeDateElt <- M.lookup dateType <$> asks (localeDate . contextLocale)+ let addOverride newdps olddp accum =+ case find ((== dpName olddp) . dpName) newdps of+ Just x -> x{ dpFormatting =+ dpFormatting olddp <> dpFormatting x } : accum+ Nothing -> olddp : accum+ let useDatePart dp =+ case mbShowDateParts of+ Just Year -> dpName dp == DPYear+ Just YearMonth -> dpName dp == DPYear || dpName dp == DPMonth+ _ -> True+ let (dps', formatting') =+ case localeDateElt of+ Just (Element (EDate _ _ _ edps) f)+ -> (filter useDatePart $ foldr (addOverride dps) [] edps,+ formatting <> f)+ _ -> (filter useDatePart dps, formatting)+ case datevar of+ Nothing ->+ -- warn $ "date element for empty variable " <> var+ return NullOutput+ Just (DateVal date) ->+ case dateLiteral date of+ Just t -> return $ formatted formatting' [Literal $ fromText t]+ Nothing -> do+ let dateparts = case dateSeason date of+ Just i ->+ case dateParts date of+ [DateParts [y]] ->+ [DateParts [y, 12 + i]] -- pseudo-mo+ xs -> xs+ Nothing -> dateParts date+ xs <- formatDateParts dps'+ $ case dateparts of+ [] -> (DateParts [], Nothing)+ [d] -> (d, Nothing)+ (d:e:_) -> (d, Just e)+ when (all (== NullOutput) xs) $+ -- back off on the claim to nonemptiness+ -- when the only match are in date parts that+ -- we aren't printing; see+ -- group_SuppressTermWhenNoOutputFromPartialDate.txt+ updateVarCount 0 (-1)++ yearSuffix <- getYearSuffix+ return $ Tagged (TagDate date) $ formatted formatting'+ (xs ++ maybeToList yearSuffix)+ Just _ -> do+ warn $ "date element for variable with non-date value " <>+ fromVariable var+ return NullOutput+++getYearSuffix :: CiteprocOutput a => Eval a (Maybe (Output a))+getYearSuffix = do+ disamb <- gets (referenceDisambiguation . stateReference)+ sopts <- asks contextStyleOptions+ -- we only want year suffix on first occurence of year+ -- in a reference:+ usedYearSuffix <- gets stateUsedYearSuffix+ case disamb >>= disambYearSuffix of+ Just c+ | not (styleUsesYearSuffixVariable sopts)+ , not usedYearSuffix+ -> do+ modify $ \st -> st{ stateUsedYearSuffix = True }+ return $ Just $ Tagged (TagYearSuffix c)+ (Literal (fromText (showYearSuffix c)))+ | otherwise -> return Nothing+ Nothing -> return Nothing++++formatDateParts :: CiteprocOutput a+ => [DP] -> (DateParts, Maybe DateParts) -> Eval a [Output a]+formatDateParts dpSpecs (date, mbNextDate) = do+ let (yr,mo,da) = bindDateParts date+ case mbNextDate of+ Nothing -> mapM (eDP (yr,mo,da)) dpSpecs+ Just nextDate -> do+ let (nextyr,nextmo,nextda) = bindDateParts nextDate+ let isOpenRange = nextyr == Just 0 &&+ isNothing nextmo &&+ isNothing nextda+ -- figure out where the range goes:+ -- first to differ out of the items selected by dpSpecs, in order y->m->d+ let dpToNs DPYear = (yr, nextyr)+ dpToNs DPMonth = (mo, nextmo)+ dpToNs DPDay = (da, nextda)+ let areSame = takeWhile (uncurry (==) . dpToNs) $+ sort $ map dpName dpSpecs+ let (sames1, rest) = span (\dp -> dpName dp `elem` areSame) dpSpecs+ let (diffs, sames2) = span (\dp -> dpName dp `notElem` areSame) rest+ let cleanup = filter (/= NullOutput)+ sames1' <- cleanup <$> mapM (eDP (yr,mo,da)) sames1+ diffsLeft' <- cleanup <$> mapM (eDP (yr,mo,da)) diffs+ diffsRight' <- cleanup <$> mapM (eDP (nextyr,nextmo,nextda)) diffs+ sames2' <- cleanup <$> mapM (eDP (yr,mo,da)) sames2+ let rangeDelim = case sortOn dpName diffs of+ [] -> Nothing+ (dp:_) -> Just $ dpRangeDelimiter dp+ let toRange xs ys =+ case lastMay xs of+ Just xlast ->+ initSafe xs +++ [Formatted mempty{ formatDelimiter = rangeDelim }+ [xlast, headDef (Literal mempty) ys]] +++ tailSafe ys+ _ -> xs ++ ys++ return $+ if isOpenRange+ then [Formatted mempty{ formatSuffix = rangeDelim }+ (removeLastSuffix $ sames1' ++ diffsLeft')]+ else removeLastSuffix $+ sames1' +++ toRange (removeLastSuffix diffsLeft')+ (removeFirstPrefix diffsRight') +++ sames2'++removeFirstPrefix :: [Output a] -> [Output a]+removeFirstPrefix (Formatted f xs : rest) =+ Formatted f{ formatPrefix = Nothing } xs : rest+removeFirstPrefix xs = xs++removeLastSuffix :: [Output a] -> [Output a]+removeLastSuffix [] = []+removeLastSuffix [Formatted f xs] =+ [Formatted f{ formatSuffix = Nothing } xs ]+removeLastSuffix (x:xs) = x : removeLastSuffix xs++eDP :: CiteprocOutput a+ => (Maybe Int, Maybe Int, Maybe Int) -> DP -> Eval a (Output a)+eDP (yr,mo,da) dp = do+ let mbn = case dpName dp of+ DPDay -> da+ DPMonth -> mo+ DPYear -> yr+ case mbn of+ Nothing -> return NullOutput+ Just 0 | dpName dp == DPYear+ -> return $ Literal mempty -- open date range+ Just n -> do+ let litStr = return . Literal . fromText . T.pack+ suffix <- case dpName dp of+ DPYear+ | n < 0+ -> (:[]) <$> lookupTerm' emptyTerm{ termName = "bc" }+ | n > 0+ , n < 1000+ -> (:[]) <$> lookupTerm' emptyTerm{ termName = "ad" }+ | otherwise -> return []+ _ -> return []+ let n' = case dpName dp of+ DPYear -> abs n+ _ -> n+ formatted (dpFormatting dp) . (:suffix) <$>+ case dpForm dp of+ DPNumeric -> litStr (show n')+ DPNumericLeadingZeros -> litStr (printf "%02d" n')+ DPOrdinal -> do+ locale <- asks contextLocale+ if localeLimitDayOrdinalsToDay1 locale == Just True && n' /= 1+ then litStr (show n')+ else evalNumber NumberOrdinal Nothing (NumVal n')+ form -> do+ let termForMonth s = emptyTerm{ termName = T.pack s+ , termForm = if form == DPShort+ then Short+ else Long }++ case dpName dp of+ DPMonth | n <= 0 -> return NullOutput+ | n <= 12 ->+ lookupTerm' $ termForMonth (printf "month-%02d" n)+ | n <= 16 -> -- season pseudo-month+ lookupTerm' $ termForMonth (printf "season-%02d" (n - 12))+ | n <= 20 -> -- season pseudo-month+ lookupTerm' $ termForMonth (printf "season-%02d" (n - 16))+ | otherwise -> -- season pseudo-month+ lookupTerm' $ termForMonth (printf "season-%02d" (n - 20))+ _ -> litStr (show n')+++bindDateParts :: DateParts -> (Maybe Int, Maybe Int, Maybe Int)+bindDateParts date =+ case date of+ DateParts (y:m:d:_) -> (Just y,Just m,Just d)+ DateParts [y,m] -> (Just y,Just m,Nothing)+ DateParts [y] -> (Just y,Nothing,Nothing)+ _ -> (Nothing,Nothing,Nothing)++eNames :: CiteprocOutput a+ => [Variable]+ -> NamesFormat+ -> [Element a]+ -> Formatting+ -> Eval a (Output a)+eNames vars namesFormat' subst formatting = do+ substituteNamesForm <- asks contextSubstituteNamesForm+ inSortKey <- asks contextInSortKey+ let namesFormat =+ case substituteNamesForm of+ Nothing -> namesFormat'+ Just subs ->+ NamesFormat+ { namesLabel =+ if inSortKey -- see test/csl/sort_DropNameLabelInSort.txt+ -- though this doesn't seem to be in the spec+ then Nothing+ else namesLabel namesFormat' <|> namesLabel subs+ , namesEtAl = namesEtAl namesFormat' <|>+ namesEtAl subs+ , namesName = namesName namesFormat' <|>+ namesName subs+ , namesLabelBeforeName =+ if isJust (namesName namesFormat') &&+ isJust (namesLabel namesFormat')+ then namesLabelBeforeName namesFormat'+ else namesLabelBeforeName subs+ }++ vars' <- if "editor" `elem` vars && "translator" `elem` vars+ then do+ ed <- askVariable "editor"+ tr <- askVariable "translator"+ let termform =+ case namesLabel namesFormat of+ Just (termform', _, _) -> termform'+ _ -> Long+ mbterm <- lookupTerm'+ emptyTerm{ termName = "editortranslator"+ , termForm = termform }+ if ed == tr && mbterm /= NullOutput+ then return $ "editortranslator" :+ [v | v <- vars+ , v /= "editor"+ , v /= "translator"]+ else return vars+ else return vars+ inSubstitute <- asks contextInSubstitute+ let (nameFormat, nameFormatting) =+ fromMaybe (defaultNameFormat, mempty) $ namesName namesFormat+ rawContribs <- mapM (\var -> (var,) <$>+ askVariable+ (if var == "editortranslator"+ then "editor"+ else var)) vars'+ if all (isNothing . snd) rawContribs+ then+ case subst of+ els@(_:_) | not inSubstitute -> do+ res <- withRWST+ (\ctx st -> (ctx{ contextInSubstitute = True+ , contextSubstituteNamesForm =+ Just namesFormat },+ st)) $ eSubstitute els+ return $+ case res of+ Tagged TagNames{} _ -> formatted formatting [res]+ -- important to have title (or whatever) tagged as+ -- substituting for Names, for purposes of+ -- disambiguation:+ _ -> formatted formatting+ [Tagged (TagNames "" namesFormat []) res]+ _ -> return NullOutput+ else do+ xs <- mapM (formatNames namesFormat nameFormat nameFormatting)+ rawContribs+ when inSubstitute $+ modify $ \st -> -- delete variables so they aren't used again...+ st{ stateReference =+ let Reference id' type' d' m' = stateReference st+ in Reference id' type' d' (foldr M.delete m'+ [v | (v, Just _) <- rawContribs ])}++ return $+ case nameForm nameFormat of+ CountName -> Literal $ fromText $ T.pack $ show $ length+ [name+ | Tagged (TagName name) _ <- concatMap universe xs]+ _ -> formatted formatting xs++eSubstitute :: CiteprocOutput a+ => [Element a]+ -> Eval a (Output a)+eSubstitute els =+ case els of+ [] -> return NullOutput+ (e:es) -> do+ res <- eElement e+ case res of+ NullOutput -> eSubstitute es+ _ -> return res++formatNames :: CiteprocOutput a+ => NamesFormat+ -> NameFormat+ -> Formatting+ -> (Variable, Maybe (Val a))+ -> Eval a (Output a)+formatNames namesFormat nameFormat formatting (var, Just (NamesVal names)) =+ do+ inSortKey <- asks contextInSortKey+ disamb <- gets (referenceDisambiguation . stateReference)+ names' <- zipWithM (formatName nameFormat formatting) [1..] names+ let delim' = fromMaybe (nameDelimiter nameFormat) $+ formatDelimiter formatting+ let delim = case (beginsWithSpace <$> formatSuffix formatting,+ endsWithSpace <$> formatPrefix formatting) of+ (Just True, Just True) -> T.strip delim'+ (Just True, _) -> T.stripStart delim'+ (_, Just True) -> T.stripEnd delim'+ _ -> delim'+ let numnames = length names'+ label <- case namesLabel namesFormat of+ Just (termform, pluralize, lf) | not inSortKey ->+ (:[]) <$> eLabel var termform pluralize lf+ _ -> return []+ mbAndTerm <- case nameAndStyle nameFormat of+ Just Symbol -> do+ ts <- lookupTerm emptyTerm { termName = "and"+ , termForm = Symbol }+ case ts of+ (_,x):_ -> return $ Just x+ [] -> return $ Just "&"+ Just _ -> fmap snd . listToMaybe <$>+ lookupTerm emptyTerm { termName = "and"+ , termForm = Long }+ Nothing -> return Nothing+ let etAlUseLast = nameEtAlUseLast nameFormat+ let etAlThreshold = case nameEtAlMin nameFormat of+ Just x | numnames >= x+ -> case (disamb >>= disambEtAlNames,+ nameEtAlUseFirst nameFormat) of+ (Just n, Just m) -> Just (max m n)+ (_, y) -> y+ _ -> Nothing+ let beforeLastDelim =+ case mbAndTerm of+ Nothing -> delim+ Just _ ->+ case nameDelimiterPrecedesLast nameFormat of+ PrecedesContextual+ | numnames > 2 -> delim+ | otherwise -> ""+ PrecedesAfterInvertedName+ -> case nameAsSortOrder nameFormat of+ Just NameAsSortOrderAll -> delim+ Just NameAsSortOrderFirst+ | numnames < 3 -> delim+ _ -> ""+ PrecedesAlways -> delim+ PrecedesNever -> ""+ let andPreSpace =+ if T.null beforeLastDelim+ then case formatSuffix formatting of+ Just t | endsWithSpace t -> ""+ _ -> " "+ else+ if endsWithSpace beforeLastDelim+ then ""+ else " "+ let andPostSpace = case formatPrefix formatting of+ Just t | beginsWithSpace t -> ""+ _ -> " "+ let mbAndDelim = case mbAndTerm of+ Nothing -> Nothing+ Just t -> Just (andPreSpace <> t <> andPostSpace)+ let etAlPreSpace = case formatSuffix formatting of+ Just t | endsWithSpace t -> ""+ _ -> " "+ let beforeEtAl =+ case nameDelimiterPrecedesEtAl nameFormat of+ PrecedesContextual+ | numnames > 2+ , etAlThreshold > Just 1 -> delim+ | otherwise -> etAlPreSpace+ PrecedesAfterInvertedName+ -> case nameAsSortOrder nameFormat of+ Just NameAsSortOrderAll -> delim+ Just NameAsSortOrderFirst+ | etAlThreshold < Just 2 -> delim+ _ -> etAlPreSpace+ PrecedesAlways -> delim+ PrecedesNever -> etAlPreSpace+ etAl <- case namesEtAl namesFormat of+ Just (term, f) -> withFormatting f{+ formatPrefix = removeDoubleSpaces <$>+ Just beforeEtAl <> formatPrefix f } $+ lookupTerm' emptyTerm{ termName = term }+ Nothing+ | etAlUseLast ->+ return $+ Formatted mempty{ formatPrefix = Just beforeEtAl }+ [literal "\x2026 "] -- ellipses+ | otherwise ->+ Formatted mempty{ formatPrefix = Just beforeEtAl }+ . (:[]) <$> lookupTerm' emptyTerm{ termName = "et-al" }+ let addNameAndDelim name idx+ | etAlThreshold == Just 0 = NullOutput+ | idx == 1 = name+ | idx == numnames+ , etAlUseLast+ , maybe False (idx - 1 >=) etAlThreshold+ = name+ | maybe False (idx - 1 >) etAlThreshold = NullOutput+ | maybe False (idx - 1 ==) etAlThreshold =+ if inSortKey+ then NullOutput+ else etAl+ | inSortKey = name+ | idx == numnames+ = formatted mempty{ formatPrefix =+ Just (beforeLastDelim <> fromMaybe "" mbAndDelim) }+ [name]+ | otherwise = formatted mempty{ formatPrefix = Just delim } [name]+ let names'' = zipWith addNameAndDelim names' [1..]+ -- we set delimiter to Nothing because we're handling delim+ -- manually, to allow for things like "and" and no final comma+ return $ Tagged (TagNames var namesFormat names)+ $ grouped $+ if namesLabelBeforeName namesFormat+ then label ++ names''+ else names'' ++ label++formatNames _ _ _ (var, Just _) = do+ warn $ "ignoring non-name value for variable " <> fromVariable var+ return NullOutput+formatNames _ _ _ (_, Nothing) = return NullOutput++formatName :: CiteprocOutput a+ => NameFormat -> Formatting -> Int -> Name -> Eval a (Output a)+formatName nameFormat formatting order name = do+ disamb <- gets (referenceDisambiguation . stateReference)+ let nameFormat' =+ case disambNameMap <$> disamb >>= M.lookup name of+ Nothing -> nameFormat+ Just AddInitials+ -> nameFormat{ nameForm = LongName }+ Just AddInitialsIfPrimary+ | order == 1 -> nameFormat{ nameForm = LongName }+ | otherwise -> nameFormat+ Just AddGivenName ->+ nameFormat{ nameForm = LongName+ , nameInitialize = False+ }+ Just AddGivenNameIfPrimary+ | order == 1 ->+ nameFormat{ nameForm = LongName+ , nameInitialize = False+ }+ | otherwise -> nameFormat+ Tagged (TagName name) <$>+ case nameLiteral name of+ Just t -> return $ formatted formatting+ $ maybe [literal t]+ (\f -> [Formatted f [literal t]])+ (nameFamilyFormatting nameFormat)+ Nothing -> getDisplayName nameFormat' formatting order name+++getNamePartSortOrder :: Name -> Eval a [Text]+getNamePartSortOrder name = do+ demoteNonDroppingParticle <-+ asks (styleDemoteNonDroppingParticle . contextStyleOptions)+ map (fromMaybe mempty) <$>+ case nameLiteral name of+ Nothing+ | isByzantineName name+ -> return $+ case demoteNonDroppingParticle of+ DemoteNever ->+ [nameNonDroppingParticle name <> nameFamily name,+ nameDroppingParticle name,+ nameGiven name,+ nameSuffix name]+ _ -> [nameFamily name,+ nameDroppingParticle name <>+ nameNonDroppingParticle name,+ nameGiven name,+ nameSuffix name]+ | otherwise+ -> return [nameFamily name,+ nameGiven name]+ Just n -> return [Just n]++literal :: CiteprocOutput a => Text -> Output a+literal = Literal . fromText++showYearSuffix :: Int -> Text+showYearSuffix x+ | x < 27 = T.singleton $ chr $ ord 'a' + (x - 1)+ | otherwise =+ let x' = x - 1+ in T.pack [chr (ord 'a' - 1 + (x' `div` 26)),+ chr (ord 'a' + (x' `mod` 26))]++initialize :: Bool -- ^ initialize+ -> Bool -- ^ with hyphen+ -> Text -- ^ initialize with (suffix)+ -> Text+ -> Text+initialize makeInitials useHyphen initializeWith =+ T.strip . T.replace " -" "-" . mconcat . map initializeWord . splitWords+ where+ -- Left values are already initials+ -- Right values are not+ splitWords =+ reverse . (\(ws,cs) ->+ case cs of+ [] -> ws+ [d] -> Left (T.singleton d) : ws+ _ -> Right (T.pack (reverse cs)) : ws) .+ T.foldl'+ (\(ws, cs) c ->+ case c of+ '.' | null cs -> (ws, [])+ | otherwise -> (Left (T.pack (reverse cs)) : ws, [])+ '-' | null cs -> (ws, ['-'])+ | otherwise -> (Right (T.pack (reverse cs)) : ws, ['-'])+ ' ' -> case cs of+ [] -> (ws, cs)+ [d] -> (Left (T.singleton d) : ws, [])+ _ -> (Right (T.pack (reverse cs)) : ws, [])+ _ -> (ws, c:cs))+ ([], mempty)+ addSuffix t+ | T.null t = mempty+ | otherwise = t <> initializeWith+ toInitial t =+ case T.uncons t of+ Just ('-', t') ->+ case T.uncons t' of+ Just (c, _)+ | isUpper c+ , useHyphen -> "-" <> T.toUpper (T.singleton c)+ | isUpper c -> T.toUpper (T.singleton c)+ _ -> mempty -- e.g. Ji-ping -> J. not J.-p.+ Just (c, t')+ | isUpper c ->+ case T.uncons t' of+ Just (d, t'')+ | isUpper d -- see test/csl/name_LongAbbreviation.txt+ , not (T.null t'')+ , T.all isLower t''+ -> T.singleton c <> T.toLower (T.singleton d)+ _ -> T.singleton c+ _ -> t+ initializeWord (Left t) -- Left values already initialized+ = addSuffix t+ initializeWord (Right t) -- Right values not already initialized+ | T.all isLower t = if endsWithSpace initializeWith+ then t <> " "+ else " " <> t <> " "+ | makeInitials = (addSuffix . toInitial) t+ | otherwise = t <> " "++getDisplayName :: CiteprocOutput a+ => NameFormat -> Formatting -> Int -> Name -> Eval a (Output a)+getDisplayName nameFormat formatting order name = do+ inSortKey <- asks contextInSortKey+ demoteNonDroppingParticle <-+ asks (styleDemoteNonDroppingParticle . contextStyleOptions)+ initializeWithHyphen <-+ asks (styleInitializeWithHyphen . contextStyleOptions)+ let initialize' =+ case nameFamily name of+ Nothing -> id+ Just _ ->+ case nameInitializeWith nameFormat of+ Just initializeWith ->+ initialize+ (nameInitialize nameFormat)+ initializeWithHyphen+ initializeWith+ Nothing -> id+ let separator = nameSortSeparator nameFormat+ let x <+> NullOutput = x+ NullOutput <+> x = x+ Literal x <+> y =+ case T.unsnoc (toText x) of+ Just (_, c) | c == '’' || c == '\'' || c == '-' || c == '\x2013' ->+ formatted mempty [Literal x, y]+ _ | isByzantineName name ->+ formatted mempty{ formatDelimiter = Just " " } [Literal x, y]+ | otherwise -> formatted mempty [Literal x, y]+ Formatted f x <+> y =+ formatted mempty{ formatDelimiter =+ case formatSuffix f of+ Just t | endsWithSpace t -> Nothing+ _ -> Just " " } [formatted f x, y]+ Tagged _ x <+> y = x <+> y+ InNote x <+> y = x <+> y+ let x <:> NullOutput = x+ NullOutput <:> x = x+ Literal x <:> y =+ formatted mempty{ formatDelimiter = Just separator } [Literal x, y]+ Formatted f x <:> y = formatted+ (mempty{ formatDelimiter = Just separator }) [Formatted f x, y]+ Tagged _ x <:> y = x <:> y+ InNote x <:> y = x <:> y++ let familyAffixes = formatted+ (case nameFamilyFormatting nameFormat of+ Nothing -> mempty+ Just f -> mempty{ formatSuffix = formatSuffix f+ , formatPrefix = formatPrefix f })+ let givenAffixes = formatted+ (case nameGivenFormatting nameFormat of+ Nothing -> mempty+ Just f -> mempty{ formatSuffix = formatSuffix f+ , formatPrefix = formatPrefix f })+ let familyFormatting = formatted+ (case nameFamilyFormatting nameFormat of+ Nothing -> mempty+ Just f -> f{ formatSuffix = Nothing+ , formatPrefix = Nothing })+ let givenFormatting = formatted+ (case nameGivenFormatting nameFormat of+ Nothing -> mempty+ Just f -> f{ formatSuffix = Nothing+ , formatPrefix = Nothing })+ let nonDroppingParticle =+ maybe NullOutput (familyFormatting . (:[]) . literal) $+ nameNonDroppingParticle name+ let droppingParticle =+ maybe NullOutput (givenFormatting . (:[]) . literal) $+ nameDroppingParticle name+ let given =+ maybe NullOutput (givenFormatting . (:[]) . literal . initialize') $+ nameGiven name+ let family =+ maybe NullOutput (familyFormatting . (:[]) . literal) $+ nameFamily name+ let suffix = maybe NullOutput literal $ nameSuffix name+ let useSortOrder = inSortKey ||+ case nameAsSortOrder nameFormat of+ Just NameAsSortOrderAll -> True+ Just NameAsSortOrderFirst -> order == 1+ _ -> False+ return $ formatted formatting . (:[]) $+ if isByzantineName name+ then+ case nameForm nameFormat of+ LongName+ | demoteNonDroppingParticle == DemoteNever ||+ demoteNonDroppingParticle == DemoteSortOnly+ , useSortOrder->+ familyAffixes+ [ nonDroppingParticle <+>+ family ] <:>+ givenAffixes+ [ given <+>+ droppingParticle ] <:>+ suffix+ | demoteNonDroppingParticle == DemoteDisplayAndSort+ , useSortOrder->+ familyAffixes+ [ family ] <:>+ givenAffixes+ [ given <+>+ droppingParticle <+>+ nonDroppingParticle ] <:>+ suffix+ | nameCommaSuffix name ->+ givenAffixes+ [ given ] <+>+ familyAffixes+ [ droppingParticle <+>+ nonDroppingParticle <+>+ family <:>+ suffix ]+ | otherwise ->+ givenAffixes+ [ given ] <+>+ familyAffixes+ [ droppingParticle <+>+ nonDroppingParticle <+>+ family <+>+ suffix ]+ ShortName ->+ familyAffixes+ [ nonDroppingParticle <+>+ family ]+ CountName -> NullOutput+ else+ case nameForm nameFormat of+ LongName -> grouped+ [ familyAffixes+ [ family ]+ , givenAffixes+ [ given ] ]+ ShortName -> familyAffixes+ [ family ]+ CountName -> NullOutput+++eGroup :: CiteprocOutput a+ => Bool -> Formatting -> [Element a] -> Eval a (Output a)+eGroup isMacro formatting els = do+ -- A group is suppressed if it directly or indirectly+ -- calls at least one variable but all of the variables+ -- it calls are empty.+ VarCount oldVars oldNonempty <- gets stateVarCount+ xs <- mapM eElement els+ VarCount newVars newNonempty <- gets stateVarCount+ -- see+ -- https://github.com/citation-style-language/documentation/blob/master/specification.rst#group+ -- "When a cs:group contains a child cs:macro, if the cs:macro is+ -- non-empty, it is treated as a non-empty variable for the purposes of+ -- determining suppression of the outer cs:group."+ when (isMacro && not (all (== NullOutput) xs)) $+ updateVarCount 1 1+ return $ if oldVars == newVars || newNonempty > oldNonempty+ then formatted formatting xs+ else NullOutput++eChoose :: CiteprocOutput a+ => [(Match, [Condition], [Element a])] -> Eval a (Output a)+eChoose [] = return NullOutput+eChoose ((match, conditions, els):rest) = do+ ref <- gets stateReference+ label <- asks contextLabel+ let disambiguate = maybe False+ disambCondition (referenceDisambiguation ref)+ positions <- asks contextPosition+ hasLocator <- isJust <$> asks contextLocator+ let isNumeric t = all+ (\chunk -> T.any isDigit chunk && not (T.any isSpace chunk)) $+ T.split (\c -> c == ',' || c == '-' || c == '&')+ (T.replace ", " "," . T.replace "& " "&" . T.replace ", " "," $ t)+ let testCondition cond =+ case cond of+ HasVariable "locator" -> hasLocator+ HasVariable t ->+ case lookupVariable t ref of+ Just (TextVal x) -> x /= mempty+ Just (FancyVal x) -> toText x /= mempty+ Just (NamesVal xs) -> not (null xs)+ Just _ -> True+ Nothing -> False+ HasType t -> lookupVariable "type" ref == Just (TextVal t)+ IsUncertainDate t -> case lookupVariable t ref of+ Just (DateVal d) -> dateCirca d+ _ -> False+ IsNumeric t -> case lookupVariable t ref of+ Just (NumVal _) -> True+ Just (TextVal x) -> isNumeric x+ Just (FancyVal x) -> isNumeric (toText x)+ _ -> False+ HasLocatorType t -> case label of+ Just "sub verbo" -> t == "sub-verbo"+ Just x -> toVariable x == t+ Nothing -> t == "page"+ HasPosition pos -> pos `elem` positions+ WouldDisambiguate -> disambiguate+ let matched = (case match of+ MatchAll -> all testCondition+ MatchAny -> any testCondition+ MatchNone -> not . any testCondition) conditions+ if matched+ then grouped <$> mapM eElement els+ else eChoose rest+++eNumber :: CiteprocOutput a => Variable -> NumberForm -> Eval a (Output a)+eNumber var nform = do+ mbv <- askVariable var+ varTerms <- lookupTerm emptyTerm { termName = fromVariable var }+ let mbGender = case varTerms of+ [] -> Nothing+ ((t,_):_) -> termGender t+ let nparts = case mbv of+ Just x@NumVal{} -> [x]+ Just (FancyVal x) -> splitNums (toText x)+ Just (TextVal t) -> splitNums t+ _ -> []+ grouped <$> mapM (evalNumber nform mbGender) nparts++evalNumber :: CiteprocOutput a+ => NumberForm -> Maybe TermGender -> Val a -> Eval a (Output a)+evalNumber form mbGender (NumVal i) = do+ let numterm s x = emptyTerm { termName = T.pack $ printf s x+ , termGenderForm = mbGender }+ let dectext = T.pack (show i)+ let twomatch = numterm "ordinal-%02d" (i `mod` 100)+ let onematch = numterm "ordinal-%02d" (i `mod` 10)+ let fallback = emptyTerm { termName = "ordinal" }+ case form of+ NumberNumeric -> return $ Literal $ fromText dectext+ NumberOrdinal -> do+ res <- (if i > 99+ then filter (\(t,_) -> termMatch t /= Just WholeNumber)+ else id) <$> lookupTerm twomatch+ case res of+ ((_,suff):_) ->+ return $ Literal $ fromText (dectext <> suff)+ [] -> do -- not an exact match+ res' <- (if i > 10+ then filter (\(t,_) ->+ isNothing (termMatch t) ||+ termMatch t == Just LastDigit)+ else id) <$> lookupTerm onematch+ case res' of+ ((_,suff):_) ->+ return $ Literal $ fromText (dectext <> suff)+ [] -> do+ res'' <- lookupTerm fallback+ case res'' of+ ((_,suff):_) ->+ return $ Literal $ fromText (dectext <> suff)+ [] -> do+ warn $ "no ordinal suffix found for " <> dectext+ return $ Literal $ fromText (T.pack (show i))+ NumberLongOrdinal+ | i >= 1+ , i <= 10 -> do+ res <- lookupTerm (numterm "long-ordinal-%02d" i)+ case res of+ ((_,t):_) -> return $ Literal $ fromText t+ [] -> evalNumber NumberOrdinal mbGender (NumVal i)+ | otherwise -> evalNumber NumberOrdinal mbGender (NumVal i)+ NumberRoman -> return $ Literal $ fromText $ toRomanNumeral i+evalNumber _ _ (TextVal t) = return $ Literal $ fromText t+evalNumber _ _ (FancyVal t) = return $ Literal t+evalNumber _ _ _ = return NullOutput+++warn :: Text -> Eval a ()+warn t = tell $ Set.singleton t++-- | Convert number < 4000 to lowercase roman numeral.+toRomanNumeral :: Int -> Text+toRomanNumeral x+ | x >= 4000 || x < 0 = T.pack (show x)+ | x >= 1000 = "m" <> toRomanNumeral (x - 1000)+ | x >= 900 = "cm" <> toRomanNumeral (x - 900)+ | x >= 500 = "d" <> toRomanNumeral (x - 500)+ | x >= 400 = "cd" <> toRomanNumeral (x - 400)+ | x >= 100 = "c" <> toRomanNumeral (x - 100)+ | x >= 90 = "xc" <> toRomanNumeral (x - 90)+ | x >= 50 = "l" <> toRomanNumeral (x - 50)+ | x >= 40 = "xl" <> toRomanNumeral (x - 40)+ | x >= 10 = "x" <> toRomanNumeral (x - 10)+ | x == 9 = "ix"+ | x >= 5 = "v" <> toRomanNumeral (x - 5)+ | x == 4 = "iv"+ | x >= 1 = "i" <> toRomanNumeral (x - 1)+ | x == 0 = ""+ | otherwise = T.pack (show x)++-- Gets variable while updating var count.+askVariable :: CiteprocOutput a => Variable -> Eval a (Maybe (Val a))+askVariable "page-first" = do+ res <- askVariable "page"+ case res of+ Just (TextVal t) ->+ return $ Just $ TextVal $ T.takeWhile (not . isSepPunct) t+ Just (FancyVal x) ->+ return $ Just $ TextVal $ T.takeWhile (not . isSepPunct) $ toText x+ Just (NumVal n) -> return $ Just $ NumVal n+ _ -> return Nothing+askVariable v = do+ ref <- gets stateReference+ case lookupVariable v ref of+ Just x -> do+ updateVarCount 1 1+ return $ Just x+ Nothing -> do+ updateVarCount 1 0+ return Nothing++citationLabel :: Reference a -> Val a+citationLabel ref = TextVal trigraph+ where+ trigraph = namepart <> datepart+ datepart = case datevars of+ [] -> ""+ (var:_) -> case M.lookup var varmap of+ Just (DateVal d) -> getYear d+ _ -> ""+ namepart = if "author" `elem` namevars+ then getNames "author"+ else case namevars of+ (n:_) -> getNames n+ _ -> "Xyz"+ varmap = referenceVariables ref+ vars = M.keys varmap+ namevars = [v | v <- vars, variableType v == NameVariable]+ datevars = [v | v <- vars, variableType v == DateVariable]+ getNames var = case M.lookup var varmap of+ Just (NamesVal ns) ->+ let x = case length ns of+ 1 -> 4+ n | n >= 4 -> 1+ | otherwise -> 2+ in mconcat $+ map (T.take x . fromMaybe "" . nameFamily)+ (take 4 ns)+ _ -> ""+ getYear d = case dateParts d of+ (DateParts (x:_):_) -> T.pack $ printf "%02d"+ $ x `mod` 100+ _ -> ""++removeDoubleSpaces :: Text -> Text+removeDoubleSpaces = T.replace " " " "++endsWithSpace :: Text -> Bool+endsWithSpace t = not (T.null t) && isSpace (T.last t)++beginsWithSpace :: Text -> Bool+beginsWithSpace t = not (T.null t) && isSpace (T.head t)+
+ src/Citeproc/Locale.hs view
@@ -0,0 +1,104 @@+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE OverloadedStrings #-}+module Citeproc.Locale+ ( parseLocale,+ getLocale,+ getPrimaryDialect+ )+where+import Citeproc.Types+import Citeproc.Element (runElementParser, pLocale)+import Citeproc.Data (localeFiles)+import qualified Data.Map as M+import Data.Text (Text)+import qualified Text.XML as X+import System.FilePath (takeExtension, dropExtension)+import qualified Data.Text as T+import Data.Default (def)+import qualified Data.Text.Lazy as TL+import Data.Text.Encoding (decodeUtf8)+import Control.Applicative ((<|>))++-- | Parse a CSL locale definition (XML). For information about+-- the format, see+-- <https://docs.citationstyles.org/en/stable/translating-locale-files.html>.+parseLocale :: Text -> Either CiteprocError Locale+parseLocale t =+ case X.parseText def $ TL.fromStrict t of+ Left e -> Left $ CiteprocXMLError (T.pack (show e))+ Right n -> runElementParser $ pLocale $ X.documentRoot n++primaryDialectMap :: M.Map Text Text+primaryDialectMap = M.fromList+ [ ("af", "af-ZA"),+ ("ar", "ar"),+ ("bg", "bg-BG"),+ ("ca", "ca-AD"),+ ("cs", "cs-CZ"),+ ("cy", "cy-GB"),+ ("da", "da-DK"),+ ("de", "de-DE"),+ ("el", "el-GR"),+ ("en", "en-US"),+ ("es", "es-ES"),+ ("et", "et-EE"),+ ("eu", "eu"),+ ("fa", "fa-IR"),+ ("fi", "fi-FI"),+ ("fr", "fr-FR"),+ ("he", "he-IL"),+ ("hr", "hr-HR"),+ ("hu", "hu-HU"),+ ("id", "id-ID"),+ ("is", "is-IS"),+ ("it", "it-IT"),+ ("ja", "ja-JP"),+ ("km", "km-KH"),+ ("ko", "ko-KR"),+ ("la", "la"),+ ("lt", "lt-LT"),+ ("lv", "lv-LV"),+ ("mn", "mn-MN"),+ ("nb", "nb-NO"),+ ("nl", "nl-NL"),+ ("nn", "nn-NO"),+ ("pl", "pl-PL"),+ ("pt", "pt-PT"),+ ("ro", "ro-RO"),+ ("ru", "ru-RU"),+ ("sk", "sk-SK"),+ ("sl", "sl-SI"),+ ("sr", "sr-RS"),+ ("sv", "sv-SE"),+ ("th", "th-TH"),+ ("tr", "tr-TR"),+ ("uk", "uk-UA"),+ ("vi", "vi-VN"),+ ("zh", "zh-CN")+ ]++-- | Retrieves the "primary dialect" corresponding to a langage,+-- e.g. "lt-LT" for "lt".+getPrimaryDialect :: Lang -> Maybe Lang+getPrimaryDialect l =+ parseLang <$> M.lookup (langLanguage l) primaryDialectMap++locales :: M.Map Lang (Either CiteprocError Locale)+locales = foldr go mempty localeFiles+ where+ go (fp, bs) m+ | takeExtension fp == ".xml"+ = let lang = parseLang $ T.pack $ dropExtension fp+ in M.insert lang (parseLocale $ decodeUtf8 bs) m+ | otherwise = m++-- | Retrieves the locale defined for the specified language.+-- Implements the locale fallback algorithm described in the CSL 1.0.1 spec.+getLocale :: Lang -> Either CiteprocError Locale+getLocale lang =+ case M.lookup lang locales+ <|>+ (getPrimaryDialect lang >>= \lang' -> M.lookup lang' locales) of+ Just loc -> loc+ Nothing -> Left $ CiteprocLocaleNotFound $ renderLang lang+
+ src/Citeproc/Pandoc.hs view
@@ -0,0 +1,288 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE ViewPatterns #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE FlexibleContexts #-}+{-# OPTIONS_GHC -fno-warn-orphans #-}+-- | This module defines a 'CiteprocOutput' instance for pandoc 'Inlines'.+module Citeproc.Pandoc+ ()+where+import Text.Pandoc.Definition+import Text.Pandoc.Builder as B+import Text.Pandoc.Walk+import qualified Data.Text as T+import qualified Data.Sequence as Seq+import Data.Text (Text)+import Citeproc.Types+import Citeproc.CaseTransform+import Control.Monad.Trans.State.Strict as S+import Control.Monad (unless, when)+import Data.Functor.Reverse+import Data.Char (isSpace, isAscii, isPunctuation, isAlphaNum)++instance CiteprocOutput Inlines where+ toText = stringify+ fromText t = (if " " `T.isPrefixOf` t+ then B.space+ else mempty) <>+ B.text t <> -- B.text eats leading/trailing spaces+ (if " " `T.isSuffixOf` t+ then B.space+ else mempty)+ dropTextWhile = dropTextWhile'+ dropTextWhileEnd = dropTextWhileEnd'+ addFontVariant x =+ case x of+ NormalVariant -> id+ SmallCapsVariant -> B.smallcaps+ addFontStyle x =+ case x of+ NormalFont -> id+ ItalicFont -> B.emph+ ObliqueFont -> B.emph+ addFontWeight x =+ case x of+ NormalWeight -> id+ LightWeight -> id+ BoldWeight -> B.strong+ addTextDecoration x =+ case x of+ NoDecoration -> B.spanWith ("",["nodecoration"],[])+ UnderlineDecoration -> B.underline+ addVerticalAlign x =+ case x of+ BaselineAlign -> id+ SubAlign -> B.subscript+ SupAlign -> B.superscript+ addTextCase mblang x =+ case x of+ Lowercase -> caseTransform mblang withLowercaseAll+ Uppercase -> caseTransform mblang withUppercaseAll+ CapitalizeFirst -> caseTransform mblang withCapitalizeFirst+ CapitalizeAll -> caseTransform mblang withCapitalizeWords+ SentenceCase -> caseTransform mblang withSentenceCase+ TitleCase -> caseTransform mblang withTitleCase+ addDisplay x =+ case x of+ DisplayBlock -> B.spanWith ("",["csl-block"],[])+ DisplayLeftMargin -> B.spanWith ("",["csl-left-margin"],[])+ DisplayRightInline -> B.spanWith ("",["csl-right-inline"],[])+ DisplayIndent -> B.spanWith ("",["csl-indent"],[])+ addQuotes = B.doubleQuoted . flipFlopQuotes DoubleQuote+ inNote = B.note . B.para .+ addTextCase Nothing CapitalizeFirst+ movePunctuationInsideQuotes+ = punctuationInsideQuotes+ mapText f = walk go+ where go (Str t) = Str (f t)+ go x = x+ addHyperlink t = B.link t ""++flipFlopQuotes :: QuoteType -> Inlines -> Inlines+flipFlopQuotes qt = B.fromList . map (go qt) . B.toList+ where+ go :: QuoteType -> Inline -> Inline+ go q (Quoted _ zs) =+ let q' = case q of+ SingleQuote -> DoubleQuote+ DoubleQuote -> SingleQuote+ in Quoted q' (map (go q') zs)+ go q (SmallCaps zs) = SmallCaps (map (go q) zs)+ go q (Superscript zs) = Superscript (map (go q) zs)+ go q (Subscript zs) = Subscript (map (go q) zs)+ go q (Span attr zs) = Span attr (map (go q) zs)+ go q (Emph zs) = Emph (map (go q) zs)+ go q (Underline zs) = Underline (map (go q) zs)+ go q (Strong zs) = Strong (map (go q) zs)+ go q (Strikeout zs) = Strikeout (map (go q) zs)+ go q (Cite cs zs) = Cite cs (map (go q) zs)+ go q (Link attr zs t) = Link attr (map (go q) zs) t+ go q (Image attr zs t) = Image attr (map (go q) zs) t+ go _ x = x++punctuationInsideQuotes :: Inlines -> Inlines+punctuationInsideQuotes = B.fromList . go . walk go . B.toList+ where+ startsWithMovable t =+ case T.uncons t of+ Just (c,_) -> c == '.' || c == ',' || c == '!' || c == '?'+ Nothing -> False+ go [] = []+ go (Quoted qt xs : Str t : rest)+ | startsWithMovable t+ = Quoted qt (xs ++ [Str (T.take 1 t) | not (endWithPunct True xs)]) :+ if T.length t == 1+ then go rest+ else Str (T.drop 1 t) : go rest+ go (x:xs) = x : go xs++endWithPunct :: Bool -> [Inline] -> Bool+endWithPunct _ [] = False+endWithPunct onlyFinal xs@(_:_) =+ case reverse (T.unpack $ stringify xs) of+ [] -> True+ -- covers .), .", etc.:+ (d:c:_) | isPunctuation d+ && not onlyFinal+ && isEndPunct c -> True+ (c:_) | isEndPunct c -> True+ | otherwise -> False+ where isEndPunct c = c `elem` (".,;:!?" :: String)++dropTextWhile' :: (Char -> Bool) -> Inlines -> Inlines+dropTextWhile' f ils = evalState (walkM go ils) True+ where+ go x = do+ atStart <- get+ if atStart+ then+ case x of+ Str t -> do+ let t' = T.dropWhile f t+ unless (T.null t') $+ put False+ return $ Str t'+ Space ->+ if f ' '+ then return $ Str ""+ else do+ put False+ return Space+ _ -> return x+ else return x+++dropTextWhileEnd' :: (Char -> Bool) -> Inlines -> Inlines+dropTextWhileEnd' f ils =+ getReverse $ evalState (walkM go $ Reverse ils) True+ where+ go x = do+ atEnd <- get+ if atEnd+ then+ case x of+ Str t -> do+ let t' = T.dropWhileEnd f t+ unless (T.null t') $+ put False+ return $ Str t'+ Space | f ' ' -> return $ Str ""+ _ -> return x+ else return x++-- taken from Text.Pandoc.Shared:++-- | Convert pandoc structure to a string with formatting removed.+-- Footnotes are skipped (since we don't want their contents in link+-- labels).+stringify :: Walkable Inline a => a -> T.Text+stringify = query go . walk (unNote . unQuote)+ where+ go :: Inline -> T.Text+ go Space = " "+ go SoftBreak = " "+ go (Str x) = x+ go (Code _ x) = x+ go (Math _ x) = x+ go (RawInline (Format "html") (T.unpack -> ('<':'b':'r':_)))+ = " " -- see #2105+ go LineBreak = " "+ go _ = ""++ unNote :: Inline -> Inline+ unNote (Note _) = Str ""+ unNote x = x++ unQuote :: Inline -> Inline+ unQuote (Quoted SingleQuote xs) =+ Span ("",[],[]) (Str "\8216" : xs ++ [Str "\8217"])+ unQuote (Quoted DoubleQuote xs) =+ Span ("",[],[]) (Str "\8220" : xs ++ [Str "\8221"])+ unQuote x = x+++caseTransform :: Maybe Lang+ -> CaseTransformer+ -> Inlines+ -> Inlines+caseTransform mblang f x =+ evalState (caseTransform' (unCaseTransformer f mblang) x) Start+++-- custom traversal which does not descend into+-- SmallCaps, Superscript, Subscript, Span "nocase" (implicit nocase)+caseTransform' :: (CaseTransformState -> Text -> Text)+ -> Inlines+ -> State CaseTransformState Inlines+caseTransform' f ils =+ case Seq.viewr (unMany ils) of+ xs Seq.:> Str t | not (Seq.null xs)+ , not (hasWordBreak t) -> do+ xs' <- mapM go xs+ st <- get+ when (st == AfterWordEnd || st == StartSentence || st == Start) $+ put BeforeLastWord+ x' <- go (Str t)+ return $ Many $ xs' Seq.|> x'+ _ -> mapM go ils+ where+ go (Str t) = Str . mconcat <$> mapM g (splitUp t)+ go Space = Space <$ g " "+ go (SmallCaps zs) = return' $ SmallCaps zs+ go (Superscript zs) = return' $ Superscript zs+ go (Subscript zs) = return' $ Subscript zs+ go (Span attr@(_,classes,_) zs)+ | "nocase" `elem` classes = do+ st <- get+ case st of+ AfterWordChar | classes == ["nocase"]+ -- we need to apply g to update the state:+ -> return' $ Span nullAttr zs+ _ -> return' $ Span attr zs+ | otherwise = Span attr <$> mapM go zs+ go (Emph zs) = Emph <$> mapM go zs+ go (Underline zs) = Underline <$> mapM go zs+ go (Strong zs) = Strong <$> mapM go zs+ go (Strikeout zs) = Strikeout <$> mapM go zs+ go (Quoted qt zs) = Quoted qt <$> mapM go zs+ go (Cite cs zs) = Cite cs <$> mapM go zs+ go (Link attr zs t) = (\x -> Link attr x t) <$> mapM go zs+ go (Image attr zs t) = (\x -> Image attr x t) <$> mapM go zs+ go x = return x++ -- we need to apply g to update the state:+ return' x = x <$ g (query fromStr x)++ fromStr (Str t) = t+ fromStr _ = mempty++ g :: Text -> State CaseTransformState Text+ g t = do+ st <- get+ put $ case T.unsnoc t of+ Nothing -> st+ Just (_,c)+ | c == '.' || c == '?' || c == '!' || c == ':' ->+ AfterSentenceEndingPunctuation+ | isAlphaNum c -> AfterWordChar+ | isSpace c+ , st == AfterSentenceEndingPunctuation -> StartSentence+ | isWordBreak c -> AfterWordEnd+ | otherwise -> AfterOtherPunctuation+ return $+ if T.all isAlphaNum t+ then f st t+ else t+ isWordBreak '-' = True+ isWordBreak '/' = True+ isWordBreak '\x2013' = True+ isWordBreak '\x2014' = True+ isWordBreak c = isSpace c+ hasWordBreak = T.any isWordBreak+ splitUp = T.groupBy sameType+ sameType c d =+ -- note that non-English characters get treated differently+ -- by titlecase transformation+ (isAscii c && isAlphaNum c && isAscii d && isAlphaNum d) ||+ (not (isAscii c) && isAlphaNum c && not (isAscii d) && isAlphaNum d) ||+ (isSpace c && isSpace d)
+ src/Citeproc/Style.hs view
@@ -0,0 +1,604 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE TupleSections #-}+module Citeproc.Style+ ( parseStyle+ , mergeLocales+ )+where+import Citeproc.Types+import Citeproc.Locale+import Citeproc.Element+import Data.Text (Text)+import Control.Monad (foldM)+import Control.Applicative ((<|>))+import qualified Text.XML as X+import qualified Data.Text as T+import qualified Data.Map as M+import Data.Semigroup+import Data.Maybe (fromMaybe, isNothing)+import Data.Default (def)+import qualified Data.Text.Lazy as TL+import Control.Monad.Trans.Reader (local)++import Debug.Trace++-- | Merge the locale specified by the first parameter, if any,+-- with the default locale of the style and locale definitions+-- in the style. The locale specified by the first parameter+-- overrides the style's defaults when there is a conflict.+mergeLocales :: Maybe Lang -> Style a -> Locale+mergeLocales mblang style =+ mconcat stylelocales <> deflocale -- left-biased union+ where+ getUSLocale = case getLocale (Lang "en" (Just"US")) of+ Right l -> l+ Left _ -> mempty+ lang = fromMaybe (Lang "en" (Just "US")) $+ mblang <|> styleDefaultLocale (styleOptions style)+ deflocale = case getLocale lang of+ Right l -> l+ Left _ -> getUSLocale+ primlang = getPrimaryDialect lang+ stylelocales = -- exact match to lang gets precedence+ [l | l <- styleLocales style+ , localeLanguage l == Just lang] +++ -- then match to primary dialect, if different+ [l | primlang /= Just lang+ , l <- styleLocales style+ , localeLanguage l == primlang] +++ -- then match to the two letter language+ [l | l <- styleLocales style+ , (langVariant <$> localeLanguage l) == Just Nothing+ , (langLanguage <$> localeLanguage l) ==+ Just (langLanguage lang)] +++ -- then locale with no lang+ [l | l <- styleLocales style+ , isNothing (localeLanguage l)]++++-- | Parse an XML stylesheet into a 'Style'. The first parameter+-- is a function that retrieves the text of the independent parent+-- of a dependent style, given a URL. (This might make an HTTP+-- request or retrieve the style locally.) If you aren't using+-- dependent styles, you may use `(\_ -> return mempty)`.+parseStyle :: Monad m+ => (Text -> m Text) -- ^ Function that takes a URL and retrieves+ -- text of independent parent+ -> Text -- ^ Contents of XML stylesheet+ -> m (Either CiteprocError (Style a))+parseStyle getIndependentParent t =+ -- first, see if it's a dependent or independent style+ case X.parseText def (TL.fromStrict t) of+ Left e -> return $ Left $ CiteprocXMLError (T.pack (show e))+ Right n -> do+ let attr = getAttributes $ X.documentRoot n+ let defaultLocale = parseLang <$> lookupAttribute "default-locale" attr+ let links = concatMap (getChildren "link") $ getChildren "info"+ (X.documentRoot n)+ case [getAttributes l+ | l <- links+ , lookupAttribute "rel" (getAttributes l) ==+ Just "independent-parent" ] of+ [] -> return $+ runElementParser $ pStyle defaultLocale $ X.documentRoot n+ (lattr:_) ->+ case lookupAttribute "href" lattr of+ Nothing -> return $ Left $ CiteprocXMLError+ "No href attribute on link to parent style"+ Just url -> do -- get parent style+ parentTxt <- getIndependentParent url+ case X.parseText def (TL.fromStrict parentTxt) of+ Left e -> return $ Left $ CiteprocXMLError (T.pack (show e))+ Right n' -> return $+ runElementParser $ pStyle defaultLocale $ X.documentRoot n'++pStyle :: Maybe Lang -> X.Element -> ElementParser (Style a)+pStyle defaultLocale node = do+ let attrmap = getInheritableNameAttributes node+ local (<> attrmap) $ do+ let attr = getAttributes node+ macroMap <- M.fromList <$> mapM pMacro (getChildren "macro" node)+ (cattr, citations)+ <- case getChildren "citation" node of+ [n] -> (getAttributes n,) <$> pLayout macroMap n+ [] -> parseFailure "No citation element present"+ _ -> parseFailure "More than one citation element present"+ (battr, bibliography) <- case getChildren "bibliography" node of+ [n] -> (\z -> (getAttributes n, Just z))+ <$> pLayout macroMap n+ [] -> return (mempty, Nothing)+ _ -> parseFailure+ "More than one bibliography element present"++ let disambiguateGivenNameRule =+ case lookupAttribute "givenname-disambiguation-rule" cattr of+ Just "all-names" -> AllNames+ Just "all-names-with-initials" -> AllNamesWithInitials+ Just "primary-name" -> PrimaryName+ Just "primary-name-with-initials" -> PrimaryNameWithInitials+ _ -> ByCite++ let disambigStrategy =+ DisambiguationStrategy+ { disambiguateAddNames =+ lookupAttribute "disambiguate-add-names" cattr == Just "true"+ , disambiguateAddGivenNames =+ case lookupAttribute "disambiguate-add-givenname" cattr of+ Just "true" -> Just disambiguateGivenNameRule+ _ -> Nothing+ , disambiguateAddYearSuffix =+ lookupAttribute "disambiguate-add-year-suffix" cattr ==+ Just "true"+ }++ let hasYearSuffixVariable+ (Element (EText (TextVariable _ "year-suffix")) _) = True+ hasYearSuffixVariable+ (Element (EGroup _ es) _) = any hasYearSuffixVariable es+ hasYearSuffixVariable+ (Element (EChoose []) _) = False+ hasYearSuffixVariable+ (Element (EChoose ((_,_,es):conds)) f) =+ any hasYearSuffixVariable es ||+ hasYearSuffixVariable (Element (EChoose conds) f)+ hasYearSuffixVariable _ = False+ let usesYearSuffixVariable =+ any hasYearSuffixVariable $+ layoutElements citations ++ maybe [] layoutElements bibliography++ let sOpts = StyleOptions+ { styleIsNoteStyle =+ case lookupAttribute "class" attr of+ Just "note" -> True+ Nothing -> True+ _ -> False+ , styleDefaultLocale = defaultLocale+ , styleDemoteNonDroppingParticle =+ case lookupAttribute "demote-non-dropping-particle" attr of+ Just "never" -> DemoteNever+ Just "sort-only" -> DemoteSortOnly+ _ -> DemoteDisplayAndSort+ , styleInitializeWithHyphen =+ maybe True (== "true") $+ lookupAttribute "initialize-with-hyphen" attr+ , stylePageRangeFormat =+ case lookupAttribute "page-range-format" attr of+ Just "chicago" -> Just PageRangeChicago+ Just "expanded" -> Just PageRangeExpanded+ Just "minimal" -> Just PageRangeMinimal+ Just "minimal-two" -> Just PageRangeMinimalTwo+ _ -> Nothing+ , stylePageRangeDelimiter =+ lookupAttribute "page-range-delimiter" attr+ , styleDisambiguation = disambigStrategy+ , styleNearNoteDistance =+ lookupAttribute "near-note-distance" attr >>= readAsInt+ , styleCiteGroupDelimiter =+ lookupAttribute "cite-group-delimiter" cattr <|>+ (", " <$ lookupAttribute "collapse" cattr)+ , styleLineSpacing =+ lookupAttribute "line-spacing" battr >>= readAsInt+ , styleEntrySpacing =+ lookupAttribute "entry-spacing" battr >>= readAsInt+ , styleHangingIndent =+ lookupAttribute "hanging-indent" battr == Just "true"+ , styleSecondFieldAlign =+ case lookupAttribute "second-field-align" battr of+ Just "flush" -> Just SecondFieldAlignFlush+ Just "margin" -> Just SecondFieldAlignMargin+ _ -> Nothing+ , styleSubsequentAuthorSubstitute =+ case lookupAttribute "subsequent-author-substitute"+ battr of+ Nothing -> Nothing+ Just t -> Just $+ SubsequentAuthorSubstitute t+ $ case lookupAttribute+ "subsequent-author-substitute-rule" battr of+ Just "complete-each" -> CompleteEach+ Just "partial-each" -> PartialEach+ Just "partial-first" -> PartialFirst+ _ -> CompleteAll+ , styleUsesYearSuffixVariable = usesYearSuffixVariable+ }+ locales <- mapM pLocale (getChildren "locale" node)+ let cslVersion = case lookupAttribute "version" attr of+ Nothing -> (0,0,0)+ Just t ->+ case map readAsInt (T.splitOn "." t) of+ (Just x : Just y : Just z :_) -> (x,y,z)+ (Just x : Just y : _) -> (x,y,0)+ (Just x : _) -> (x,0,0)+ _ -> (0,0,0)+ return $ Style+ { styleCslVersion = cslVersion+ , styleOptions = sOpts+ , styleCitation = citations+ , styleBibliography = bibliography+ , styleLocales = locales+ , styleAbbreviations = Nothing+ }++++pElement :: X.Element -> ElementParser (Element a)+pElement node =+ case X.nameLocalName (X.elementName node) of+ "date" -> pDate node+ "text" -> pText node+ "group" -> pGroup node+ "choose" -> pChoose node+ "number" -> pNumber node+ "label" -> pLabel node+ "names" -> pNames node+ name -> parseFailure $ "unknown element " <> show name++pChoose :: X.Element -> ElementParser (Element a)+pChoose node = do+ ifNodes <- mapM parseIf $ getChildren "if" node+ elseIfNodes <- mapM parseIf $ getChildren "else-if" node+ elseNodes <- mapM parseIf $ getChildren "else" node+ let parts = ifNodes ++ elseIfNodes ++ elseNodes+ return $ Element (EChoose parts) mempty++parseIf :: X.Element -> ElementParser (Match, [Condition], [Element a])+parseIf node = do+ let attr = getAttributes node+ let match = case lookupAttribute "match" attr of+ Just "any" -> MatchAny+ Just "none" -> MatchNone+ _ -> MatchAll+ let conditions =+ (case lookupAttribute "disambiguate" attr of+ Just "true" -> (WouldDisambiguate :)+ _ -> id) .+ (case lookupAttribute "is-numeric" attr of+ Just t -> \xs -> foldr ((:) . IsNumeric) xs (splitVars t)+ _ -> id) .+ (case lookupAttribute "is-uncertain-date" attr of+ Just t -> \xs -> foldr ((:) . IsUncertainDate) xs (splitVars t)+ _ -> id) .+ (case lookupAttribute "locator" attr of+ Just t -> \xs -> foldr ((:) . HasLocatorType) xs (splitVars t)+ _ -> id) .+ (case lookupAttribute "position" attr of+ Just t -> \xs ->+ foldr (\case+ "first" -> (HasPosition FirstPosition :)+ "ibid" -> (HasPosition Ibid :)+ "ibid-with-locator"+ -> (HasPosition IbidWithLocator :)+ "subsequent" -> (HasPosition Subsequent :)+ "near-note" -> (HasPosition NearNote :)+ _ -> id)+ xs (splitVars t)+ _ -> id) .+ (case lookupAttribute "type" attr of+ Just t -> \xs -> foldr ((:) . HasType) xs (T.words $ T.strip t)+ _ -> id) .+ (case lookupAttribute "variable" attr of+ Just t -> \xs -> foldr ((:) . HasVariable) xs (splitVars t)+ _ -> id) $ []+ elts <- mapM pElement $ allChildren node+ return (match, conditions, elts)++pNumber :: X.Element -> ElementParser (Element a)+pNumber node = do+ let attr = getAttributes node+ let formatting = getFormatting attr+ let variable = lookupAttribute "variable" attr+ let numform = case lookupAttribute "form" attr of+ Just "ordinal" -> NumberOrdinal+ Just "long-ordinal" -> NumberLongOrdinal+ Just "roman" -> NumberRoman+ _ -> NumberNumeric+ case variable of+ Nothing -> parseFailure "number element without required variable attribute"+ Just var -> return $ Element (ENumber (toVariable var) numform)+ formatting++pLabel :: X.Element -> ElementParser (Element a)+pLabel node = do+ let attr = getAttributes node+ let formatting = getFormatting attr+ let variable = toVariable $ fromMaybe "" $ lookupAttribute "variable" attr+ let labelform = case lookupAttribute "form" attr of+ Just "short" -> Short+ Just "verb" -> Verb+ Just "verb-short" -> VerbShort+ Just "symbol" -> Symbol+ _ -> Long+ let pluralize = case lookupAttribute "plural" attr of+ Just "always" -> AlwaysPluralize+ Just "never" -> NeverPluralize+ _ -> ContextualPluralize+ return $ Element (ELabel variable labelform pluralize) formatting++pNames :: X.Element -> ElementParser (Element a)+pNames node = do+ attr <- getNameAttributes node+ let formatting = getFormatting attr+ let variables = maybe [] splitVars $ lookupAttribute "variable" attr+ let pChild (nf,subst) n =+ case X.nameLocalName (X.elementName n) of+ "label" -> do+ e <- pLabel n+ case e of+ Element (ELabel _ labelform pluralize) f ->+ return ( nf{ namesLabel = Just (labelform, pluralize, f)+ , namesLabelBeforeName =+ isNothing (namesName nf) }+ , subst )+ _ -> parseFailure "pLabel returned something other than ELabel"+ "substitute" -> do+ els <- mapM pElement $ allChildren n+ return ( nf, els )+ "et-al" -> do+ res <- pEtAl n+ return ( nf{ namesEtAl = Just res }, subst )+ "name" -> do+ res <- pName n+ return ( nf{ namesName = Just res }, subst )+ name -> parseFailure $ "element " <> show name <>+ " not a valid child of names"+ (nameformat, subst) <-+ foldM pChild (NamesFormat Nothing Nothing Nothing False, [])+ (allChildren node)+ return $ Element (ENames variables nameformat subst) formatting++pEtAl :: X.Element -> ElementParser (Text, Formatting)+pEtAl node = do+ let attr = getAttributes node+ let formatting = getFormatting attr+ let term = fromMaybe "et-al" $ lookupAttribute "term" attr+ return (term, formatting)+++pName :: X.Element -> ElementParser (NameFormat, Formatting)+pName node = do+ attr <- getNameAttributes node+ let formatting = getFormatting attr+ let nameParts = map getAttributes $ getChildren "name-part" node+ let nameformat = NameFormat+ { nameGivenFormatting =+ case [nattr+ | nattr <- nameParts+ , lookupAttribute "name" nattr == Just "given" ] of+ (nattr:_) -> Just $ getFormatting nattr+ _ -> Nothing+ , nameFamilyFormatting =+ case [nattr+ | nattr <- nameParts+ , lookupAttribute "name" nattr == Just "family" ] of+ (nattr:_) -> Just $ getFormatting nattr+ _ -> Nothing+ , nameAndStyle =+ case lookupAttribute "and" attr of+ Just "text" -> Just Long+ Just "symbol" -> Just Symbol+ _ -> Nothing+ , nameDelimiter =+ fromMaybe ", " $ lookupAttribute "delimiter" attr+ , nameDelimiterPrecedesEtAl =+ case lookupAttribute "delimiter-precedes-et-al" attr of+ Just "after-inverted-name" -> PrecedesAfterInvertedName+ Just "always" -> PrecedesAlways+ Just "never" -> PrecedesNever+ _ -> PrecedesContextual+ , nameDelimiterPrecedesLast =+ case lookupAttribute "delimiter-precedes-last" attr of+ Just "after-inverted-name" -> PrecedesAfterInvertedName+ Just "always" -> PrecedesAlways+ Just "never" -> PrecedesNever+ _ -> PrecedesContextual+ , nameEtAlMin =+ (lookupAttribute "names-min" attr <|>+ lookupAttribute "et-al-min" attr) >>= readAsInt+ , nameEtAlUseFirst =+ (lookupAttribute "names-use-first" attr <|>+ lookupAttribute "et-al-use-first" attr) >>= readAsInt+ , nameEtAlSubsequentUseFirst =+ lookupAttribute "et-al-subsequent-use-first" attr >>= readAsInt+ , nameEtAlSubsequentMin =+ lookupAttribute "et-al-subsequent-min" attr >>= readAsInt+ , nameEtAlUseLast =+ case lookupAttribute "names-use-last" attr <|>+ lookupAttribute "et-al-use-last" attr of+ Just "true" -> True+ _ -> False+ , nameForm =+ case lookupAttribute "form" attr of+ Just "short" -> ShortName+ Just "count" -> CountName+ _ -> LongName+ , nameInitialize =+ case lookupAttribute "initialize" attr of+ Just "false" -> False+ _ -> True+ , nameInitializeWith =+ lookupAttribute "initialize-with" attr+ , nameAsSortOrder =+ case lookupAttribute "name-as-sort-order" attr of+ Just "all" -> Just NameAsSortOrderAll+ Just "first" -> Just NameAsSortOrderFirst+ _ -> Nothing+ , nameSortSeparator =+ fromMaybe ", " $ lookupAttribute "sort-separator" attr+ }+ return (nameformat, formatting)++pGroup :: X.Element -> ElementParser (Element a)+pGroup node = do+ let attr = getAttributes node+ let formatting = getFormatting attr+ es <- mapM pElement $ allChildren node+ return $ Element (EGroup False es) formatting++pText :: X.Element -> ElementParser (Element a)+pText node = do+ let attr = getAttributes node+ let formatting = getFormatting attr+ let varform = case lookupAttribute "form" attr of+ Just "short" -> ShortForm+ _ -> LongForm+ let termform = case lookupAttribute "form" attr of+ Just "short" -> Short+ Just "verb" -> Verb+ Just "verb-short" -> VerbShort+ Just "symbol" -> Symbol+ _ -> Long+ let termnumber = case lookupAttribute "plural" attr of+ Just "true" -> Just Plural+ Just "false" -> Just Singular+ _ -> Nothing+ elt <- case lookupAttribute "variable" attr of+ Just var -> return $ EText (TextVariable varform (toVariable var))+ Nothing ->+ case lookupAttribute "macro" attr of+ Just _ -> do+ elements <- mapM pElement (allChildren node)+ return $ EGroup True elements+ Nothing ->+ case lookupAttribute "term" attr of+ Just termname ->+ return $ EText (TextTerm+ Term { termName = termname+ , termForm = termform+ , termNumber = termnumber+ , termGender = Nothing+ , termGenderForm = Nothing+ , termMatch = Nothing+ })+ Nothing ->+ case lookupAttribute "value" attr of+ Just val ->+ return $ EText (TextValue val)+ Nothing ->+ parseFailure "text element lacks needed attribute"+ return $ Element elt formatting++pMacro :: X.Element -> ElementParser (Text, [X.Element])+pMacro node = do+ name <- case lookupAttribute "name" (getAttributes node) of+ Just t -> return t+ Nothing -> parseFailure "macro element missing name attribute"+ return (name, allChildren node)++-- these name and names attributes are inheritable from a parent style+-- citation or bibliography element. We use a map because+-- sometimes the name is different (e.g. name-form and form).+inheritableNameAttributes :: M.Map X.Name X.Name+inheritableNameAttributes = M.fromList $+ map (\(x,y) -> (attname x, attname y))+ [ ("and", "and")+ , ("delimiter-precedes-et-al", "delimiter-precedes-et-al")+ , ("delimiter-precedes-last", "delimiter-precedes-last")+ , ("et-al-min", "et-al-min")+ , ("et-al-use-first", "et-al-use-first")+ , ("et-al-use-last", "et-al-use-last")+ , ("et-al-subsequent-min", "et-al-subsequent-min")+ , ("et-al-subsequent-use-first", "et-al-subsequent-use-first")+ , ("initialize", "initialize")+ , ("initialize-with", "initialize-with")+ , ("name-as-sort-order", "name-as-sort-order")+ , ("sort-separator", "sort-separator")+ , ("name-form", "form")+ , ("name-delimiter", "delimiter")+ , ("names-delimiter", "delimiter")+ , ("names-min", "names-min")+ , ("names-use-first", "names-use-first")+ , ("names-use-last", "names-use-last")+ ]++getInheritableNameAttributes :: X.Element -> M.Map X.Name Text+getInheritableNameAttributes elt =+ M.foldrWithKey+ (\k v m -> case M.lookup k inheritableNameAttributes of+ Just k' -> M.insert k' v m+ Nothing -> m) M.empty (X.elementAttributes elt)++pLayout :: M.Map Text [X.Element] -> X.Element -> ElementParser (Layout a)+pLayout macroMap node = do+ let attrmap = getInheritableNameAttributes node+ let attr = getAttributes node+ local (<> attrmap) $ do+ node' <- expandMacros macroMap node+ let layouts = getChildren "layout" node'+ let formatting = mconcat $ map (getFormatting . getAttributes) layouts+ let sorts = getChildren "sort" node'+ elements <- mapM pElement (concatMap allChildren layouts)+ let opts = LayoutOptions+ { layoutCollapse =+ case lookupAttribute "collapse" attr of+ Just "citation-number" -> Just CollapseCitationNumber+ Just "year" -> Just CollapseYear+ Just "year-suffix" -> Just CollapseYearSuffix+ Just "year-suffix-ranged"+ -> Just CollapseYearSuffixRanged+ _ -> Nothing+ , layoutYearSuffixDelimiter =+ lookupAttribute "year-suffix-delimiter" attr <|>+ -- technically the spec doesn't say this, but+ -- this seems to be what the test suites want?:+ lookupAttribute "cite-group-delimiter" attr <|>+ formatDelimiter formatting+ , layoutAfterCollapseDelimiter =+ lookupAttribute "after-collapse-delimiter" attr <|>+ formatDelimiter formatting+ }+ sortKeys <- mapM pSortKey (concatMap (getChildren "key") sorts)+ return $ Layout { layoutOptions = opts+ , layoutFormatting = formatting{+ formatAffixesInside = True }+ , layoutElements = elements+ , layoutSortKeys = sortKeys+ }++pSortKey :: X.Element -> ElementParser (SortKey a)+pSortKey node = do+ let attrmap = getInheritableNameAttributes node+ local (<> attrmap) $ do+ let attr = getAttributes node+ let direction = case lookupAttribute "sort" attr of+ Just "descending" -> Descending+ _ -> Ascending+ case lookupAttribute "macro" attr of+ Just _ -> -- should already be expanded+ SortKeyMacro direction <$> mapM pElement (allChildren node)+ Nothing -> return $ SortKeyVariable direction+ (toVariable $ fromMaybe mempty $+ lookupAttribute "variable" attr)++attname :: Text -> X.Name+attname t = X.Name t Nothing Nothing++expandMacros :: M.Map Text [X.Element]+ -> X.Element+ -> ElementParser X.Element+expandMacros macroMap el =+ case X.nameLocalName (X.elementName el) of+ n | n == "text" ||+ n == "key" ->+ case M.lookup (attname "macro") (X.elementAttributes el) of+ Nothing -> do+ els' <- mapM expandNode (X.elementNodes el)+ return $ el{ X.elementNodes = els' }+ Just macroName ->+ case M.lookup macroName macroMap of+ Nothing ->+ parseFailure $ "macro " <> T.unpack macroName <> " not found"+ Just els -> do+ -- the expansion may contain further macros:+ els' <- mapM (fmap X.NodeElement . expandMacros macroMap) els+ return $ el{ X.elementNodes = els' }+ _ -> do+ els' <- mapM expandNode (X.elementNodes el)+ return $ el{ X.elementNodes = els' }+ where+ expandNode (X.NodeElement el') = X.NodeElement <$> expandMacros macroMap el'+ expandNode x = return x++splitVars :: Text -> [Variable]+splitVars = map toVariable . T.words . T.strip
+ src/Citeproc/Types.hs view
@@ -0,0 +1,1698 @@+{-# LANGUAGE CPP #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE DeriveFoldable #-}+{-# LANGUAGE DeriveTraversable #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE OverloadedStrings #-}+module Citeproc.Types+ ( CiteprocOptions(..)+ , defaultCiteprocOptions+ , CiteprocOutput(..)+ , addFormatting+ , CiteprocError(..)+ , prettyCiteprocError+ , ItemId(..)+ , CitationItem(..)+ , CitationItemType(..)+ , Citation(..)+ , ElementType(..)+ , Element(..)+ , NumberForm(..)+ , Pluralize(..)+ , DateType(..)+ , Date(..)+ , rawDateEDTF+ , DateParts(..)+ , ShowDateParts(..)+ , DPName(..)+ , DPForm(..)+ , DP(..)+ , VariableForm(..)+ , TextType(..)+ , NameFormat(..)+ , defaultNameFormat+ , NameAsSortOrder(..)+ , NamesFormat(..)+ , NameForm(..)+ , Name(..)+ , extractParticles+ , isByzantineName+ , DelimiterPrecedes(..)+ , Condition(..)+ , Position(..)+ , Match(..)+ , Formatting(..)+ , FontStyle(..)+ , FontVariant(..)+ , FontWeight(..)+ , TextDecoration(..)+ , VerticalAlign(..)+ , DisplayStyle(..)+ , TextCase(..)+ , DemoteNonDroppingParticle(..)+ , StyleOptions(..)+ , SubsequentAuthorSubstitute(..)+ , SubsequentAuthorSubstituteRule(..)+ , SecondFieldAlign(..)+ , PageRangeFormat(..)+ , Style(..)+ , TermMatch(..)+ , TermGender(..)+ , TermNumber(..)+ , TermForm(..)+ , Term(..)+ , emptyTerm+ , SortDirection(..)+ , SortKey(..)+ , SortKeyValue(..)+ , LayoutOptions(..)+ , Collapsing(..)+ , Layout(..)+ , DisambiguationStrategy(..)+ , GivenNameDisambiguationRule(..)+ , Lang(..)+ , parseLang+ , renderLang+ , Locale(..)+ , DisambiguationData(..)+ , NameHints(..)+ , Reference(..)+ , ReferenceMap(..)+ , makeReferenceMap+ , lookupReference+ , Val(..)+ , valToText+ , Variable+ , toVariable+ , fromVariable+ , lookupVariable+ , Output(..)+ , Tag(..)+ , outputToText+ , renderOutput+ , grouped+ , formatted+ , readAsInt+ , variableType+ , VariableType(..)+ , Abbreviations+ , lookupAbbreviation+ , Result(..)+ , Inputs(..)+ )+where+import qualified Data.Map as M+import qualified Data.Text.Read as TR+import qualified Data.Scientific as S+import qualified Data.CaseInsensitive as CI+import Data.Semigroup+import Control.Monad (foldM, guard, mzero)+import Control.Applicative ((<|>))+import Data.Char (isLower, isDigit, isLetter, isSpace)+import Data.Text (Text)+import qualified Data.Text as T+import Data.List (elemIndex)+import Data.Maybe+import qualified Data.Vector as V+import Data.Aeson (FromJSON (..), ToJSON (..), ToJSONKey (..),+ FromJSONKey (..), FromJSONKeyFunction (..),+ withArray, withObject, object, Value(..),+ (.:), (.:?), (.!=))+import Data.Aeson.Types (typeMismatch, Parser, toJSONKeyText)+import Data.Coerce+import Data.Generics.Uniplate.Direct+import qualified Data.Attoparsec.Text as P+import Safe (readMay)+import Data.String (IsString)++#ifdef MIN_VERSION_text_icu+import qualified Data.Text.ICU as ICU+#else+import qualified Data.RFC5051 as RFC5051+#endif++-- import Debug.Trace+-- import Text.Show.Pretty (ppShow)+--+-- ppTrace :: Show a => a -> a+-- ppTrace x = trace (ppShow x) x++-- | Options affecting the output in ways that go beyond+-- what can be specified in styles.+newtype CiteprocOptions =+ CiteprocOptions+ { linkCitations :: Bool+ -- ^ Create hyperlinks from citations to bibliography entries+ }+ deriving (Show, Eq)++defaultCiteprocOptions :: CiteprocOptions+defaultCiteprocOptions =+ CiteprocOptions+ { linkCitations = False }++data CiteprocError =+ CiteprocXMLError Text+ | CiteprocParseError Text+ | CiteprocLocaleNotFound Text+ deriving (Show, Eq)++prettyCiteprocError :: CiteprocError -> Text+prettyCiteprocError (CiteprocXMLError t) =+ "CiteprocXMLError: " <> t+prettyCiteprocError (CiteprocParseError t) =+ "CiteprocParseError: " <> t+prettyCiteprocError (CiteprocLocaleNotFound t) =+ "CiteprocLocaleNotFound: " <> t++-- | CSL styles require certain formatting transformations to+-- be defined. These are defined in the 'CiteprocOutput' class.+-- The library may be used with any structured format that defines+-- these operations. See the 'Citeproc.CslJson' module for an instance+-- that corresponds to the markup allowed in CSL JSON. See+-- the 'Citeproc.Pandoc' module for an instance for Pandoc 'Inlines'.+class (Semigroup a, Monoid a, Show a, Eq a, Ord a) => CiteprocOutput a where+ toText :: a -> Text+ fromText :: Text -> a+ dropTextWhile :: (Char -> Bool) -> a -> a+ dropTextWhileEnd :: (Char -> Bool) -> a -> a+ addFontVariant :: FontVariant -> a -> a+ addFontStyle :: FontStyle -> a -> a+ addFontWeight :: FontWeight -> a -> a+ addTextDecoration :: TextDecoration -> a -> a+ addVerticalAlign :: VerticalAlign -> a -> a+ addTextCase :: Maybe Lang -> TextCase -> a -> a+ addDisplay :: DisplayStyle -> a -> a+ addQuotes :: a -> a+ movePunctuationInsideQuotes :: a -> a+ inNote :: a -> a+ mapText :: (Text -> Text) -> a -> a+ addHyperlink :: Text -> a -> a++addFormatting :: CiteprocOutput a => Formatting -> a -> a+addFormatting f x =+ if T.null (toText x) -- TODO inefficient+ then mempty+ else+ maybe id addDisplay (formatDisplay f) .+ (if affixesInside then id else addPrefix . addSuffix) .+ (if formatQuotes f then addQuotes else id) .+ maybe id addVerticalAlign (formatVerticalAlign f) .+ maybe id addTextDecoration (formatTextDecoration f) .+ maybe id addFontWeight (formatFontWeight f) .+ maybe id addFontVariant (formatFontVariant f) .+ maybe id (addTextCase (formatLang f)) (formatTextCase f) .+ maybe id addFontStyle (formatFontStyle f) .+ (if affixesInside then addPrefix . addSuffix else id) .+ (if formatStripPeriods f then mapText (T.filter (/='.')) else id)+ $ x+ where+ addPrefix z = case formatPrefix f of+ Just s -> mconcat $ fixPunct [fromText s, z]+ Nothing -> z+ addSuffix z = case formatSuffix f of+ Just s -> mconcat $ fixPunct [z, fromText s]+ Nothing -> z+ affixesInside = formatAffixesInside f++-- | The identifier used to identify a work in a bibliographic+-- database.+newtype ItemId = ItemId { unItemId :: Text }+ deriving (Show, Eq, Ord, Semigroup, Monoid, ToJSON, FromJSON)++data CitationItemType =+ AuthorOnly -- ^ e.g., Smith+ | SuppressAuthor -- ^ e.g., (2000, p. 30)+ | NormalCite -- ^ e.g., (Smith 2000, p. 30)+ deriving (Show, Eq, Ord)++instance FromJSON CitationItemType where+ parseJSON x = parseJSON x >>=+ \case+ "author-only" -> pure AuthorOnly+ "suppress-author" -> pure SuppressAuthor+ "normal-cite" -> pure NormalCite+ t -> fail $ "Unknown type " ++ t++instance ToJSON CitationItemType where+ toJSON AuthorOnly = "author-only"+ toJSON SuppressAuthor = "suppress-author"+ toJSON NormalCite = "normal-cite"++-- | The part of a citation corresponding to a single work,+-- possibly including a label, locator, prefix and suffix.+data CitationItem a =+ CitationItem+ { citationItemId :: ItemId+ , citationItemLabel :: Maybe Text+ , citationItemLocator :: Maybe Text+ , citationItemType :: CitationItemType+ , citationItemPrefix :: Maybe a+ , citationItemSuffix :: Maybe a+ } deriving (Show, Eq, Ord)++instance FromJSON a => FromJSON (CitationItem a) where+ parseJSON = withObject "CitationItem" $ \v -> CitationItem+ <$> (v .: "id" >>= fmap ItemId . asText)+ <*> v .:? "label"+ <*> (Just <$> (v .: "locator" >>= asText) <|> pure Nothing)+ <*> ( (v .: "type")+ <|> (do suppressAuth <- v .:? "suppress-author"+ authorOnly <- v .:? "author-only"+ return $+ case suppressAuth of+ Just True -> SuppressAuthor+ _ -> case authorOnly of+ Just True -> AuthorOnly+ _ -> NormalCite) )+ <*> v .:? "prefix"+ <*> v .:? "suffix"++instance ToJSON a => ToJSON (CitationItem a) where+ toJSON i = object $+ [ ( "id", toJSON (citationItemId i) )+ , ("type", toJSON $ citationItemType i) ] +++ [ ( "label", toJSON (citationItemLabel i) )+ | isJust (citationItemLabel i) ] +++ [ ("locator", toJSON (citationItemLocator i) )+ | isJust (citationItemLocator i) ] +++ [ ("prefix", toJSON (citationItemPrefix i))+ | isJust (citationItemPrefix i) ] +++ [ ("suffix", toJSON (citationItemSuffix i))+ | isJust (citationItemSuffix i) ]+++-- | A citation (which may include several items, e.g.+-- in @(Smith 2000; Jones 2010, p. 30)@).+data Citation a =+ Citation { citationId :: Maybe Text+ , citationNoteNumber :: Maybe Int+ , citationItems :: [CitationItem a] }+ deriving (Show, Eq, Ord)++instance FromJSON a => FromJSON (Citation a) where+ parseJSON v =+ withArray "Citation"+ (\ary ->+ case ary V.!? 0 of+ Just v' -> (withObject "Citation" $ \o+ -> Citation <$> o .:? "citationID"+ <*> ((o .: "properties"+ >>= (.: "noteIndex"))+ <|> pure Nothing)+ <*> o .: "citationItems") v'+ <|> Citation Nothing Nothing <$> parseJSON v'+ Nothing -> fail "Empty array") v+ <|>+ withObject "Citation"+ (\o -> Citation <$> o .:? "citationID"+ <*> o .:? "citationNoteNumber"+ <*> o .: "citationItems") v+ <|>+ (Citation Nothing Nothing <$> parseJSON v)++instance ToJSON a => ToJSON (Citation a) where+ toJSON c =+ object $+ [ ("citationID", toJSON $ citationId c) | isJust (citationId c) ] +++ [ ("citationItems" , toJSON $ citationItems c) ] +++ case citationNoteNumber c of+ Nothing -> []+ Just n -> [ ("citationNoteNumber", toJSON n) ]++data Match =+ MatchAll+ | MatchAny+ | MatchNone+ deriving (Show, Eq)++data Condition =+ HasVariable Variable+ | HasType Text+ | IsUncertainDate Variable+ | IsNumeric Variable+ | HasLocatorType Variable+ | HasPosition Position+ | WouldDisambiguate+ deriving (Show, Eq)++data Position =+ FirstPosition+ | IbidWithLocator+ | Ibid+ | NearNote+ | Subsequent+ deriving (Show, Eq, Ord)++data DateType =+ LocalizedNumeric+ | LocalizedText+ | NonLocalized+ deriving (Show, Eq, Ord)++data ShowDateParts =+ YearMonthDay+ | YearMonth+ | Year+ deriving (Show, Eq)++data DPName =+ DPYear+ | DPMonth+ | DPDay+ deriving (Show, Eq, Ord)++data DPForm =+ DPNumeric+ | DPNumericLeadingZeros+ | DPOrdinal+ | DPLong+ | DPShort+ deriving (Show, Eq)++data DP =+ DP+ { dpName :: DPName+ , dpForm :: DPForm+ , dpRangeDelimiter :: Text+ , dpFormatting :: Formatting+ }+ deriving (Show, Eq)++data VariableForm =+ ShortForm+ | LongForm+ deriving (Show, Eq)++data TextType =+ TextVariable VariableForm Variable+ | TextMacro Text+ | TextTerm Term+ | TextValue Text+ deriving (Show, Eq)++data NumberForm =+ NumberNumeric+ | NumberOrdinal+ | NumberLongOrdinal+ | NumberRoman+ deriving (Show, Eq)++data Pluralize =+ ContextualPluralize+ | AlwaysPluralize+ | NeverPluralize+ deriving (Show, Eq)++data NamesFormat =+ NamesFormat+ { namesLabel :: Maybe (TermForm, Pluralize, Formatting)+ , namesEtAl :: Maybe (Text, Formatting)+ , namesName :: Maybe (NameFormat, Formatting)+ , namesLabelBeforeName :: Bool+ } deriving (Show, Eq)++data DelimiterPrecedes =+ PrecedesContextual+ | PrecedesAfterInvertedName+ | PrecedesAlways+ | PrecedesNever+ deriving (Show, Eq)++data NameForm =+ LongName+ | ShortName+ | CountName+ deriving (Show, Eq)++data NameFormat =+ NameFormat+ { nameGivenFormatting :: Maybe Formatting+ , nameFamilyFormatting :: Maybe Formatting+ , nameAndStyle :: Maybe TermForm+ , nameDelimiter :: Text+ , nameDelimiterPrecedesEtAl :: DelimiterPrecedes+ , nameDelimiterPrecedesLast :: DelimiterPrecedes+ , nameEtAlMin :: Maybe Int+ , nameEtAlUseFirst :: Maybe Int+ , nameEtAlSubsequentUseFirst :: Maybe Int+ , nameEtAlSubsequentMin :: Maybe Int+ , nameEtAlUseLast :: Bool+ , nameForm :: NameForm+ , nameInitialize :: Bool+ , nameInitializeWith :: Maybe Text+ , nameAsSortOrder :: Maybe NameAsSortOrder+ , nameSortSeparator :: Text+ } deriving (Show, Eq)++defaultNameFormat :: NameFormat+defaultNameFormat =+ NameFormat+ { nameGivenFormatting = Nothing+ , nameFamilyFormatting = Nothing+ , nameAndStyle = Nothing+ , nameDelimiter = ", "+ , nameDelimiterPrecedesEtAl = PrecedesContextual+ , nameDelimiterPrecedesLast = PrecedesContextual+ , nameEtAlMin = Nothing+ , nameEtAlUseFirst = Nothing+ , nameEtAlSubsequentUseFirst = Nothing+ , nameEtAlSubsequentMin = Nothing+ , nameEtAlUseLast = False+ , nameForm = LongName+ , nameInitialize = True+ , nameInitializeWith = Nothing+ , nameAsSortOrder = Nothing+ , nameSortSeparator = ", "+ }++data NameAsSortOrder =+ NameAsSortOrderFirst+ | NameAsSortOrderAll+ deriving (Show, Eq)++data ElementType a =+ EText TextType+ | EDate Variable DateType (Maybe ShowDateParts) [DP]+ | ENumber Variable NumberForm+ | ENames [Variable] NamesFormat [Element a] -- last part is substitutes if any+ | ELabel Variable TermForm Pluralize+ | EGroup Bool [Element a] -- Bool is true if it's an expanded macro+ | EChoose [(Match, [Condition], [Element a])]+ -- 'else' can be represented by a final trivial match condition+ deriving (Show, Eq)++data Formatting =+ Formatting+ { formatLang :: Maybe Lang+ , formatFontStyle :: Maybe FontStyle+ , formatFontVariant :: Maybe FontVariant+ , formatFontWeight :: Maybe FontWeight+ , formatTextDecoration :: Maybe TextDecoration+ , formatVerticalAlign :: Maybe VerticalAlign+ , formatPrefix :: Maybe Text+ , formatSuffix :: Maybe Text+ , formatDisplay :: Maybe DisplayStyle+ , formatTextCase :: Maybe TextCase+ , formatDelimiter :: Maybe Text+ , formatStripPeriods :: Bool+ , formatQuotes :: Bool+ , formatAffixesInside :: Bool -- put affixes inside other formatting+ } deriving (Show, Eq)++defaultFormatting :: Formatting+defaultFormatting = Formatting Nothing Nothing Nothing Nothing Nothing+ Nothing Nothing Nothing Nothing Nothing Nothing False False False++combineFormatting :: Formatting -> Formatting -> Formatting+combineFormatting+ (Formatting la1 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1)+ (Formatting la2 a2 b2 c2 d2 e2 f2 g2 h2 i2 j2 k2 l2 m2) =+ Formatting (la1 <|> la2) (a1 <|> a2) (b1 <|> b2) (c1 <|> c2)+ (d1 <|> d2) (e1 <|> e2) (f1 <|> f2)+ (g1 <|> g2) (h1 <|> h2) (i1 <|> i2)+ (j1 <|> j2) (k1 || k2) (l1 || l2) (m1 || m2)++instance Semigroup Formatting where+ (<>) = combineFormatting++instance Monoid Formatting where+ mempty = defaultFormatting+ mappend = (<>)++data TextCase =+ Lowercase+ | Uppercase+ | CapitalizeFirst+ | CapitalizeAll+ | SentenceCase+ | TitleCase+ deriving (Show, Eq)++data DisplayStyle =+ DisplayBlock+ | DisplayLeftMargin+ | DisplayRightInline+ | DisplayIndent+ deriving (Show, Eq)++data FontStyle =+ NormalFont+ | ItalicFont+ | ObliqueFont+ deriving (Show, Eq)++data FontVariant =+ NormalVariant+ | SmallCapsVariant+ deriving (Show, Eq)++data FontWeight =+ NormalWeight+ | BoldWeight+ | LightWeight+ deriving (Show, Eq)++data TextDecoration =+ NoDecoration+ | UnderlineDecoration+ deriving (Show, Eq)++data VerticalAlign =+ BaselineAlign+ | SupAlign+ | SubAlign+ deriving (Show, Eq)++data Element a = Element (ElementType a) Formatting+ deriving (Show, Eq)++data SortDirection =+ Ascending+ | Descending+ deriving (Show, Eq)++data SortKey a =+ SortKeyVariable SortDirection Variable+ | SortKeyMacro SortDirection [Element a]+ deriving (Show, Eq)++newtype SortKeyValue =+ SortKeyValue (SortDirection, Maybe [Text])+ deriving (Show, Eq)++-- absence should sort AFTER all values+-- see sort_StatusFieldAscending.txt, sort_StatusFieldDescending.txt+instance Ord SortKeyValue where+ SortKeyValue (Ascending, _) <= SortKeyValue (Ascending, Nothing)+ = True+ SortKeyValue (Ascending, Nothing) <= SortKeyValue (Ascending, Just _)+ = False+ SortKeyValue (Ascending, Just t1) <= SortKeyValue (Ascending, Just t2) =+ t1 `keyLEQ` t2+ SortKeyValue (Descending, _) <= SortKeyValue (Descending, Nothing)+ = True+ SortKeyValue (Descending, Nothing) <= SortKeyValue (Descending, Just _)+ = False+ SortKeyValue (Descending, Just t1) <= SortKeyValue (Descending, Just t2) =+ t2 `keyLEQ` t1+ SortKeyValue _ <= SortKeyValue _ = False++-- We need special comparison operators to ensure that+-- á sorts before b, for example.+keyLEQ :: [Text] -> [Text] -> Bool+keyLEQ _ [] = False+keyLEQ [] _ = True+keyLEQ (x:xs) (y:ys) =+ case comp x y of+ EQ -> xs `keyLEQ` ys+ GT -> False+ LT -> True+ where+#ifdef MIN_VERSION_text_icu+ comp = ICU.collate (ICU.collator ICU.Current)+#else+ comp = RFC5051.compareUnicode+#endif++data Layout a =+ Layout+ { layoutOptions :: LayoutOptions+ , layoutFormatting :: Formatting+ , layoutElements :: [Element a]+ , layoutSortKeys :: [SortKey a]+ } deriving (Show, Eq)++data LayoutOptions =+ LayoutOptions+ { layoutCollapse :: Maybe Collapsing+ , layoutYearSuffixDelimiter :: Maybe Text+ , layoutAfterCollapseDelimiter :: Maybe Text+ } deriving (Show, Eq)++data Collapsing =+ CollapseCitationNumber+ | CollapseYear+ | CollapseYearSuffix+ | CollapseYearSuffixRanged+ deriving (Show, Eq)++data DisambiguationStrategy =+ DisambiguationStrategy+ { disambiguateAddNames :: Bool+ , disambiguateAddGivenNames :: Maybe GivenNameDisambiguationRule+ , disambiguateAddYearSuffix :: Bool+ } deriving (Show, Eq, Ord)++data GivenNameDisambiguationRule =+ AllNames+ | AllNamesWithInitials+ | PrimaryName+ | PrimaryNameWithInitials+ | ByCite+ deriving (Show, Eq, Ord)++data DemoteNonDroppingParticle =+ DemoteDisplayAndSort+ | DemoteSortOnly+ | DemoteNever+ deriving (Show, Eq)++data StyleOptions =+ StyleOptions+ { styleIsNoteStyle :: Bool+ , styleDefaultLocale :: Maybe Lang+ , styleDemoteNonDroppingParticle :: DemoteNonDroppingParticle+ , styleInitializeWithHyphen :: Bool+ , stylePageRangeFormat :: Maybe PageRangeFormat+ , stylePageRangeDelimiter :: Maybe Text+ , styleDisambiguation :: DisambiguationStrategy+ , styleNearNoteDistance :: Maybe Int+ , styleCiteGroupDelimiter :: Maybe Text+ , styleLineSpacing :: Maybe Int+ , styleEntrySpacing :: Maybe Int+ , styleHangingIndent :: Bool+ , styleSecondFieldAlign :: Maybe SecondFieldAlign+ , styleSubsequentAuthorSubstitute :: Maybe SubsequentAuthorSubstitute+ , styleUsesYearSuffixVariable :: Bool+ } deriving (Show, Eq)++data SubsequentAuthorSubstitute =+ SubsequentAuthorSubstitute Text SubsequentAuthorSubstituteRule+ deriving (Show, Eq)++data SubsequentAuthorSubstituteRule =+ CompleteAll+ | CompleteEach+ | PartialEach+ | PartialFirst+ deriving (Show, Eq)++data SecondFieldAlign =+ SecondFieldAlignFlush+ | SecondFieldAlignMargin+ deriving (Show, Eq)++data PageRangeFormat =+ PageRangeChicago+ | PageRangeExpanded+ | PageRangeMinimal+ | PageRangeMinimalTwo+ deriving (Show, Eq, Ord)++data Style a =+ Style+ { styleCslVersion :: (Int,Int,Int)+ , styleOptions :: StyleOptions+ , styleCitation :: Layout a+ , styleBibliography :: Maybe (Layout a)+ , styleLocales :: [Locale]+ , styleAbbreviations :: Maybe Abbreviations+ } deriving (Show, Eq)+-- Note: no macros section, because we+-- expand these after parsing the CSL.++data TermForm =+ Long+ | Short+ | Verb+ | VerbShort+ | Symbol+ deriving (Show, Ord, Eq)++data TermNumber =+ Singular+ | Plural+ deriving (Show, Ord, Eq)++data TermGender =+ Masculine+ | Feminine+ deriving (Show, Ord, Eq)++data TermMatch =+ LastDigit+ | LastTwoDigits+ | WholeNumber+ deriving (Show, Ord, Eq)++data Term =+ Term+ { termName :: Text+ , termForm :: TermForm+ , termNumber :: Maybe TermNumber+ , termGender :: Maybe TermGender+ , termGenderForm :: Maybe TermGender+ , termMatch :: Maybe TermMatch+ } deriving (Show, Eq)++emptyTerm :: Term+emptyTerm = Term mempty Long Nothing Nothing Nothing Nothing++instance Ord Term where+ (<=)(Term name1 form1 num1 gen1 gf1 match1)+ (Term name2 form2 num2 gen2 gf2 match2) =+ name1 == name2 &&+ form1 == form2 &&+ (isNothing num1 || isNothing num2 || num1 == num2) &&+ (isNothing gen1 || isNothing gen2 || gen1 == gen2) &&+ (isNothing gf1 || isNothing gf2 || gf1 == gf2 ) &&+ (isNothing match1 || isNothing match2 || match1 == match2)++-- | A parsed IETF language tag, with language and optional variant.+-- For example, @Lang "en" (Just "US")@ corresponds to @en-US@.+data Lang = Lang{ langLanguage :: Text+ , langVariant :: Maybe Text }+ deriving (Show, Eq, Ord)++instance ToJSON Lang where+ toJSON = toJSON . renderLang++instance FromJSON Lang where+ parseJSON = fmap parseLang . parseJSON++-- | Render a 'Lang' an an IETF language tag.+renderLang :: Lang -> Text+renderLang (Lang l Nothing) = l+renderLang (Lang l (Just v)) = l <> "-" <> v++-- | Parse an IETF language tag.+parseLang :: Text -> Lang+parseLang t = Lang l (snd <$> T.uncons v)+ where+ (l,v) = T.break (\c -> c == '-' || c == '_') t++-- | Defines locale-specific terms, punctuation styles, and date+-- formats.+data Locale =+ Locale+ { localeLanguage :: Maybe Lang+ , localePunctuationInQuote :: Maybe Bool+ , localeLimitDayOrdinalsToDay1 :: Maybe Bool+ , localeDate :: M.Map DateType (Element Text)+ , localeTerms :: M.Map Text [(Term, Text)]+ }+ deriving (Show, Eq)++-- in x <> y, x values take precedence+instance Semigroup Locale where+ Locale lang1 pq1 ldo1 date1 ts1 <>+ Locale lang2 pq2 ldo2 date2 ts2 =+ Locale (lang1 <|> lang2)+ (pq1 <|> pq2)+ (ldo1 <|> ldo2)+ (date1 <> date2)+ (M.unionWith (<>) ts1 ts2)++instance Monoid Locale where+ mempty = Locale Nothing Nothing Nothing mempty mempty+ mappend = (<>)++newtype Variable = Variable (CI.CI Text)+ deriving (Show, Ord, Eq, IsString)++toVariable :: Text -> Variable+toVariable = Variable . CI.mk++fromVariable :: Variable -> Text+fromVariable (Variable x) = CI.original x++instance Semigroup Variable where+ Variable x <> Variable y = Variable (x <> y)++instance Monoid Variable where+ mappend = (<>)+ mempty = Variable mempty++instance FromJSON Variable where+ parseJSON = fmap (Variable . CI.mk) . parseJSON++instance FromJSONKey Variable where+ fromJSONKey = FromJSONKeyText toVariable++instance ToJSON Variable where+ toJSON (Variable v) = toJSON $ CI.original v++instance ToJSONKey Variable where+ toJSONKey = toJSONKeyText fromVariable++-- | Encodes bibliographic data for a single work.+data Reference a =+ Reference+ { referenceId :: ItemId+ , referenceType :: Text+ , referenceDisambiguation :: Maybe DisambiguationData+ -- ^ This is added in processing; if you are constructing+ -- a Reference, set to Nothing+ , referenceVariables :: M.Map Variable (Val a)+ } deriving (Show, Functor, Foldable, Traversable)++instance ToJSON a => ToJSON (Reference a) where+ toJSON r = toJSON $+ M.insert "id" (TextVal $ coerce (referenceId r)) $+ M.insert "type" (TextVal $ referenceType r) $+ referenceVariables r++data DisambiguationData =+ DisambiguationData+ { disambYearSuffix :: Maybe Int+ , disambNameMap :: M.Map Name NameHints+ , disambEtAlNames :: Maybe Int+ , disambCondition :: Bool+ } deriving (Show)++data NameHints =+ AddInitials+ | AddGivenName+ | AddInitialsIfPrimary+ | AddGivenNameIfPrimary+ deriving (Show)++instance (Eq a, FromJSON a) => FromJSON (Reference a) where+ parseJSON v = parseJSON v >>= parseReference++lookupVariable :: CiteprocOutput a => Variable -> Reference a -> Maybe (Val a)+lookupVariable "id" r =+ case referenceId r of+ ItemId "" -> Nothing+ ItemId t -> Just (TextVal t)+lookupVariable "type" r =+ case referenceType r of+ "" -> Nothing+ t -> Just (TextVal t)+lookupVariable "page-first" r = -- compute "page-first" if not set+ M.lookup "page-first" (referenceVariables r) <|>+ case M.lookup "pages" (referenceVariables r) of+ Nothing -> Nothing+ Just (NumVal n) -> Just (NumVal n)+ Just (TextVal t) -> NumVal <$> readMay (T.unpack (takeDigits t))+ Just (FancyVal x) -> NumVal <$> readMay (T.unpack+ (takeDigits $ toText x))+ _ -> Nothing+ where+ takeDigits = T.takeWhile isDigit+lookupVariable v r = M.lookup v $ referenceVariables r++parseReference :: FromJSON a+ => M.Map Variable Value -> Parser (Reference a)+parseReference rawmap =+ foldM go (Reference mempty mempty Nothing mempty) (M.toList rawmap)+ where+ go (Reference i t d m) (k, v)+ | k == "id" = do+ id' <- ItemId <$> readString v+ return $ Reference id' t d m+ | k == "type" = do+ type' <- readString v+ return $ Reference i type' d m+ | k == "journalAbbreviation" || k == "shortTitle" = -- legacy citeproc-js+ go (Reference i t d m) ("container-title-short", v)+ | k == "note" = do+ t' <- parseJSON v+ let (kvs, rest) = parseNote t'+ in (if T.null rest+ then id+ else \(Reference i' t'' d' m') ->+ Reference i' t'' d' (M.insert "note" (TextVal rest) m'))+ <$> foldM go (Reference i t d m) (consolidateNameVariables kvs)+ | otherwise = Reference i t d <$>+ case variableType k of+ StringVariable -> do+ v' <- FancyVal <$> parseJSON v <|> TextVal <$> readString v+ return $ M.insert k v' m+ NumberVariable -> do+ v' <- case v of+ String{} -> parseJSON v+ Number{} -> T.pack . show <$> (parseJSON v :: Parser Int)+ _ -> typeMismatch "String or Number" v+ return $ M.insert k (TextVal v') m+ DateVariable -> do+ v' <- parseJSON v+ return $ M.insert k (DateVal v') m+ NameVariable -> do+ v' <- parseJSON v+ return $ M.insert k (NamesVal v') m+ UnknownVariable -> -- treat as string variable if possible+ case v of+ String{} -> (\x -> M.insert k x m) <$>+ (FancyVal <$> parseJSON v <|> TextVal <$> readString v)+ Number{} -> (\x -> M.insert k (TextVal x) m) <$> readString v+ _ -> return m -- silently ignore+ readString v =+ case v of+ String{} -> parseJSON v+ Number{} -> T.pack . show <$> (parseJSON v :: Parser Int)+ _ -> typeMismatch "String or Number" v++-- name variables are cumulative and should be packed into an array+consolidateNameVariables :: [(Variable, Text)] -> [(Variable, Value)]+consolidateNameVariables [] = []+consolidateNameVariables ((k,v):kvs)+ = case variableType k of+ NameVariable+ -> (k, Array+ (V.fromList [String t | (k',t) <- ((k,v):kvs), k' == k])) :+ consolidateNameVariables (filter ((/= k) . fst) kvs)+ _ -> (k, String v) : consolidateNameVariables kvs++parseNote :: Text+ -> ([(Variable, Text)], Text)+parseNote t =+ either (const ([],t)) id $+ P.parseOnly ((,) <$> P.many' pNoteField <*> P.takeText) t+ where+ pNoteField = pBracedField <|> pLineField+ pLineField = do+ name <- pVarname+ _ <- P.char ':'+ val <- P.takeWhile (/='\n')+ () <$ P.char '\n' <|> P.endOfInput+ return (Variable $ CI.mk name, T.strip val)+ pBracedField = do+ _ <- P.string "{:"+ name <- pVarname+ _ <- P.char ':'+ val <- P.takeWhile (/='}')+ _ <- P.char '}'+ return (Variable $ CI.mk name, T.strip val)+ pVarname = P.takeWhile1 (\c -> isLetter c || c == '-')++data VariableType =+ DateVariable+ | NameVariable+ | NumberVariable+ | StringVariable+ | UnknownVariable+ deriving (Show, Eq)++variableType :: Variable -> VariableType+variableType "accessed" = DateVariable+variableType "available-date" = DateVariable+variableType "container" = DateVariable+variableType "event-date" = DateVariable+variableType "issued" = DateVariable+variableType "original-date" = DateVariable+variableType "submitted" = DateVariable+variableType "author" = NameVariable+variableType "chair" = NameVariable+variableType "collection-editor" = NameVariable+variableType "composer" = NameVariable+variableType "compiler" = NameVariable+variableType "container-author" = NameVariable+variableType "contributor" = NameVariable+variableType "curator" = NameVariable+variableType "director" = NameVariable+variableType "editor" = NameVariable+variableType "editor-translator" = NameVariable+variableType "editorial-director" = NameVariable+variableType "executive-producer" = NameVariable+variableType "guest" = NameVariable+variableType "host" = NameVariable+variableType "illustrator" = NameVariable+variableType "interviewer" = NameVariable+variableType "narrator" = NameVariable+variableType "original-author" = NameVariable+variableType "organizer" = NameVariable+variableType "performer" = NameVariable+variableType "producer" = NameVariable+variableType "recipient" = NameVariable+variableType "reviewed-author" = NameVariable+variableType "script-writer" = NameVariable+variableType "series-creator" = NameVariable+variableType "translator" = NameVariable+variableType "chapter-number" = NumberVariable+variableType "citation-number" = NumberVariable+variableType "collection-number" = NumberVariable+variableType "edition" = NumberVariable+variableType "first-reference-note-number" = NumberVariable+variableType "issue" = NumberVariable+variableType "locator" = NumberVariable+variableType "number" = NumberVariable+variableType "number-of-pages" = NumberVariable+variableType "number-of-volumes" = NumberVariable+variableType "page" = NumberVariable+variableType "page-first" = NumberVariable+variableType "part-number" = NumberVariable+variableType "printing-number" = NumberVariable+variableType "section" = NumberVariable+variableType "supplement-number" = NumberVariable+variableType "version" = NumberVariable+variableType "volume" = NumberVariable+variableType "abstract" = StringVariable+variableType "annote" = StringVariable+variableType "archive" = StringVariable+variableType "archive_collection" = StringVariable+variableType "archive_location" = StringVariable+variableType "archive-place" = StringVariable+variableType "authority" = StringVariable+variableType "call-number" = StringVariable+variableType "citation-key" = StringVariable+variableType "citation-label" = StringVariable+variableType "collection-title" = StringVariable+variableType "container-title" = StringVariable+variableType "container-title-short" = StringVariable+variableType "dimensions" = StringVariable+variableType "division" = StringVariable+variableType "DOI" = StringVariable+variableType "event" = StringVariable+variableType "event-place" = StringVariable+variableType "event-title" = StringVariable --(new name for "event" to avoid confusion with new "event" type) +variableType "genre" = StringVariable+variableType "ISBN" = StringVariable+variableType "ISSN" = StringVariable+variableType "jurisdiction" = StringVariable+variableType "keyword" = StringVariable+variableType "language" = StringVariable+variableType "license" = StringVariable+variableType "medium" = StringVariable+variableType "note" = StringVariable+variableType "original-publisher" = StringVariable+variableType "original-publisher-place" = StringVariable+variableType "original-title" = StringVariable+variableType "part-title" = StringVariable+variableType "PMID" = StringVariable+variableType "PMCID" = StringVariable+variableType "publisher" = StringVariable+variableType "publisher-place" = StringVariable+variableType "references" = StringVariable+variableType "reviewed-genre" = StringVariable+variableType "reviewed-title" = StringVariable+variableType "scale" = StringVariable+variableType "source" = StringVariable+variableType "status" = StringVariable+variableType "title" = StringVariable+variableType "title-short" = StringVariable+variableType "URL" = StringVariable+variableType "volume-title" = StringVariable+variableType "year-suffix" = StringVariable+variableType _ = UnknownVariable++newtype (ReferenceMap a) =+ ReferenceMap { unReferenceMap :: M.Map ItemId (Reference a) }+ deriving (Show)++makeReferenceMap :: [Reference a] -> ReferenceMap a+makeReferenceMap refs =+ ReferenceMap (M.fromList (map (\r -> (referenceId r, r)) refs))++lookupReference :: ItemId -> ReferenceMap a -> Maybe (Reference a)+lookupReference ident (ReferenceMap m) = M.lookup ident m++-- | Value associated with a certain variable in a bibliographic+-- entry.+data Val a =+ TextVal Text -- ^ Plain text value+ | FancyVal a -- ^ Formatted value with parameterized type+ | NumVal Int -- ^ Numerical value+ | NamesVal [Name] -- ^ Structured names+ | DateVal Date -- ^ Structured date+ deriving (Show, Eq, Functor, Foldable, Traversable)++instance ToJSON a => ToJSON (Val a) where+ toJSON (TextVal t) = toJSON t+ toJSON (FancyVal x) = toJSON x+ toJSON (NumVal n) = toJSON n+ toJSON (NamesVal ns) = toJSON ns+ toJSON (DateVal d) = toJSON d++valToText :: CiteprocOutput a => Val a -> Maybe Text+valToText (TextVal x) = Just x+valToText (FancyVal x) = Just $ toText x+valToText (NumVal n) = Just $ T.pack $ show n+valToText _ = Nothing++data Name =+ Name+ { nameFamily :: Maybe Text+ , nameGiven :: Maybe Text+ , nameDroppingParticle :: Maybe Text+ , nameNonDroppingParticle :: Maybe Text+ , nameSuffix :: Maybe Text+ , nameCommaSuffix :: Bool+ , nameStaticOrdering :: Bool+ , nameLiteral :: Maybe Text+ }+ deriving (Show, Eq, Ord)++instance ToJSON Name where+ toJSON n =+ object $+ maybe id (\x -> (("family", toJSON x):)) (nameFamily n) .+ maybe id (\x -> (("given", toJSON x):)) (nameGiven n) .+ maybe id (\x -> (("dropping-particle", toJSON x):))+ (nameDroppingParticle n) .+ maybe id (\x -> (("non-dropping-particle", toJSON x):))+ (nameNonDroppingParticle n) .+ maybe id (\x -> (("suffix", toJSON x):)) (nameSuffix n) .+ (if nameCommaSuffix n+ then (("comma-suffix", toJSON True):)+ else id) .+ (if nameStaticOrdering n+ then (("static-ordering", toJSON True):)+ else id) .+ maybe id (\x -> (("literal", toJSON x):)) (nameLiteral n) $+ []++instance FromJSON Name where+ parseJSON (String t) = parseCheaterName t+ parseJSON x =+ extractParticles <$>+ (withObject "Name" $ \v -> Name+ <$> v .:? "family"+ <*> v .:? "given"+ <*> v .:? "dropping-particle"+ <*> v .:? "non-dropping-particle"+ <*> v .:? "suffix"+ <*> (v .:? "comma-suffix" >>= maybe (return False) asBool)+ <*> (v .:? "static-ordering" >>= maybe (return False) asBool)+ <*> v .:? "literal"+ ) x++-- "lowercase elements before the family name are treated as “non-dropping”+-- particles, and lowercase elements following the given name as “dropping”+-- particles"+extractParticles :: Name -> Name+extractParticles =+ extractNonDroppingParticle . extractDroppingParticle . extractSuffix+ where+ extractSuffix name =+ case nameSuffix name of+ Nothing ->+ case nameGiven name of+ Nothing -> name+ Just t+ -- in CSL JSON you can put double quotes around something+ -- to make it a unit (not subject to splitting).+ | "\"" `T.isPrefixOf` t+ , "\"" `T.isSuffixOf` t+ -> name { nameGiven = Just $ T.drop 1 $ T.dropEnd 1 t }+ | otherwise->+ let (a,b) = T.break (==',') t+ in if T.null a || T.null b+ then name+ else+ if T.take 2 b == ",!"+ then name{ nameGiven = Just a+ , nameSuffix = Just $ T.strip $ T.drop 2 b+ , nameCommaSuffix = True }+ else name{ nameGiven = Just a+ , nameSuffix = Just $ T.strip $ T.drop 1 b }+ Just _ -> name+ extractNonDroppingParticle name =+ case nameNonDroppingParticle name of+ Nothing ->+ case nameFamily name of+ Nothing -> name+ Just t+ | "\"" `T.isPrefixOf` t+ , "\"" `T.isSuffixOf` t+ -> name { nameFamily = Just $ T.drop 1 $ T.dropEnd 1 t }+ | otherwise ->+ case span (T.all isParticleChar) (T.words t) of+ ([],_)+ -> case T.split isParticlePunct t of+ [x,y] | T.all isParticleChar x ->+ name{ nameFamily = Just y+ , nameNonDroppingParticle = Just $ x <>+ T.take 1+ (T.dropWhile (not . isParticlePunct) t) }+ _ -> name+ (_,[]) -> name+ (as,bs) -> name{ nameFamily = Just (T.unwords bs)+ , nameNonDroppingParticle = Just (T.unwords as) }+ Just _ -> name+ extractDroppingParticle name =+ case nameDroppingParticle name of+ Just _ -> name+ Nothing ->+ case nameGiven name of+ Nothing -> name+ Just t ->+ case break (T.all isParticleChar) (T.words t) of+ (_,[]) -> name+ ([],_) -> name+ (as,bs)+ | all (T.all isParticleChar) bs+ -> name{ nameGiven = Just (T.unwords as)+ , nameDroppingParticle = Just (T.unwords bs) }+ | otherwise -> name+ isParticlePunct c = c == '\'' || c == '’' || c == '-' || c == '\x2013' ||+ c == '.'+ isParticleChar c = isLower c || isParticlePunct c++-- cheater syntax for name: used in parsing note:+-- editor: Thompson || Hunter S.+parseCheaterName :: Text -> Parser Name+parseCheaterName t = do+ let (family, given) = case T.splitOn "||" t of+ (f:g:_) -> (Just (T.strip f), Just (T.strip g))+ [f] -> (Just (T.strip f), Nothing)+ [] -> (Nothing, Nothing)+ return $ extractParticles $+ Name+ { nameFamily = family+ , nameGiven = given+ , nameDroppingParticle = Nothing+ , nameNonDroppingParticle = Nothing+ , nameSuffix = Nothing+ , nameCommaSuffix = False+ , nameStaticOrdering = False+ , nameLiteral = if isNothing family && isNothing given+ then Just t+ else Nothing+ }++isByzantineName :: Name -> Bool+isByzantineName name = maybe False isByzantine (nameFamily name)++-- detect latin/cyrillic names+-- see src/load.js ROMANESQUE_REGEX in citeproc-js:+-- /[-0-9a-zA-Z\u0e01-\u0e5b\u00c0-\u017f\u0370-\u03ff\u0400-\u052f\u0590-\u05d4\u05d6-\u05ff\u1f00-\u1fff\u0600-\u06ff\u200c\u200d\u200e\u0218\u0219\u021a\u021b\u202a-\u202e]/+isByzantineChar :: Char -> Bool+isByzantineChar c = c == '-' ||+ (c >= '0' && c <= '9') ||+ (c >= 'a' && c <= 'z') ||+ (c >= 'A' && c <= 'Z') ||+ (c >= '\x0e01' && c <= '\x0e5b') ||+ (c >= '\x00c0' && c <= '\x017f') ||+ (c >= '\x0370' && c <= '\x03ff') ||+ (c >= '\x0400' && c <= '\x052f') ||+ (c >= '\x0590' && c <= '\x05d4') ||+ (c >= '\x05d6' && c <= '\x05ff') ||+ (c >= '\x1f00' && c <= '\x1fff') ||+ (c >= '\x0600' && c <= '\x06ff') ||+ (c >= '\x200c' && c <= '\x200e') ||+ (c >= '\x2018' && c <= '\x2019') ||+ (c >= '\x021a' && c <= '\x021b') ||+ (c >= '\x202a' && c <= '\x202e')++isByzantine :: Text -> Bool+isByzantine = T.any isByzantineChar++asBool :: Value -> Parser Bool+asBool (String t) = return $ t == "true"+asBool (Bool b) = return b+asBool (Number n) = return $ n == 1+asBool x = typeMismatch "Bool" x++asText :: Value -> Parser Text+asText (String t) = return t+asText (Number n) = return $ case S.floatingOrInteger n of+ Left r -> T.pack (show (r :: Double))+ Right i -> T.pack (show (i :: Int))+asText x = typeMismatch "String" x++asInt :: Value -> Parser Int+asInt (String t) =+ case readAsInt t of+ Just x -> return x+ Nothing -> fail "not a number"+asInt v@Number{} = parseJSON v+asInt v = typeMismatch "Number" v++data Date =+ Date+ { dateParts :: [DateParts]+ , dateCirca :: Bool+ , dateSeason :: Maybe Int+ , dateLiteral :: Maybe Text+ } deriving (Show, Eq, Ord)++instance ToJSON Date where+ toJSON d =+ object $+ (if dateCirca d then (("circa", toJSON True):) else id) .+ (case dateSeason d of+ Just s -> (("season", toJSON s):)+ Nothing -> id) .+ (case dateLiteral d of+ Just l -> (("literal", toJSON l):)+ Nothing -> id) $+ [ ("date-parts", toJSON (dateParts d)) ]++instance FromJSON Date where+ parseJSON (String t) = rawDate t -- cheater dates+ parseJSON x = withObject "Date" (\v ->+ (v.: "raw" >>= rawDate)+ <|>+ (Date <$> v .:? "date-parts" .!= []+ <*> ((v .: "circa" >>= asBool) <|> pure False)+ <*> ((v .: "season" >>= fmap Just . asInt) <|> pure Nothing)+ <*> v .:? "literal")) x++newtype DateParts = DateParts [Int]+ deriving (Show, Eq, Ord, ToJSON)++instance FromJSON DateParts where+ parseJSON v =+ DateParts <$> (parseJSON v >>= mapM asInt . removeEmptyStrings)++rawDate :: Text -> Parser Date+rawDate t = case rawDateEDTF t <|> rawDateOld t of+ Just d -> return d+ Nothing -> return $ Date { dateParts = []+ , dateCirca = False+ , dateSeason = Nothing+ , dateLiteral = Just t }++rawDateEDTF :: Text -> Maybe Date+rawDateEDTF = rawDateISO . handleRanges+ where+ handleRanges t =+ case T.split (=='/') t of+ -- 199u EDTF format for a range+ [x] | T.any (== 'u') x ->+ T.map (\c -> if c == 'u' then '0' else c) x+ <> "/" <>+ T.map (\c -> if c == 'u' then '9' else c) x+ [x, "open"] -> x <> "/" -- EDTF+ [x, "unknown"] -> x <> "/" -- EDTF+ _ -> t++rawDateISO :: Text -> Maybe Date+rawDateISO raw = do+ let ranges = map T.strip $ T.split (=='/') raw+ let circa = any ("~" `T.isSuffixOf`) ranges+ let isSpecial '~' = True+ isSpecial '?' = True+ isSpecial '%' = True+ isSpecial 'T' = True+ isSpecial _ = False+ let dparts t = do+ (hasY, t') <- if T.take 1 t == "y"+ then return (True, T.drop 1 t)+ else return (False, t)+ (isNeg, t'') <- if T.take 1 t' == "-"+ then return (True, T.drop 1 t')+ else return (False, t')+ let t''' = T.takeWhile (not . isSpecial) t''+ case T.split (=='-') t''' of+ [""] -> return $ DateParts [0]+ [y', m', d'] -> do+ guard $ T.length y' == 4 || hasY && T.length y' >= 4+ guard $ T.length m' == 2+ guard $ T.length d' == 2+ y <- (if isNeg+ then (\x -> (x * (-1)) - 1) -- 0 = 1 BC+ else id) <$> readAsInt y'+ m <- readAsInt m'+ d <- readAsInt d'+ return $ DateParts [y, m, d]+ [y', m'] -> do+ guard $ T.length y' == 4 || hasY && T.length y' >= 4+ guard $ T.length m' == 2+ y <- (if isNeg+ then (\x -> (x * (-1)) - 1) -- 0 = 1 BC+ else id) <$> readAsInt y'+ m <- readAsInt m'+ return $ DateParts [y, m]+ [y'] -> do+ guard $ T.length y' == 4 || hasY && T.length y' >= 4+ y <- (if isNeg+ then (\x -> (x * (-1)) - 1) -- 0 = 1 BC+ else id) <$> readAsInt y'+ return $ DateParts [y]+ _ -> mzero+ dps <- mapM dparts ranges+ return $ Date+ { dateParts = dps+ , dateCirca = circa+ , dateSeason = Nothing+ , dateLiteral = Nothing+ }+++rawDateOld :: Text -> Maybe Date+rawDateOld raw = do+ let months = ["jan","feb","mar","apr","may","jun","jul","aug",+ "sep","oct","nov","dec"]+ let seasons = ["spr","sum","fal","win"]+ let ranges = T.split (=='-') raw+ let readTextMonth t = do+ let key = T.toLower $ T.take 3 t+ case elemIndex key months of+ Just n -> return (n+1)+ Nothing -> case elemIndex key seasons of+ Just n -> return (n+13)+ Nothing -> fail "Improper month"+ let dparts t =+ case T.split (\c -> c == ' ' || c == '/' || c == ',') $ T.strip t of+ [m', d', y'] -> do+ y <- readAsInt y'+ m <- readAsInt m' <|> readTextMonth m'+ d <- readAsInt d'+ return $ DateParts [y, m, d]+ [m', y'] -> do+ y <- readAsInt y'+ m <- readAsInt m' <|> readTextMonth m'+ return $ DateParts [y, m]+ [y'] -> do+ y <- readAsInt y'+ return $ DateParts [y]+ [] -> return $ DateParts []+ _ -> mzero+ dps <- mapM dparts ranges+ return $ Date+ { dateParts = dps+ , dateCirca = False+ , dateSeason = Nothing+ , dateLiteral = Nothing+ }++++removeEmptyStrings :: [Value] -> [Value]+removeEmptyStrings = filter (not . isEmptyString)+ where+ isEmptyString (String t) = T.null t+ isEmptyString _ = False++data Output a =+ Formatted Formatting [Output a]+ | InNote (Output a)+ | Literal a+ | Tagged Tag (Output a)+ | NullOutput+ deriving (Show, Eq)++instance Uniplate (Output a) where+ uniplate (Formatted f xs) = plate Formatted |- f ||* xs+ uniplate (InNote x) = plate InNote |* x+ uniplate (Literal x) = plate Literal |- x+ uniplate (Tagged t x) = plate Tagged |- t |* x+ uniplate NullOutput = plate NullOutput++instance Biplate (Output a) (Output a) where+ biplate = plateSelf++data Tag =+ TagTerm+ | TagCitationNumber Int+ | TagCitationLabel+ | TagItem CitationItemType ItemId+ | TagName Name+ | TagNames Variable NamesFormat [Name]+ | TagDate Date+ | TagYearSuffix Int+ | TagLocator+ deriving (Show, Eq)++outputToText :: CiteprocOutput a => Output a -> Text+outputToText NullOutput = mempty+outputToText (Literal x ) = toText x+outputToText (Tagged _ x) = outputToText x+outputToText (Formatted _ xs) = T.unwords $ map outputToText xs+outputToText (InNote x) = outputToText x++renderOutput :: CiteprocOutput a => CiteprocOptions -> Output a -> a+renderOutput _ NullOutput = mempty+renderOutput _ (Literal x) = x+renderOutput opts (Tagged (TagItem _ ident) x)+ | linkCitations opts+ = addHyperlink ("#ref-" <> unItemId ident) $ renderOutput opts x+renderOutput opts (Tagged _ x) = renderOutput opts x+renderOutput opts (Formatted formatting xs) =+ addFormatting formatting . mconcat . fixPunct .+ (case formatDelimiter formatting of+ Just d -> addDelimiters (fromText d)+ Nothing -> id) . filter (/= mempty) $ map (renderOutput opts) xs+renderOutput opts (InNote x) = inNote $+ dropTextWhile isSpace $+ dropTextWhile (\c -> c == ',' || c == ';' || c == '.' || c == ':') $+ renderOutput opts x++addDelimiters :: CiteprocOutput a => a -> [a] -> [a]+addDelimiters delim =+ foldr addDelim []+ where+ addDelim x [] = [x]+ addDelim x (a:as) = case T.uncons (toText a) of+ Just (c,_)+ | c == ',' || c == ';' || c == '.' -> x : a : as+ _ -> x : delim : a : as++fixPunct :: CiteprocOutput a => [a] -> [a]+fixPunct (x:y:zs) =+ case (xEnd, yStart) of+ -- https://github.com/Juris-M/citeproc-js/blob/master/src/queue.js#L724+ ('!','.') -> keepFirst+ ('!','?') -> keepBoth+ ('!',':') -> keepFirst+ ('!',',') -> keepBoth+ ('!',';') -> keepBoth+ ('?','!') -> keepBoth+ ('?','.') -> keepFirst+ ('?',':') -> keepFirst+ ('?',',') -> keepBoth+ ('?',';') -> keepBoth+ ('.','!') -> keepBoth+ ('.','?') -> keepBoth+ ('.',':') -> keepBoth+ ('.',',') -> keepBoth+ ('.',';') -> keepBoth+ (':','!') -> keepSecond+ (':','?') -> keepSecond+ (':','.') -> keepFirst+ (':',',') -> keepBoth+ (':',';') -> keepBoth+ (',','!') -> keepBoth+ (',','?') -> keepBoth+ (',',':') -> keepBoth+ (',','.') -> keepBoth+ (',',';') -> keepBoth+ (';','!') -> keepSecond+ (';','?') -> keepSecond+ (';',':') -> keepFirst+ (';','.') -> keepFirst+ (';',',') -> keepBoth+ ('!','!') -> keepFirst+ ('?','?') -> keepFirst+ ('.','.') -> keepFirst+ (':',':') -> keepFirst+ (';',';') -> keepFirst+ (',',',') -> keepFirst+ (' ',' ') -> keepSecond+ (' ',',') -> keepSecond+ (' ','.') -> keepSecond+ _ -> keepBoth+ where+ xText = toText x+ yText = toText y+ xEnd = if T.null xText then '\xFFFD' else T.last xText+ yStart = if T.null yText then '\xFFFD' else T.head yText+ keepFirst = fixPunct $ x : (dropTextWhile (== yStart) y : zs)+ keepSecond = fixPunct $ dropTextWhileEnd (== xEnd) x : y : zs+ keepBoth = x : fixPunct (y : zs)+fixPunct zs = zs+++grouped :: [Output a] -> Output a+grouped = formatted mempty++formatted :: Formatting -> [Output a] -> Output a+formatted formatting = grouped' . filter (not . isNullOutput)+ where+ isNullOutput NullOutput = True+ isNullOutput _ = False+ grouped' [] = NullOutput+ grouped' [x] | formatting == mempty = x+ grouped' xs = Formatted formatting xs++readAsInt :: Text -> Maybe Int+readAsInt t =+ case TR.decimal t of+ Right (x,t') | T.null t' -> Just x+ _ -> Nothing++-- | An abbreviations map. These are typically stored in a JSON+-- serialization: for examples of the format, see+-- <https://github.com/citation-style-language/abbreviations>.+-- Abbreviations are substituted in the output when the variable+-- and its content are matched by something in the abbreviations map.+newtype Abbreviations =+ Abbreviations (M.Map Variable (M.Map Text Text))+ deriving (Show, Eq, Ord)++instance FromJSON Abbreviations where+ parseJSON (Object v) =+ Abbreviations <$>+ (parseJSON (Object v) >>= maybe+ (fail "abbreviations lacks a default key")+ return . M.lookup ("default" :: Text))+ parseJSON _ = fail "Could not read abbreviations"++instance ToJSON Abbreviations where+ toJSON (Abbreviations m) =+ object [("default", toJSON m)]++-- | Returns an abbreviation if the variable and its value match+-- something in the abbreviations map.+lookupAbbreviation :: CiteprocOutput a+ => Variable -> Val a -> Abbreviations -> Maybe (Val a)+lookupAbbreviation var val (Abbreviations abbrevmap) = do+ abbrvs <- M.lookup (if variableType var == NumberVariable+ then "number"+ else var) abbrevmap+ case val of+ TextVal t -> maybe mzero (return . TextVal) $ M.lookup t abbrvs+ FancyVal x -> maybe mzero (return . TextVal) $ M.lookup (toText x) abbrvs+ NumVal n -> maybe mzero (return . TextVal)+ $ M.lookup (T.pack (show n)) abbrvs+ _ -> mzero++-- | Result of citation processing.+data Result a =+ Result+ { resultCitations :: [a] -- ^ List of formatted citations+ -- corresponding to the citations given to 'citeproc'+ , resultBibliography :: [(Text, a)] -- ^ List of formatted bibliography+ -- entries (if the style calls for a bibliography),+ -- each a pair consisting of the item identifier and+ -- the formatted entry+ , resultWarnings :: [Text] -- ^ Warnings from citation processing+ } deriving (Show)++instance ToJSON a => ToJSON (Result a) where+ toJSON res = object+ [ ("citations", toJSON $ resultCitations res)+ , ("bibliography", toJSON $ resultBibliography res)+ , ("warnings", toJSON $ resultWarnings res)+ ]++instance FromJSON a => FromJSON (Result a) where+ parseJSON = withObject "Result" $ \v ->+ Result <$> v .: "citations"+ <*> v .: "bibliography"+ <*> v .: "warnings"++-- | Inputs for citation processing.+data Inputs a =+ Inputs+ { inputsCitations :: Maybe [Citation a]+ , inputsReferences :: Maybe [Reference a]+ , inputsStyle :: Maybe Text+ , inputsAbbreviations :: Maybe Abbreviations+ , inputsLang :: Maybe Lang+ } deriving (Show)++instance ToJSON a => ToJSON (Inputs a) where+ toJSON inp = object+ [ ("citations", toJSON $ inputsCitations inp)+ , ("references", toJSON $ inputsReferences inp)+ , ("style", toJSON $ inputsStyle inp)+ , ("abbreviations", toJSON $ inputsAbbreviations inp)+ , ("lang", toJSON $ inputsLang inp)+ ]++instance (FromJSON a, Eq a) => FromJSON (Inputs a) where+ parseJSON = withObject "Inputs" $ \v ->+ Inputs <$> v .:? "citations"+ <*> v .:? "references"+ <*> v .:? "style"+ <*> v .:? "abbreviations"+ <*> v .:? "lang"+
+ stack.yaml view
@@ -0,0 +1,10 @@+flags:+ citeproc:+ executable: true+ icu: false+resolver: lts-15.14+extra-deps:+- rfc5051-0.2+- pandoc-types-1.22+ghc-options:+ "$locals": -fhide-source-paths
+ test/NOTES.md view
@@ -0,0 +1,22 @@+## Notes on failures++### test/csl/bugreports_UnisaHarvardInitialization.txt++The expected output here includes a trailing space, which we delete.++### test/csl/number_PlainHyphenOrEnDashAlwaysPlural.txt++citeproc-js uses some heuristics to identify plurals,+but they aren't part of the spec and aren't entirely reliable.+"The logic will only set plurals where there is a numeric unit+on either side of a hyphen or en-dash. Numeric units are strings+ending in a number, or alphabetic strings consisting entirely of+characters appropriate to a roman numeral." This won't catch+4a-5a or IIa-VIb.++### test/csl/variables_TitleShortOnShortTitleNoTitleCondition.txt++This test is contrary to the spec. The whole group should+be suppressed because it contains variables but none are+called. See https://github.com/citation-style-language/test-suite/issues/29+
+ test/Spec.hs view
@@ -0,0 +1,347 @@+{-# LANGUAGE StrictData #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE OverloadedStrings #-}+module Main (main) where+import Citeproc+import Citeproc.CslJson+import Data.Semigroup+import Data.Algorithm.DiffContext+import System.TimeIt (timeIt)+import Control.Monad (unless)+import Control.Monad.Trans.State+import Control.Monad.IO.Class (liftIO)+import System.Environment (getArgs)+import System.Exit+import System.Directory (getDirectoryContents, doesFileExist)+import Data.Char (isDigit)+import Data.Text (Text)+import qualified Data.Set as Set+import qualified Text.PrettyPrint as Pretty+import qualified Data.Text as T+import qualified Data.Text.IO as TIO+import Data.List (foldl', isInfixOf, intersperse, sortOn, sort)+import Data.Containers.ListUtils (nubOrdOn)+import Data.Char (isLetter, toLower)+import Data.ByteString (ByteString)+import qualified Data.ByteString.Char8 as B+import qualified Data.ByteString.Lazy as L+import qualified Data.Aeson as A+import Data.Text.Encoding (decodeUtf8)+import System.FilePath+import Data.Maybe (fromMaybe)+import Text.Printf (printf)++data CiteprocTest a =+ CiteprocTest+ { name :: Text+ , path :: FilePath+ , category :: Text+ , mode :: Text+ , result :: Text+ , csl :: ByteString+ , input :: [Reference a]+ , bibentries :: Maybe A.Value+ , bibsection :: Maybe A.Value+ , citeItems :: Maybe [Citation a]+ , citations :: Maybe [Citation a]+ , abbreviations :: Maybe Abbreviations+ , skipReason :: Maybe Text+ } deriving (Show)++data TestResult =+ Passed+ | Skipped Text+ | Failed Text Text+ | Errored CiteprocError+ deriving (Show, Eq)++runTest :: CiteprocTest (CslJson Text)+ -> StateT Counts IO TestResult+runTest test = do+ let cites =+ case citations test of+ Just cs -> cs+ Nothing ->+ case citeItems test of+ Nothing+ | mode test == "citation"+ -> [referencesToCitation+ (nubOrdOn referenceId (input test))]+ | otherwise+ -> map (referencesToCitation . (:[]))+ (nubOrdOn referenceId (input test))+ Just cs -> cs+ let doError err = do+ modify $ \st -> st{ errored = category test : errored st }+ liftIO $ do+ TIO.putStrLn $ "[ERRORED] " <> T.pack (path test)+ TIO.putStrLn $ T.pack $ show err+ TIO.putStrLn ""+ return $ Errored err+ let doSkip reason = do+ modify $ \st -> st{ skipped = category test : skipped st }+ liftIO $ do+ TIO.putStrLn $ "[SKIPPED] " <> T.pack (path test)+ -- TIO.putStrLn $ T.strip reason+ TIO.putStrLn ""+ return $ Skipped reason+ case skipReason test of+ Just reason -> doSkip reason+ Nothing ->+ case parseStyle (\_ -> Nothing) (decodeUtf8 $ csl test) of+ Nothing -> doError $ CiteprocParseError+ "Could not fetch independent parent"+ Just (Left err) -> doError err+ Just (Right style') -> do+ let style = style'{ styleAbbreviations = abbreviations test }+ let loc = mergeLocales Nothing style+ let actual = citeproc defaultCiteprocOptions+ style Nothing (input test) cites+ unless (null (resultWarnings actual)) $ do+ liftIO $ do+ TIO.putStrLn $ "[WARNING] " <> T.pack (path test)+ mapM_ (TIO.putStrLn . ("==> " <>))+ $ resultWarnings actual+ case mode test of+ "citation" -> compareTest test+ (T.intercalate "\n" $ map (renderCslJson' loc)+ (resultCitations actual))+ "bibliography" -> compareTest test+ (T.intercalate "\n"+ (addDivs $ map (renderCslJson' loc . snd)+ (resultBibliography actual)))+ _ -> doSkip $ "unknown mode " <> mode test++renderCslJson' :: Locale -> CslJson Text -> Text+renderCslJson' loc x =+ if T.null res+ then "[CSL STYLE ERROR: reference with no printed form.]"+ else res+ where+ res = renderCslJson True loc x++addDivs :: [Text] -> [Text]+addDivs ts = "<div class=\"csl-bib-body\">" : map addItemDiv ts ++ ["</div>"]+ where addItemDiv t+ | "<div" `T.isPrefixOf` t =+ " <div class=\"csl-entry\">\n " <> t <> "\n </div>"+ | "</div>" `T.isSuffixOf` t =+ " <div class=\"csl-entry\">" <> t <> "\n </div>"+ | otherwise =+ " <div class=\"csl-entry\">" <> t <> "</div>"++referencesToCitation :: [Reference a] -> Citation a+referencesToCitation rs =+ Citation { citationId = Nothing+ , citationNoteNumber = Nothing+ , citationItems = map (\r ->+ CitationItem{ citationItemId = referenceId r+ , citationItemLabel = Nothing+ , citationItemLocator = Nothing+ , citationItemType = NormalCite+ , citationItemPrefix = Nothing+ , citationItemSuffix = Nothing }) rs+ }++-- remove >>[0] or ..[1]+removeCitationNums :: Text -> Text+removeCitationNums =+ T.intercalate "\n" . map removeNum . T.lines+ where+ removeNum = T.dropWhile (== ' ') .+ T.dropWhile (\c -> c == '>' || c == '.' ||+ c == '[' || c == ']' || isDigit c)+++compareTest :: CiteprocTest (CslJson Text)+ -> Text+ -> StateT Counts IO TestResult+compareTest test actual = do+ let expected = case citations test of+ Just _ -> removeCitationNums $ result test+ Nothing -> result test+ if actual == expected+ then do+ modify $ \st -> st{ passed = category test : passed st }+ -- suppress PASSED messages+ -- liftIO $ TIO.putStrLn $ "[PASSED] " <> path test+ return Passed+ else do+ modify $ \st -> st{ failed = category test : failed st }+ liftIO $ do+ TIO.putStrLn $ "[FAILED] " <> T.pack (path test)+ showDiff expected actual+ return $ Failed actual expected++splitSections :: ByteString -> [(Text, ByteString)]+splitSections = snd . foldl' go startingState . B.lines . removeBOM+ where+ removeBOM bs = if "\xef\xbb\xbf" `B.isPrefixOf` bs+ then B.drop 3 bs+ else bs+ startingState ::+ (Maybe (Text, [ByteString]), [(Text, ByteString)])+ startingState = (Nothing, mempty)+ go (Nothing, accum) t+ | ">>==" `B.isPrefixOf` t =+ let secname = T.toLower $ T.filter (\c -> isLetter c || c == '-')+ $ decodeUtf8 t+ in (Just (secname, mempty), accum)+ | otherwise = (Nothing, accum)+ go (Just (sec, buffer), accum) t+ | "<<==" `B.isPrefixOf` t =+ (Nothing, (sec, mconcat $ intersperse "\n" (reverse buffer)) : accum)+ | otherwise = (Just (sec, t:buffer), accum)+++loadTestCase :: FilePath -> IO (CiteprocTest (CslJson Text))+loadTestCase fp = do+ sections <- splitSections <$> B.readFile fp+ let cslBs = fromMaybe mempty $ lookup "csl" sections+ let fromJSON field x =+ case A.eitherDecode (L.fromStrict x) of+ Left e -> error $ "JSON decoding error " <>+ " in " <> fp <> " (" <>+ field <> ")\n" <> show e+ Right z -> z+ reason <- do+ exists <- doesFileExist (fp <> ".skip")+ if exists+ then Just <$> TIO.readFile (fp <> ".skip")+ else return Nothing+ return CiteprocTest+ { name = T.pack $ dropExtension $ takeBaseName fp+ , path = fp+ , category = T.takeWhile (/='_') $ T.pack $ takeBaseName fp+ , mode = maybe mempty decodeUtf8 $ lookup "mode" sections+ , result = maybe mempty decodeUtf8 $ lookup "result" sections+ , csl = cslBs+ , input = maybe (error "No INPUT") (fromJSON "INPUT") $+ lookup "input" sections+ , bibentries = fromJSON "BIBENTRIES" <$> lookup "bibentries" sections+ , bibsection = fromJSON "BIBSECTION" <$> lookup "bibsection" sections+ , citeItems = fromJSON "CITATION-ITEMS" <$>+ lookup "citation-items" sections+ , citations = removeDuplicates . fromJSON "CITATIONS" <$>+ lookup "citations" sections+ -- need appropriate fromjson instance:+ -- fromJSON "CITATION" <$> lookup "citation-items" sections+ , abbreviations = fromJSON "ABBREVIATIONS" <$>+ lookup "abbreviations" sections+ , skipReason = reason+ }++-- for motivation see e.g. test/csl/collapse_CitationNumberRangesInsert.txt+-- Later Citations can replace earlier ones with the same citationId.+removeDuplicates :: [Citation a] -> [Citation a]+removeDuplicates [] = []+removeDuplicates (c:cs) =+ case citationId c of+ Just cid ->+ if any (\cit -> citationId cit == Just cid) cs+ then removeDuplicates cs+ else c : removeDuplicates cs+ Nothing -> c : removeDuplicates cs++testDir :: FilePath+testDir = "test" </> "csl"++overrideDir :: FilePath+overrideDir = "test" </> "overrides"++extraDir :: FilePath+extraDir = "test" </> "extra"++main :: IO ()+main = do+ args <- getArgs+ let matchesPattern x =+ takeExtension x == ".txt" &&+ case args of+ [] -> True+ _ -> any (\arg -> map toLower arg `isInfixOf` (map toLower x)) args+ overrides <- if any ('/' `elem`) args+ then return []+ else filter matchesPattern <$>+ getDirectoryContents overrideDir++ let addDir fp = if fp `elem` overrides+ then overrideDir </> fp+ else testDir </> fp++ testFiles <- if any ('/' `elem`) args+ then return args+ else do+ cslTests <- map addDir . filter matchesPattern+ <$> getDirectoryContents testDir+ extraTests <- map (extraDir </>) . filter matchesPattern+ <$> getDirectoryContents extraDir+ return $ cslTests ++ extraTests+++ testCases <- sortOn name <$> mapM loadTestCase testFiles+ (_,counts) <- timeIt $+ runStateT (mapM_ runTest testCases)+ Counts{ failed = []+ , errored = []+ , passed = []+ , skipped = [] }+ putStrLn ""+ let categories = sort $ Set.toList+ $ foldr (Set.insert . category) mempty testCases+ putStrLn $ printf "%-15s %6s %6s %6s %6s"+ ("CATEGORY" :: String)+ ("PASS" :: String)+ ("FAIL" :: String)+ ("ERROR" :: String)+ ("SKIP" :: String)+ let resultsFor cat = do+ let p = length . filter (== cat) . passed $ counts+ let f = length . filter (== cat) . failed $ counts+ let e = length . filter (== cat) . errored $ counts+ let s = length . filter (== cat) . skipped $ counts+ let percent = (fromIntegral p / fromIntegral (p + f + e) :: Double)+ putStrLn $ printf "%-15s %6d %6d %6d %6d |%-20s|"+ (T.unpack cat) p f e s+ (replicate (floor (percent * 20.0)) '+')+ mapM_ resultsFor categories+ putStrLn $ printf "%-15s %6s %6s %6s %6s"+ ("-------------" :: String)+ ("-----" :: String)+ ("-----" :: String)+ ("-----" :: String)+ ("-----" :: String)+ putStrLn $ printf "%-15s %6d %6d %6d %6d"+ ("(all)" :: String)+ (length (passed counts))+ (length (failed counts))+ (length (errored counts))+ (length (skipped counts))+ case length (failed counts) + length (errored counts) of+ 0 -> exitWith ExitSuccess+ n | n <= 59 -> do+ putStrLn "We have passed all the CSL tests we expect to..."+ exitWith ExitSuccess+ | otherwise -> exitWith $ ExitFailure n++data Counts =+ Counts+ { failed :: [Text]+ , errored :: [Text]+ , passed :: [Text]+ , skipped :: [Text]+ } deriving (Show)++showDiff :: Text -> Text -> IO ()+showDiff expected actual = do+ -- Use this to see unicode characters (e.g. dashes) better+ -- let f = mconcat . map+ -- (\c -> if isAscii c+ -- then T.singleton c+ -- else T.pack (printf "[U+%04X]" (ord c))) . T.unpack+ putStrLn $ Pretty.render $ prettyContextDiff+ (Pretty.text "expected")+ (Pretty.text "actual")+ (Pretty.text . T.unpack)+ $ getContextDiff 1 (T.lines expected) (T.lines actual)+
+ test/csl/affix_CommaAfterQuote.txt view
@@ -0,0 +1,53 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+“quote”, Hello Thing+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1",+ "prefix": "'quote', "+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title"/>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Hello Thing",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/affix_InterveningEmpty.txt view
@@ -0,0 +1,79 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+John Doe. His Anonymous Life. 1965.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name/>+ </names>+ </macro>+ <macro name="title">+ <text variable="title"/>+ </macro>+ <macro name="journal">+ <text variable="container-title"/>+ </macro>+ <macro name="date">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </macro>+ <citation>+ <layout suffix=".">+ <text macro="author"/>+ <text macro="title" prefix=". "/>+ <text macro="journal"/>+ <text macro="date" prefix=". "/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/affix_MovingPunctuation.txt view
@@ -0,0 +1,56 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+“The Title.” And “so it goes”+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1",+ "suffix": ". And \"so it goes\""+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <style-options punctuation-in-quote="true"/>+ </locale>+ <citation>+ <layout delimiter="; ">+ <text variable="title" quotes="true"/>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "The Title",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/affix_PrefixFullCitationTextOnly.txt view
@@ -0,0 +1,80 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+(As written in Smith 2000)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2007-10-26T21:32:52+02:00</updated>+ </info>+ <citation>+ <layout prefix="(" suffix=")">+ <group delimiter=" ">+ <names variable="author">+ <name form="short" />+ </names>+ <date variable="issued">+ <date-part name="year" />+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<++>>===== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1",+ "prefix": "As written in "+ }+ ]+]+<<===== CITATION-ITEMS =====<<++++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ "2000", + "2", + "15"+ ]+ ]+ }, + "title": "Book C", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/affix_PrefixWithDecorations.txt view
@@ -0,0 +1,80 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+(<span style="font-variant:small-caps;">See</span> Smith 2000)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2007-10-26T21:32:52+02:00</updated>+ </info>+ <citation>+ <layout prefix="(" suffix=")">+ <group delimiter=" ">+ <names variable="author">+ <name form="short" />+ </names>+ <date variable="issued">+ <date-part name="year" />+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<++>>===== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1",+ "prefix": "<sc>See</sc> "+ }+ ]+]+<<===== CITATION-ITEMS =====<<++++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ "2000", + "2", + "15"+ ]+ ]+ }, + "title": "Book C", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/affix_SpaceWithQuotes.txt view
@@ -0,0 +1,53 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+The Title And “so it goes”+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1",+ "suffix": " And \"so it goes\""+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; ">+ <text variable="title" />+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "The Title",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/affix_TextNodeWithMacro.txt view
@@ -0,0 +1,51 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+One. Two.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style+ xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <style-options punctuation-in-quote="false"/>+ </locale>+ <macro name="two">+ <text value="Two"/>+ </macro>+ <citation>+ <layout suffix=".">+ <text value="One"/>+ <text macro="two" prefix=". "/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/affix_WithCommas.txt view
@@ -0,0 +1,1100 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+..[0] John Smith, <i>Book C</i>, 2000, and David Jones, <i>Book D</i>, 2000.+..[1] Smith, <i>Book C</i> is one source, Jones, <i>Book D</i> is another.+>>[2] Smith, <i>Book C</i>, 23 is one source, Jones, <i>Book D</i> is another.+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0" demote-non-dropping-particle="sort-only">+ <info>+ <title>Chicago Manual of Style (Full Note w. Bibliography) [delimiter fixes]</title>+ <id>http://www.zotero.org/styles/chicago-fullnote-bibliography-delimiter-fixes</id>+ <link href="http://www.zotero.org/styles/chicago-fullnote-bibliography-delimiter-fixes" rel="self"/>+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </contributor>+ <contributor>+ <name>Elena Razlogova</name>+ <email>elena.razlogova@gmail.com</email>+ </contributor>+ <contributor>+ <name>Frank Bennett</name>+ <email>biercenator@gmail.com</email>+ </contributor>+ <summary>Chicago format with full notes and bibliography (with delimiter fixes)</summary>+ <category field="generic-base"/>+ <category citation-format="note"/>+ <updated>2009-12-04T20:22:16+00:00</updated>+ <rights>This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>+ </info>+ <locale xml:lang="en">+ <terms>+ <term name="editortranslator" form="verb-short">+ <single>trans. and ed.</single>+ <multiple>trans. and ed.</multiple>+ </term>+ <term name="editortranslator" form="verb">+ <single> Translated and edited by</single>+ <multiple> Translated and edited by</multiple>+ </term>+ </terms>+ </locale>+ <macro name="editor-translator">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <group delimiter=" ">+ <choose>+ <if variable="container-author">+ <group>+ <names variable="container-author">+ <label form="verb-short" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </if>+ </choose>+ </group>+ <names variable="editor translator" delimiter=", ">+ <label form="verb-short" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="secondary-contributors-note">+ <choose>+ <if type="chapter paper-conference" match="none">+ <text macro="editor-translator"/>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors-note">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text macro="editor-translator"/>+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if type="chapter paper-conference" match="none">+ <group delimiter=". ">+ <choose>+ <if variable="author">+ <names variable="editor translator" delimiter=". ">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference" match="any">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <choose>+ <if variable="container-author">+ <names variable="container-author">+ <label form="verb-short" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ </choose>+ <!--This includes page numers after the container author, e.g. for Introductions -->+ <choose>+ <if variable="container-author author" match="all">+ <group delimiter=". ">+ <text variable="page"/>+ <names variable="editor translator" delimiter=", ">+ <label form="verb" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </if>+ <else>+ <names variable="editor translator" delimiter=", ">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </else>+ </choose>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="recipient-note">+ <names variable="recipient" delimiter=", ">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="contributors-note">+ <group delimiter=" ">+ <names variable="author">+ <name and="text" sort-separator=", " delimiter=", "/>+ <label form="short" prefix=", "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ <text macro="recipient-note"/>+ </group>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", "/>+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="verb-short" prefix=", "/>+ </names>+ </macro>+ <macro name="recipient">+ <group delimiter=" ">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ <else>+ <text term="letter" text-case="capitalize-first"/>+ </else>+ </choose>+ </if>+ </choose>+ <text macro="recipient-note"/>+ </group>+ </macro>+ <macro name="contributors">+ <group delimiter=". ">+ <names variable="author">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <substitute>+ <text macro="editor"/>+ <text macro="translator"/>+ </substitute>+ </names>+ <text macro="recipient"/>+ </group>+ </macro>+ <macro name="recipient-short">+ <names variable="recipient">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name form="short" and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="contributors-short">+ <group delimiter=" ">+ <names variable="author">+ <name form="short" and="text" delimiter=", "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ <text macro="recipient-short"/>+ </group>+ </macro>+ <macro name="contributors-sort">+ <names variable="author">+ <name name-as-sort-order="all" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="verb-short" prefix=", "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ </macro>+ <macro name="interviewer-note">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="interviewer">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="title-note">+ <choose>+ <if variable="title" match="none">+ <text variable="genre"/>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </else-if>+ <else>+ <text variable="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if variable="title" match="none">+ <choose>+ <if type="personal_communication" match="none">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ </choose>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </else-if>+ <else>+ <text variable="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="title-short">+ <choose>+ <if variable="title" match="none">+ <choose>+ <if type="interview">+ <text term="interview" text-case="lowercase"/>+ </if>+ <else-if type="manuscript speech" match="any">+ <text variable="genre" form="short"/>+ </else-if>+ <else-if type="personal_communication">+ <text macro="issued"/>+ </else-if>+ </choose>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" form="short" font-style="italic"/>+ </else-if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="description-note">+ <group delimiter=", ">+ <text macro="interviewer-note"/>+ <text variable="medium"/>+ <choose>+ <if variable="title" match="none"/>+ <else-if type="thesis speech" match="any"/>+ <else>+ <text variable="genre"/>+ </else>+ </choose>+ </group>+ </macro>+ <macro name="description">+ <group delimiter=", ">+ <group delimiter=". ">+ <text macro="interviewer"/>+ <text variable="medium" text-case="capitalize-first"/>+ </group>+ <choose>+ <if variable="title" match="none"/>+ <else-if type="thesis speech" match="any"/>+ <else>+ <text variable="genre" text-case="capitalize-first"/>+ </else>+ </choose>+ </group>+ </macro>+ <macro name="container-title-note">+ <group delimiter=" ">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text term="in" text-case="lowercase"/>+ </if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <text variable="container-title" font-style="italic"/>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="container-title">+ <group delimiter=" ">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text term="in" text-case="capitalize-first"/>+ </if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <text variable="container-title" font-style="italic"/>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="collection-title">+ <group delimiter=" ">+ <text variable="collection-title"/>+ <text variable="collection-number"/>+ </group>+ </macro>+ <macro name="edition-note">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short"/>+ </group>+ </if>+ <else>+ <number variable="edition" suffix="."/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short"/>+ </group>+ </if>+ <else>+ <number variable="edition" text-case="capitalize-first" suffix="."/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-note-join-with-space">+ <choose>+ <if type="article-journal">+ <text macro="locators-note"/>+ </if>+ </choose>+ </macro>+ <macro name="locators-note-join-with-comma">+ <choose>+ <if type="article-journal" match="none">+ <text macro="locators-note"/>+ </if>+ </choose>+ </macro>+ <macro name="locators-note">+ <choose>+ <if type="article-journal">+ <group delimiter=", ">+ <number variable="volume"/>+ <group delimiter=" ">+ <text term="issue" form="short"/>+ <number variable="issue"/>+ </group>+ </group>+ </if>+ <else-if type="legal_case">+ <group delimiter=", ">+ <group delimiter=" ">+ <number variable="volume"/>+ <text variable="container-title"/>+ <text variable="page"/>+ </group>+ <text variable="locator"/>+ </group>+ </else-if>+ <else-if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <group delimiter=", ">+ <group delimiter=" ">+ <text term="volume" form="short"/>+ <number variable="volume" form="numeric"/>+ </group>+ <choose>+ <if variable="locator" match="none">+ <group delimiter=" ">+ <number variable="number-of-volumes" form="numeric"/>+ <text term="volume" form="short" plural="true"/>+ </group>+ </if>+ </choose>+ <text macro="edition-note"/>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-join-with-space">+ <choose>+ <if type="article-journal">+ <text macro="locators"/>+ </if>+ </choose>+ </macro>+ <macro name="locators-join-with-comma">+ <choose>+ <if type="legal_case">+ <text macro="locators"/>+ </if>+ </choose>+ </macro>+ <macro name="locators-join-with-period">+ <choose>+ <if type="legal_case article-journal" match="none">+ <text macro="locators"/>+ </if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <group delimiter=", ">+ <number variable="volume"/>+ <group delimiter=" ">+ <text term="issue" form="short"/>+ <number variable="issue"/>+ </group>+ </group>+ </if>+ <else-if type="legal_case">+ <group delimiter=" ">+ <number variable="volume"/>+ <text variable="container-title"/>+ <text variable="page"/>+ </group>+ </else-if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <group delimiter=". ">+ <group delimiter=" ">+ <text term="volume" form="short" text-case="capitalize-first"/>+ <number variable="volume" form="numeric"/>+ </group>+ <group delimiter=" ">+ <number variable="number-of-volumes" form="numeric"/>+ <text term="volume" form="short" plural="true"/>+ </group>+ <text macro="edition"/>+ </group>+ </else-if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=". ">+ <choose>+ <if variable="page" match="none">+ <group delimiter=" ">+ <text term="volume" form="short" text-case="capitalize-first"/>+ <number variable="volume" form="numeric"/>+ </group>+ </if>+ </choose>+ <text macro="edition"/>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-newspaper">+ <choose>+ <if type="article-newspaper">+ <group delimiter=", ">+ <group delimiter=" ">+ <number variable="edition"/>+ <text term="edition"/>+ </group>+ <group delimiter=" ">+ <text term="section" form="short"/>+ <text variable="section"/>+ </group>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="event">+ <group delimiter=" ">+ <text term="presented at"/>+ <text variable="event"/>+ </group>+ </macro>+ <macro name="publisher">+ <choose>+ <if type="thesis">+ <text variable="publisher"/>+ </if>+ <else>+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="issued">+ <choose>+ <if variable="issued">+ <choose>+ <if type="graphic report" match="any">+ <date variable="issued">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </if>+ <else-if type="legal_case">+ <group delimiter=" ">+ <text variable="authority"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ <else-if type="bill book graphic legal_case motion_picture report song thesis chapter paper-conference" match="any">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </else-if>+ <else>+ <date variable="issued">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </else>+ </choose>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="point-locators-subsequent">+ <choose>+ <if variable="locator">+ <choose>+ <if locator="page" match="none">+ <group delimiter=" ">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <choose>+ <if variable="volume">+ <group delimiter=", ">+ <group delimiter=" ">+ <text term="volume" form="short" text-case="lowercase"/>+ <number variable="volume" form="numeric"/>+ </group>+ <label variable="locator" form="short"/>+ </group>+ </if>+ <else>+ <label variable="locator" form="short"/>+ </else>+ </choose>+ </if>+ </choose>+ <text variable="locator"/>+ </group>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <group delimiter=":">+ <number variable="volume" form="numeric"/>+ <text variable="locator"/>+ </group>+ </else-if>+ <else>+ <text variable="locator"/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="point-locators-join-with-colon">+ <choose>+ <if type="article-journal">+ <choose>+ <if variable="locator page" match="any">+ <text macro="point-locators"/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="point-locators-join-with-comma">+ <choose>+ <if type="article-journal" match="none">+ <text macro="point-locators"/>+ </if>+ </choose>+ </macro>+ <macro name="point-locators">+ <choose>+ <if variable="locator" match="none">+ <choose>+ <if type="article-journal">+ <text variable="page"/>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <text variable="page"/>+ </else-if>+ </choose>+ </if>+ <else-if type="article-journal">+ <text variable="locator"/>+ </else-if>+ <else-if type="legal_case"/>+ <else>+ <group delimiter=" ">+ <choose>+ <if locator="page" match="none">+ <label variable="locator" form="short"/>+ </if>+ </choose>+ <text variable="locator"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter paper-conference" match="any">+ <choose>+ <if variable="page">+ <number variable="volume" suffix=":"/>+ <text variable="page"/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-journal">+ <choose>+ <if type="article-journal">+ <text variable="page"/>+ </if>+ </choose>+ </macro>+ <macro name="archive-note">+ <choose>+ <if type="thesis">+ <group delimiter=" ">+ <text variable="archive"/>+ <text variable="archive_location" prefix="(" suffix=")"/>+ </group>+ </if>+ <else>+ <group delimiter=", ">+ <text variable="archive_location"/>+ <text variable="archive"/>+ <text variable="archive-place"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="archive">+ <choose>+ <if type="thesis">+ <group delimiter=" ">+ <text variable="archive"/>+ <text variable="archive_location" prefix="(" suffix=")"/>+ </group>+ </if>+ <else>+ <group delimiter=". ">+ <text variable="archive_location" text-case="capitalize-first"/>+ <text variable="archive"/>+ <text variable="archive-place"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="issue-note-join-with-space">+ <choose>+ <if type="article-journal legal_case" variable="publisher-place publisher" match="any">+ <text macro="issue-note"/>+ </if>+ </choose>+ </macro>+ <macro name="issue-note-join-with-comma">+ <choose>+ <if type="article-journal legal_case" variable="publisher-place publisher" match="none">+ <text macro="issue-note"/>+ </if>+ </choose>+ </macro>+ <macro name="issue-note">+ <choose>+ <if type="article-journal legal_case" match="any">+ <text macro="issued" prefix="(" suffix=")"/>+ </if>+ <else-if variable="publisher-place publisher" match="any">+ <group prefix="(" suffix=")" delimiter=", ">+ <group delimiter=" ">+ <choose>+ <if variable="title" match="none"/>+ <else-if type="thesis speech" match="any">+ <text variable="genre"/>+ </else-if>+ </choose>+ <text macro="event"/>+ </group>+ <text macro="publisher"/>+ <text macro="issued"/>+ </group>+ </else-if>+ <else>+ <text macro="issued"/>+ </else>+ </choose>+ </macro>+ <macro name="issue-join-with-space">+ <choose>+ <if type="article-journal legal_case">+ <text macro="issue"/>+ </if>+ </choose>+ </macro>+ <macro name="issue-join-with-period">+ <choose>+ <if type="article-journal legal_case" match="none">+ <choose>+ <if type="speech" variable="publisher publisher-place" match="any">+ <text macro="issue"/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issue-join-with-comma">+ <choose>+ <if type="article-journal legal_case" match="none">+ <choose>+ <if type="speech" variable="publisher publisher-place" match="none">+ <text macro="issue"/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="article-journal legal_case" match="any">+ <text macro="issued" prefix="(" suffix=")"/>+ </if>+ <else-if type="speech">+ <group delimiter=", ">+ <group delimiter=" ">+ <choose>+ <if variable="title" match="none"/>+ <else>+ <text variable="genre" text-case="capitalize-first"/>+ </else>+ </choose>+ <text macro="event"/>+ </group>+ <text variable="event-place"/>+ <text macro="issued"/>+ </group>+ </else-if>+ <else-if variable="publisher-place publisher" match="any">+ <group delimiter=", ">+ <choose>+ <if type="thesis">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ </choose>+ <text macro="publisher"/>+ <text macro="issued"/>+ </group>+ </else-if>+ <else>+ <text macro="issued"/>+ </else>+ </choose>+ </macro>+ <macro name="access-note">+ <group delimiter=", ">+ <choose>+ <if type="graphic report" match="any">+ <text macro="archive-note"/>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song article-journal article-magazine article-newspaper chapter paper-conference" match="none">+ <text macro="archive-note"/>+ </else-if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <text variable="URL"/>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="access">+ <group delimiter=". ">+ <choose>+ <if type="graphic report" match="any">+ <text macro="archive"/>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song article-journal article-magazine article-newspaper chapter paper-conference" match="none">+ <text macro="archive"/>+ </else-if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <text variable="URL"/>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="sort-key">+ <group delimiter=" ">+ <text macro="contributors-sort"/>+ <text variable="title"/>+ <text variable="genre"/>+ </group>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" disambiguate-add-names="true">+ <layout suffix="." delimiter="; ">+ <choose>+ <if position="ibid-with-locator">+ <group delimiter=", ">+ <text term="ibid" text-case="capitalize-first"/>+ <text macro="point-locators-subsequent"/>+ </group>+ </if>+ <else-if position="ibid">+ <text term="ibid" text-case="capitalize-first"/>+ </else-if>+ <else-if position="subsequent">+ <group delimiter=", ">+ <text macro="contributors-short"/>+ <text macro="title-short"/>+ <text macro="point-locators-subsequent"/>+ </group>+ </else-if>+ <else>+ <group delimiter=", ">+ <group delimiter=": ">+ <group delimiter=", ">+ <group delimiter=" ">+ <group delimiter=", ">+ <group delimiter=" ">+ <group delimiter=", ">+ <group delimiter=" ">+ <group delimiter=", ">+ <text macro="contributors-note"/>+ <text macro="title-note"/>+ </group>+ <text macro="description-note"/>+ </group>+ <text macro="secondary-contributors-note"/>+ <text macro="container-title-note"/>+ <text macro="container-contributors-note"/>+ </group>+ <text macro="locators-note-join-with-space"/>+ </group>+ <text macro="locators-note-join-with-comma"/>+ <text macro="collection-title"/>+ <text macro="issue-note-join-with-comma"/>+ </group>+ <text macro="issue-note-join-with-space"/>+ </group>+ <text macro="locators-newspaper"/>+ <text macro="point-locators-join-with-comma"/>+ </group>+ <text macro="point-locators-join-with-colon"/>+ </group>+ <text macro="access-note"/>+ </group>+ </else>+ </choose>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="11" et-al-use-first="7" subsequent-author-substitute="———" entry-spacing="0">+ <sort>+ <key macro="sort-key"/>+ <key variable="issued"/>+ </sort>+ <layout suffix=".">+ <group delimiter=". ">+ <group delimiter=": ">+ <group delimiter=", ">+ <group delimiter=" ">+ <group delimiter=". ">+ <group delimiter=" ">+ <group delimiter=", ">+ <group delimiter=". ">+ <group delimiter=" ">+ <group delimiter=". ">+ <text macro="contributors"/>+ <text macro="title"/>+ </group>+ <text macro="description"/>+ </group>+ <text macro="secondary-contributors"/>+ <group delimiter=", ">+ <text macro="container-title"/>+ <text macro="container-contributors"/>+ <text macro="locators-chapter"/>+ </group>+ <text macro="locators-join-with-period"/>+ </group>+ <text macro="locators-join-with-comma"/>+ </group>+ <text macro="locators-join-with-space"/>+ </group>+ <text macro="collection-title"/>+ <text macro="issue-join-with-period"/>+ </group>+ <text macro="issue-join-with-space"/>+ </group>+ <text macro="issue-join-with-comma"/>+ <text macro="locators-newspaper"/>+ </group>+ <text macro="locators-journal"/>+ </group>+ <text macro="access"/>+ </group>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<++>>==== CITATIONS ====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2",+ "prefix": ", and "+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-2",+ "citationItems": [+ {+ "id": "ITEM-1",+ "suffix": " is one source,"+ },+ {+ "id": "ITEM-2",+ "suffix": " is another."+ }+ ],+ "properties": {+ "noteIndex": 2+ }+ },+ [["CITATION-1", 1]],+ []+ ],+ [+ {+ "citationID": "CITATION-3",+ "citationItems": [+ {+ "id": "ITEM-1",+ "locator": 23,+ "suffix": " is one source,"+ },+ {+ "id": "ITEM-2",+ "suffix": " is another."+ }+ ],+ "properties": {+ "noteIndex": 3+ }+ },+ [["CITATION-1", 1],["CITATION-2", 2]],+ []+ ]+]+<<==== CITATIONS ====<<++++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ "2000", + "2", + "15"+ ]+ ]+ }, + "title": "Book C", + "type": "book"+ },+ {+ "author": [+ {+ "family": "Jones", + "given": "David"+ }+ ], + "id": "ITEM-2", + "issued": {+ "date-parts": [+ [+ "2000", + "2", + "15"+ ]+ ]+ }, + "title": "Book D", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/affix_WordProcessorAffixNoSpace.txt view
@@ -0,0 +1,75 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+<i>My Prefix</i> My Title My Suffix+My Prefix. My Title, My Suffix+My Prefix My Title My Suffix+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1",+ "prefix": "<i>My Prefix</i> ",+ "suffix": " My Suffix"+ }+ ],+ [+ {+ "id": "ITEM-1",+ "prefix": "My Prefix. ",+ "suffix": ", My Suffix"+ }+ ],+ [+ {+ "id": "ITEM-1",+ "prefix": "My Prefix ",+ "suffix": " My Suffix"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name form="short" />+ </names>+ </macro>+ <citation>+ <layout>+ <text variable="title"/>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "My Title",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_Abnt.txt view
@@ -0,0 +1,86 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Doe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style xmlns="http://purl.org/net/xbiblio/csl" version="1.0" class="in-text">+ <info>+ <title>Associação Brasileira de Normas Técnicas (ABNT)</title>+ <id>http://www.zotero.org/styles/abnt</id>+ <link href="http://www.zotero.org/styles/abnt" rel="self"/>+ <author>+ <name>Iuri Gavronski</name>+ <email>iuri at ufrgs dot br</email>+ </author>+ <contributor>+ <name>Eduardo Bettoni</name>+ <email>webtur @ ufpr dot br</email>+ </contributor>+ <contributor>+ <name>José Antonio Meira da Rocha</name>+ <email>joseantoniorocha@gmail.com</email>+ <uri>http://meiradarocha.jor.br</uri>+ </contributor>+ <contributor>+ <name>Mario José</name>+ <email>mariognu-biounesp@yahoo.com.br</email>+ </contributor>+ <category citation-format="author-date"/>+ <category field="generic-base"/>+ <updated>2011-04-03T00:00:00+00:00</updated>+ <summary>The Brazilian standard style</summary>+ <rights>This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>+ </info>++ <citation>+ <layout>+ <group>+ <names variable="author">+ <name form="short">+ <name-part name="given"/>+ </name>+ </names>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_AccidentalAllCaps.txt view
@@ -0,0 +1,840 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+J. Doe, <i>His Anonymous Life</i>, , 1965.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" default-locale="fr-FR" version="1.0" page-range-format="expanded">+ <info>+ <title>France Philo Theatre (Biblio et notes)</title>+ <id>http://www.zotero.org/styles/france-philo-theatre</id>+ <link href="http://www.zotero.org/styles/france-philo-theatre" rel="self"/>+ <author>+ <name>L. Lafitte</name>+ <email>l2lafitte@yahoo.fr</email>+ </author>+ <category field="humanities"/>+ <category citation-format="note"/>+ <category field="generic-base"/>+ <updated>2011-04-30T09:01:01+00:00</updated>+ </info>+ <locale xml:lang="fr-FR">+ <terms>+ <term name="editor" form="short">+ <single>éd.</single>+ <multiple>éds</multiple>+ </term>+ <term name="editor" form="verb-short">éd. par</term>+ <term name="translator" form="verb-short">trad. par</term>+ <term name="interviewer" form="verb">entretien réalisé par</term>+ <term name="in">in</term>+ <term name="edition">édition</term>+ <term name="accessed">consulté le </term>+ <term name="at">disponible sur : </term>+ <term name="et-al">[et al.]</term>+ <term name="sub verbo" form="short">+ <single></single>+ <multiple></multiple>+ </term>+ </terms>+ </locale>+<!-- UTILISATION D'espaces insécables   POUR EVITER DE MALENCONTREUX RETOURS A LA LIGNE -->+<!-- CODAGE < POUR SIGNE INFÉRIEUR ET > POUR SIGNE SUPÉRIEUR -->+<!-- SECTION DEFINITION DES MACROS -->+ <macro name="contributors">+ <names variable="author">+ <name name-as-sort-order="all" form="long" delimiter=", " delimiter-precedes-last="always" sort-separator=" ">+ <name-part name="family" font-variant="small-caps"/>+ </name>+ <label form="short" prefix=", (" suffix=".)" strip-periods="false"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="contributors-notes">+ <names variable="author">+ <name sort-separator=" " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", (" suffix=".)" strip-periods="false"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title-note"/>+ </substitute>+ </names>+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name sort-separator=" " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", (" suffix=".)" strip-periods="false"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title-short"/>+ </substitute>+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name form="long" and="text" delimiter=", " delimiter-precedes-last="never"/>+ </names>+ </macro>+ <macro name="translator-note">+ <names variable="translator">+ <label form="verb-short" suffix=" " strip-periods="false"/>+ <name sort-separator=" " initialize-with=". " and="text" delimiter=", " delimiter-precedes-last="never"/>+ </names>+ </macro>+ <macro name="editor">+ <names variable="editor" delimiter=", ">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name form="long" and="text" delimiter=", " delimiter-precedes-last="never"/>+ </names>+ </macro>+ <macro name="editor-note">+ <names variable="editor" delimiter=", ">+ <label form="verb-short" suffix=" " strip-periods="false"/>+ <name sort-separator=" " initialize-with=". " and="text" delimiter=", " delimiter-precedes-last="never"/>+ </names>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if variable="container-title">+ <text term="in" font-style="italic" suffix=" "/>+ <choose>+ <if variable="container-author">+ <names variable="container-author">+ <name form="long" delimiter=", " delimiter-precedes-last="always" suffix=". "/>+ </names>+ </if>+ <else-if variable="editor">+ <names variable="editor" suffix=". ">+ <name form="long" delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", (" suffix=".)" strip-periods="false"/>+ </names>+ </else-if>+ </choose>+ <text variable="container-title" font-style="italic"/>+ <choose>+ <if variable="title" match="any"/>+ <else>+ <choose>+ <if variable="URL DOI" match="any">+ <text value="en ligne" prefix=" [" suffix="]" text-case="capitalize-first"/>+ </if>+ </choose>+ </else>+ </choose>+ <choose>+ <if variable="container-author">+ <text macro="editor" prefix=", "/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors-note">+ <choose>+ <if variable="container-title">+ <text term="in" font-style="italic" suffix=" "/>+ <choose>+ <if variable="container-author">+ <names variable="container-author">+ <name sort-separator=" " initialize-with=". " form="long" delimiter=", " delimiter-precedes-last="always" suffix=". "/>+ </names>+ </if>+ <else-if variable="editor">+ <names variable="editor" suffix=". ">+ <name sort-separator=" " initialize-with=". " form="long" delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", (" suffix=".)" strip-periods="false"/>+ </names>+ </else-if>+ </choose>+ <text variable="container-title" font-style="italic"/>+ <choose>+ <if variable="container-author">+ <text macro="editor-note" prefix=", "/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song thesis" match="any">+ <text variable="title" text-case="capitalize-first" font-style="italic"/>+ </if>+ <else>+ <text variable="title" text-case="capitalize-first" quotes="true"/>+ </else>+ </choose>+ <choose>+ <if variable="title" match="none"/>+ <else>+ <choose>+ <if variable="URL DOI" match="any">+ <text value="en ligne" prefix=" [" suffix="]" text-case="capitalize-first"/>+ </if>+ </choose>+ </else>+ </choose>+ </macro>+ <macro name="title-note">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song thesis" match="any">+ <text variable="title" text-case="capitalize-first" font-style="italic"/>+ </if>+ <else>+ <text variable="title" text-case="capitalize-first" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="title-short">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song thesis" match="any">+ <text variable="title" text-case="capitalize-first" font-style="italic" form="short"/>+ </if>+ <else>+ <text variable="title" text-case="capitalize-first" quotes="true" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+<!-- PAS DE MENTION AUTOMATIQUE DE [s.l.] [s.n.] POUR EVITER INCOHERENCE AVEC MENTIONS DANS EDITION ET NOTES -->+ <choose>+ <if variable="publisher-place">+ <text variable="publisher-place"/>+ <choose>+ <if variable="publisher">+ <text variable="publisher" prefix=", "/>+ </if>+ </choose>+ </if>+ <else-if variable="publisher">+ <text variable="publisher"/>+ </else-if>+ </choose>+ </macro>+ <macro name="publisher-report">+ <text macro="publisher"/>+ <choose>+ <if variable="issued">+ <text macro="issued-long" prefix=", "/>+ </if>+ <else>+ <text value=", [s.d.]"/>+ </else>+ </choose>+<!-- ZOTERO NE PERMETTANT PAS DE DISTINGUER UNE PLAGE DE PAGES D'UN NOMBRE DE PAGES -->+<!-- SI LA CASE PAGES EST RENSEIGNEE, CE SERA TOUJOURS INTERPRETE COMME UNE PLAGE -->+ <choose>+ <if variable="number-of-pages">+ <text variable="number-of-pages" prefix=", " suffix=" p."/>+ </if>+ <else-if variable="page">+ <text variable="page" prefix=", p. "/>+ </else-if>+ </choose>+ </macro>+ <macro name="publisher-report-note">+ <text macro="publisher"/>+ <choose>+ <if variable="issued">+ <text macro="issued-long" prefix=", "/>+ </if>+ <else>+ <text value=", [s.d.]"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher-book">+ <text macro="publisher"/>+ <date variable="issued" prefix=", ">+ <date-part name="year"/>+ </date>+<!-- POUR OUVRAGE MULTI-VOLUMES, NBRE de VOLUMES RENSEIGNE et >1, NBRE de PAGES RAREMENT PRESENT -->+<!-- POUR OUVRAGE MONO-VOLUME, NBRE de PAGES RENSEIGNE, MAIS NBRE de VOLUMES PARFOIS VALORISE A 1 -->+<!-- ZOTERO NE PERMETTANT PAS DE TESTER VALEURS, ON TESTE PRESENCE DU NBRE de PAGES -->+ <choose>+ <if variable="number-of-pages">+ <text variable="number-of-pages" prefix=", " suffix=" p."/>+ </if>+ <else>+ <choose>+ <if variable="number-of-volumes">+ <group>+ <text variable="number-of-volumes" prefix=". " suffix=" "/>+ <text term="volume" form="short" suffix="." strip-periods="false"/>+ </group>+ </if>+ </choose>+ </else>+ </choose>+ </macro>+ <macro name="publisher-book-note">+ <text macro="publisher"/>+ <date variable="issued" prefix=", ">+ <date-part name="year"/>+ </date>+ </macro>+ <macro name="publisher-chapter">+ <text variable="event" prefix="Contribution à " font-style="italic" suffix=", "/>+ <group delimiter=", ">+ <text macro="publisher"/>+ <text macro="issued-long"/>+ <text variable="page" prefix="p. "/>+ </group>+ </macro>+ <macro name="publisher-chapter-note">+ <text variable="event" prefix=", contribution à " font-style="italic" suffix=", "/>+ <text macro="publisher"/>+ <text macro="issued-long" prefix=", "/>+ </macro>+ <macro name="broadcast">+ <choose>+ <if variable="container-title">+ <group suffix=". ">+ <text term="in" font-style="italic" suffix=" "/>+ <text variable="container-title" font-style="italic"/>+ <text variable="number" prefix=", "/>+ </group>+ </if>+ </choose>+ <text variable="medium" suffix=". "/>+ <group delimiter=", ">+ <text macro="publisher"/>+ <text macro="issued-long"/>+ </group>+ </macro>+ <macro name="webpage">+ <group delimiter=", ">+ <text variable="container-title" font-style="italic"/>+ <text variable="genre" text-case="capitalize-first"/>+ <choose>+ <if variable="issued" match="none">+ <text value="[s.d.]"/>+ </if>+ <else>+ <text macro="issued-long"/>+ </else>+ </choose>+ </group>+ </macro>+ <macro name="publication">+ <choose>+<!-- SI LA ZONE PUBLICATION EST LA PREMIERE RENSEIGNEE, L'ITEM EST UN PERIODIQUE, SINON C'EST UN ARTICLE DE PERIODIQUE ou UNE CARTE ... -->+ <if variable="author editor translator title" match="none">+ <text macro="journal"/>+ </if>+ <else>+ <group delimiter=", " suffix=", ">+ <text variable="container-title" font-style="italic"/>+ <text variable="genre" text-case="capitalize-first"/>+ <text variable="edition" text-case="capitalize-first"/>+ </group>+ <group delimiter=", ">+ <text macro="publisher"/>+ <text macro="issued-long"/>+ <text macro="volume"/>+ <text macro="issue"/>+ <text variable="collection-title" text-case="capitalize-first" prefix="(" suffix=")"/>+ <text macro="editor"/>+ <text variable="page" prefix="p. "/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="publication-note">+ <choose>+<!-- SI LA ZONE PUBLICATION EST LA PREMIERE RENSEIGNEE, C'EST UN PERIODIQUE, SINON C'EST UN ARTICLE DE PERIODIQUE -->+ <if variable="author editor translator title" match="none">+ <text macro="journal-note"/>+ </if>+ <else>+ <group delimiter=", " suffix=", ">+ <text variable="container-title" font-style="italic"/>+ <text variable="genre" text-case="capitalize-first"/>+ <text variable="edition" text-case="capitalize-first"/>+ </group>+ <group delimiter=", ">+ <text macro="publisher"/>+ <text macro="issued-long"/>+ <text macro="volume"/>+ <text macro="issue"/>+ <text variable="collection-title" text-case="capitalize-first" prefix="(" suffix=")"/>+ <text macro="editor-note"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="publication-short">+ <choose>+ <if variable="author editor translator title" match="none">+ <text variable="container-title" font-style="italic"/>+ <group delimiter=", " prefix=", ">+ <text macro="volume"/>+ <text macro="issue"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="journal">+ <group delimiter=", ">+ <text macro="journal-note"/>+ <text variable="page" prefix="p. "/>+ </group>+ </macro>+ <macro name="journal-note">+ <text variable="container-title" font-style="italic" suffix=", "/>+ <group delimiter=", ">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" " text-case="capitalize-first"/>+ <date-part name="year"/>+ </date>+ <text macro="volume"/>+ </if>+ <else>+ <text macro="volume" text-case="capitalize-first"/>+ </else>+ </choose>+ <text macro="issue"/>+ <text variable="collection-title" text-case="capitalize-first" prefix="(" suffix=")"/>+ </group>+ </macro>+ <macro name="volume">+ <choose>+ <if is-numeric="volume">+ <text term="volume" form="short" suffix=". " strip-periods="false"/>+ <text variable="volume"/>+ </if>+ <else>+ <text variable="volume"/>+ </else>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if is-numeric="issue">+ <text term="issue" form="short" suffix=" " strip-periods="false"/>+ <text variable="issue"/>+ </if>+ <else>+ <text variable="issue"/>+ </else>+ </choose>+ </macro>+ <macro name="issued-long">+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" " text-case="lowercase"/>+ <date-part name="year"/>+ </date>+ </macro>+ <macro name="article-newspaper">+ <text macro="publication-title"/>+ <group delimiter=", ">+ <text macro="publisher"/>+ <text macro="issued-long"/>+ <group>+ <text term="edition" suffix=" "/>+ <text variable="edition"/>+ </group>+ <text variable="section"/>+ <text macro="volume"/>+ <text macro="issue"/>+ <text variable="page" prefix="p. "/>+ </group>+ </macro>+ <macro name="article-newspaper-note">+ <text macro="publication-title"/>+ <group delimiter=", ">+ <text macro="publisher"/>+ <text macro="issued-long"/>+ <group>+ <text term="edition" suffix=" "/>+ <text variable="edition"/>+ </group>+ <text variable="section"/>+ <text macro="volume"/>+ <text macro="issue"/>+ </group>+ </macro>+ <macro name="article-newspaper-short">+ <text macro="publication-title" prefix=". "/>+ <group delimiter=", ">+ <text macro="publisher"/>+ <text macro="issued-long"/>+ </group>+ </macro>+ <macro name="interview">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", " delimiter-precedes-last="never"/>+ </names>+ <group delimiter=", " prefix=", ">+ <text macro="translator"/>+ <text variable="medium"/>+ <text macro="issued-long"/>+ </group>+ </macro>+ <macro name="interview-note">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name sort-separator=" " and="text" initialize-with=". " delimiter=", " delimiter-precedes-last="never"/>+ </names>+ <group delimiter=", " prefix=", ">+ <text macro="translator-note"/>+ <text variable="medium"/>+ <text macro="issued-long"/>+ </group>+ </macro>+ <macro name="interview-short">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" text-case="capitalize-first" prefix=". " suffix=" "/>+ <name sort-separator=" " and="text" initialize-with=". " delimiter=", " delimiter-precedes-last="never"/>+ </names>+ <group delimiter=", " prefix=", ">+ <text variable="medium"/>+ <text macro="issued-long"/>+ </group>+ </macro>+ <macro name="report">+ <choose>+ <if variable="genre" match="none">+ <choose>+ <if variable="number">+ <text variable="number" prefix="Rapport "/>+ </if>+ </choose>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="genre" text-case="capitalize-first"/>+ <text variable="number"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="collection">+ <group>+ <text variable="collection-title" text-case="capitalize-first" quotes="true" prefix="("/>+ <text variable="collection-number" prefix=", "/>+ <text value=")"/>+ </group>+ </macro>+ <macro name="url-doi">+ <group delimiter=", ">+ <group>+ <text term="at" text-case="capitalize-first"/>+ <text value="URL "/>+ <text variable="URL" prefix="< " suffix=" >"/>+ </group>+ <group>+ <text value="DOI "/>+ <text variable="DOI" prefix="< " suffix=" >"/>+ </group>+ </group>+ </macro>+ <macro name="access">+ <group>+ <text term="accessed" prefix="["/>+ <date variable="accessed">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" " text-case="lowercase"/>+ <date-part name="year" suffix="]"/>+ </date>+ </group>+ </macro>+ <macro name="locator-refs">+ <group prefix=", ">+ <label variable="locator" form="short" suffix=" "/>+ <text variable="locator"/>+ </group>+ </macro>+ <macro name="publication-title">+<!-- SI LA ZONE PUBLICATION EST LA PREMIERE RENSEIGNEE, L'ITEM EST UN PERIODIQUE, SINON C'EST UN ARTICLE DE PERIODIQUE -->+ <choose>+ <if variable="author editor translator title" match="none">+ <text variable="container-title" font-style="italic" suffix=". "/>+ </if>+ <else>+ <text variable="container-title" font-style="italic" suffix=", "/>+ </else>+ </choose>+ </macro>+ <macro name="contributors-sort">+ <names variable="author">+ <name name-as-sort-order="all" form="long" delimiter=", " delimiter-precedes-last="always" sort-separator=" "/>+ <label form="short" prefix=", (" suffix=".)" strip-periods="false"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ <text macro="publication-title"/>+ </substitute>+ </names>+ </macro>+<!-- SECTION NOTES -->+ <citation et-al-min="3" et-al-use-first="3" et-al-subsequent-min="3" et-al-subsequent-use-first="3" disambiguate-add-names="true">+ <layout suffix=".">+ <choose>+ <if position="first">+ <text macro="contributors-notes" font-variant="normal" suffix=", "/>+ <choose>+ <if type="thesis">+ <group delimiter=", ">+ <text macro="title-note"/>+ <text variable="genre"/>+ <text macro="publisher-book-note"/>+ </group>+ </if>+ <else-if type="interview">+ <group delimiter=", ">+ <text macro="title-note"/>+ <text macro="interview-note"/>+ </group>+ </else-if>+ <else-if type="broadcast">+ <group delimiter=", ">+ <text macro="title-note"/>+ <text macro="broadcast"/>+ </group>+ </else-if>+ <else-if type="webpage">+ <group delimiter=", ">+ <text macro="title-note"/>+ <text macro="webpage"/>+ </group>+ </else-if>+ <else-if type="article-newspaper">+ <group delimiter=", ">+ <text macro="title-note"/>+ <text macro="translator-note" text-case="capitalize-first"/>+ <text macro="article-newspaper-note"/>+ </group>+ </else-if>+ <else-if type="article-journal article-magazine article-newspaper broadcast interview manuscript map patent personal_communication song speech thesis webpage" match="any">+ <group delimiter=", ">+ <text macro="title-note"/>+ <text macro="translator-note" text-case="capitalize-first"/>+ <text macro="publication-note"/>+ </group>+ </else-if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=", ">+ <text macro="title-note"/>+ <text macro="translator-note" text-case="capitalize-first"/>+ <text macro="container-contributors-note"/>+ <text macro="volume" text-case="capitalize-first"/>+ <text variable="edition" text-case="capitalize-first"/>+ <text macro="publisher-chapter-note"/>+ </group>+ </else-if>+ <else-if type="report">+ <group delimiter=", ">+ <text macro="title-note"/>+ <text macro="translator-note" text-case="capitalize-first"/>+ <text macro="publisher-report-note"/>+ <text macro="report"/>+ </group>+ </else-if>+<!-- LE TRAITEMENT CI-DESSOUS EST CELUI DES LIVRES -->+<!-- IL SERA APPLIQUE AUX TYPES NON TRAITES PAR LES CAS PRECEDENTS -->+ <else>+ <group delimiter=", ">+ <text macro="title-note"/>+ <text macro="volume" text-case="capitalize-first"/>+ <text macro="translator-note" text-case="capitalize-first"/>+ <text macro="editor-note" text-case="capitalize-first"/>+ <text variable="edition" text-case="capitalize-first"/>+ <text macro="publisher-book-note"/>+ </group>+ </else>+ </choose>+ <text macro="locator-refs"/>+ </if>+ <else-if position="ibid-with-locator">+ <group>+ <text term="ibid" form="short" font-style="italic"/>+ <text macro="locator-refs"/>+ </group>+ </else-if>+ <else-if position="ibid">+ <text term="ibid" form="short" font-style="italic" text-case="capitalize-first"/>+ </else-if>+ <else-if position="subsequent">+ <group delimiter=", ">+ <text macro="contributors-short" font-variant="normal"/>+ <text macro="title-short"/>+ </group>+ <group delimiter=". ">+ <choose>+ <if type="interview">+ <text macro="interview-short"/>+ </if>+ <else-if type="article-newspaper">+ <text macro="article-newspaper-short"/>+ </else-if>+ <else-if type="article-journal article-magazine article-newspaper broadcast interview manuscript map patent personal_communication song speech thesis webpage" match="any">+ <text macro="publication-short"/>+ </else-if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <text macro="volume"/>+ </else-if>+ </choose>+ </group>+<!-- AJOUT TRAITEMENT POUR EVITER opus cité POUR LES CITATIONS DE PARTIES DE LIVRES ABSENTES DE LA BIBLIOGRAPHIE --> + <choose>+ <if type="book" match="none"> + <text value=", op. cit." font-style="italic"/>+ </if>+ <else>+ <choose>+ <if variable="publisher-place publisher issued number-of-pages number-of-volumes" match="any"> + <text value=", op. cit." font-style="italic"/>+ </if>+ </choose>+ </else>+ </choose>+ <text macro="locator-refs"/>+ </else-if>+ </choose>+ </layout>+ </citation>+<!-- SECTION BIBLIOGRAPHIE -->+ <bibliography hanging-indent="true" et-al-min="3" et-al-use-first="3" subsequent-author-substitute="———" entry-spacing="1">+ <sort>+ <key macro="contributors-sort"/>+ <key variable="title"/>+ <key variable="issued"/>+ <key variable="issue"/>+ <key variable="volume"/>+ </sort>+ <layout suffix=".">+ <text macro="contributors" suffix=", "/>+ <choose>+ <if type="thesis">+ <group delimiter=", ">+ <text macro="title"/>+ <text variable="genre"/>+ <text macro="publisher-book"/>+ </group>+ </if>+ <else-if type="interview">+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="interview"/>+ </group>+ </else-if>+ <else-if type="broadcast">+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="broadcast"/>+ </group>+ </else-if>+ <else-if type="webpage">+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="webpage"/>+ </group>+ </else-if>+ <else-if type="article-newspaper">+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="translator" text-case="capitalize-first"/>+ <text macro="article-newspaper"/>+ </group>+ </else-if>+ <else-if type="article-journal article-magazine article-newspaper broadcast interview manuscript map patent personal_communication song speech thesis webpage" match="any">+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="translator" text-case="capitalize-first"/>+ <text macro="publication"/>+ </group>+ </else-if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="translator" text-case="capitalize-first"/>+ <text macro="container-contributors"/>+ <text macro="volume"/>+ <text variable="edition" text-case="capitalize-first"/>+ <text macro="publisher-chapter"/>+ <text macro="collection"/>+ </group>+ </else-if>+ <else-if type="report">+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="translator" text-case="capitalize-first"/>+ <text macro="publisher-report"/>+ <text macro="collection"/>+ <text macro="report"/>+ </group>+ </else-if><!-- LE TRAITEMENT CI-DESSOUS EST CELUI DES LIVRES --><!-- IL SERA APPLIQUE AUX TYPES NON TRAITES PAR LES CAS PRECEDENTS -->+ <else>+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="volume"/>+ <text macro="translator" text-case="capitalize-first"/>+ <text macro="editor" text-case="capitalize-first"/>+ <text variable="edition" text-case="capitalize-first"/>+ <text macro="publisher-book"/>+ <text macro="collection"/>+ </group>+ </else>+ </choose>+ <group>+ <text variable="note" prefix=", " text-case="capitalize-first"/>+ <text macro="url-doi" prefix=", "/>+ <text macro="access" prefix=" "/>+ <text variable="ISBN" prefix=", ISBN "/>+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_AllCapsLeakage.txt view
@@ -0,0 +1,853 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++Space on guillemet is half-width non-breaking space.++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry"><span style="font-variant:small-caps;">Doe</span> John, « His Anonymous Life », <i>in</i> Jane Roe, (éd.). <i>His Anonymous Life</i>, 1 juin 1965.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" default-locale="fr-FR" version="1.0" page-range-format="expanded">+ <info>+ <title>France Philo Theatre (Biblio et notes)</title>+ <id>http://www.zotero.org/styles/france-philo-theatre</id>+ <link href="http://www.zotero.org/styles/france-philo-theatre" rel="self"/>+ <author>+ <name>L. Lafitte</name>+ <email>l2lafitte@yahoo.fr</email>+ </author>+ <category field="humanities"/>+ <category citation-format="note"/>+ <category field="generic-base"/>+ <updated>2011-04-30T09:01:01+00:00</updated>+ </info>+ <locale xml:lang="fr-FR">+ <terms>+ <term name="editor" form="short">+ <single>éd.</single>+ <multiple>éds</multiple>+ </term>+ <term name="editor" form="verb-short">éd. par</term>+ <term name="translator" form="verb-short">trad. par</term>+ <term name="interviewer" form="verb">entretien réalisé par</term>+ <term name="in">in</term>+ <term name="edition">édition</term>+ <term name="accessed">consulté le </term>+ <term name="at">disponible sur : </term>+ <term name="et-al">[et al.]</term>+ <term name="sub verbo" form="short">+ <single></single>+ <multiple></multiple>+ </term>+ </terms>+ </locale>+<!-- UTILISATION D'espaces insécables   POUR EVITER DE MALENCONTREUX RETOURS A LA LIGNE -->+<!-- CODAGE < POUR SIGNE INFÉRIEUR ET > POUR SIGNE SUPÉRIEUR -->+<!-- SECTION DEFINITION DES MACROS -->+ <macro name="contributors">+ <names variable="author">+ <name name-as-sort-order="all" form="long" delimiter=", " delimiter-precedes-last="always" sort-separator=" ">+ <name-part name="family" font-variant="small-caps"/>+ </name>+ <label form="short" prefix=", (" suffix=".)" strip-periods="false"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="contributors-notes">+ <names variable="author">+ <name sort-separator=" " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", (" suffix=".)" strip-periods="false"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title-note"/>+ </substitute>+ </names>+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name sort-separator=" " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", (" suffix=".)" strip-periods="false"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title-short"/>+ </substitute>+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name form="long" and="text" delimiter=", " delimiter-precedes-last="never"/>+ </names>+ </macro>+ <macro name="translator-note">+ <names variable="translator">+ <label form="verb-short" suffix=" " strip-periods="false"/>+ <name sort-separator=" " initialize-with=". " and="text" delimiter=", " delimiter-precedes-last="never"/>+ </names>+ </macro>+ <macro name="editor">+ <names variable="editor" delimiter=", ">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name form="long" and="text" delimiter=", " delimiter-precedes-last="never"/>+ </names>+ </macro>+ <macro name="editor-note">+ <names variable="editor" delimiter=", ">+ <label form="verb-short" suffix=" " strip-periods="false"/>+ <name sort-separator=" " initialize-with=". " and="text" delimiter=", " delimiter-precedes-last="never"/>+ </names>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if variable="container-title">+ <text term="in" font-style="italic" suffix=" "/>+ <choose>+ <if variable="container-author">+ <names variable="container-author">+ <name form="long" delimiter=", " delimiter-precedes-last="always" suffix=". "/>+ </names>+ </if>+ <else-if variable="editor">+ <names variable="editor" suffix=". ">+ <name form="long" delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", (" suffix=".)" strip-periods="false"/>+ </names>+ </else-if>+ </choose>+ <text variable="container-title" font-style="italic"/>+ <choose>+ <if variable="title" match="any"/>+ <else>+ <choose>+ <if variable="URL DOI" match="any">+ <text value="en ligne" prefix=" [" suffix="]" text-case="capitalize-first"/>+ </if>+ </choose>+ </else>+ </choose>+ <choose>+ <if variable="container-author">+ <text macro="editor" prefix=", "/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors-note">+ <choose>+ <if variable="container-title">+ <text term="in" font-style="italic" suffix=" "/>+ <choose>+ <if variable="container-author">+ <names variable="container-author">+ <name sort-separator=" " initialize-with=". " form="long" delimiter=", " delimiter-precedes-last="always" suffix=". "/>+ </names>+ </if>+ <else-if variable="editor">+ <names variable="editor" suffix=". ">+ <name sort-separator=" " initialize-with=". " form="long" delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", (" suffix=".)" strip-periods="false"/>+ </names>+ </else-if>+ </choose>+ <text variable="container-title" font-style="italic"/>+ <choose>+ <if variable="container-author">+ <text macro="editor-note" prefix=", "/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song thesis" match="any">+ <text variable="title" text-case="capitalize-first" font-style="italic"/>+ </if>+ <else>+ <text variable="title" text-case="capitalize-first" quotes="true"/>+ </else>+ </choose>+ <choose>+ <if variable="title" match="none"/>+ <else>+ <choose>+ <if variable="URL DOI" match="any">+ <text value="en ligne" prefix=" [" suffix="]" text-case="capitalize-first"/>+ </if>+ </choose>+ </else>+ </choose>+ </macro>+ <macro name="title-note">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song thesis" match="any">+ <text variable="title" text-case="capitalize-first" font-style="italic"/>+ </if>+ <else>+ <text variable="title" text-case="capitalize-first" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="title-short">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song thesis" match="any">+ <text variable="title" text-case="capitalize-first" font-style="italic" form="short"/>+ </if>+ <else>+ <text variable="title" text-case="capitalize-first" quotes="true" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+<!-- PAS DE MENTION AUTOMATIQUE DE [s.l.] [s.n.] POUR EVITER INCOHERENCE AVEC MENTIONS DANS EDITION ET NOTES -->+ <choose>+ <if variable="publisher-place">+ <text variable="publisher-place"/>+ <choose>+ <if variable="publisher">+ <text variable="publisher" prefix=", "/>+ </if>+ </choose>+ </if>+ <else-if variable="publisher">+ <text variable="publisher"/>+ </else-if>+ </choose>+ </macro>+ <macro name="publisher-report">+ <text macro="publisher"/>+ <choose>+ <if variable="issued">+ <text macro="issued-long" prefix=", "/>+ </if>+ <else>+ <text value=", [s.d.]"/>+ </else>+ </choose>+<!-- ZOTERO NE PERMETTANT PAS DE DISTINGUER UNE PLAGE DE PAGES D'UN NOMBRE DE PAGES -->+<!-- SI LA CASE PAGES EST RENSEIGNEE, CE SERA TOUJOURS INTERPRETE COMME UNE PLAGE -->+ <choose>+ <if variable="number-of-pages">+ <text variable="number-of-pages" prefix=", " suffix=" p."/>+ </if>+ <else-if variable="page">+ <text variable="page" prefix=", p. "/>+ </else-if>+ </choose>+ </macro>+ <macro name="publisher-report-note">+ <text macro="publisher"/>+ <choose>+ <if variable="issued">+ <text macro="issued-long" prefix=", "/>+ </if>+ <else>+ <text value=", [s.d.]"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher-book">+ <text macro="publisher"/>+ <date variable="issued" prefix=", ">+ <date-part name="year"/>+ </date>+<!-- POUR OUVRAGE MULTI-VOLUMES, NBRE de VOLUMES RENSEIGNE et >1, NBRE de PAGES RAREMENT PRESENT -->+<!-- POUR OUVRAGE MONO-VOLUME, NBRE de PAGES RENSEIGNE, MAIS NBRE de VOLUMES PARFOIS VALORISE A 1 -->+<!-- ZOTERO NE PERMETTANT PAS DE TESTER VALEURS, ON TESTE PRESENCE DU NBRE de PAGES -->+ <choose>+ <if variable="number-of-pages">+ <text variable="number-of-pages" prefix=", " suffix=" p."/>+ </if>+ <else>+ <choose>+ <if variable="number-of-volumes">+ <group>+ <text variable="number-of-volumes" prefix=". " suffix=" "/>+ <text term="volume" form="short" suffix="." strip-periods="false"/>+ </group>+ </if>+ </choose>+ </else>+ </choose>+ </macro>+ <macro name="publisher-book-note">+ <text macro="publisher"/>+ <date variable="issued" prefix=", ">+ <date-part name="year"/>+ </date>+ </macro>+ <macro name="publisher-chapter">+ <text variable="event" prefix="Contribution à " font-style="italic" suffix=", "/>+ <group delimiter=", ">+ <text macro="publisher"/>+ <text macro="issued-long"/>+ <text variable="page" prefix="p. "/>+ </group>+ </macro>+ <macro name="publisher-chapter-note">+ <text variable="event" prefix=", contribution à " font-style="italic" suffix=", "/>+ <text macro="publisher"/>+ <text macro="issued-long" prefix=", "/>+ </macro>+ <macro name="broadcast">+ <choose>+ <if variable="container-title">+ <group suffix=". ">+ <text term="in" font-style="italic" suffix=" "/>+ <text variable="container-title" font-style="italic"/>+ <text variable="number" prefix=", "/>+ </group>+ </if>+ </choose>+ <text variable="medium" suffix=". "/>+ <group delimiter=", ">+ <text macro="publisher"/>+ <text macro="issued-long"/>+ </group>+ </macro>+ <macro name="webpage">+ <group delimiter=", ">+ <text variable="container-title" font-style="italic"/>+ <text variable="genre" text-case="capitalize-first"/>+ <choose>+ <if variable="issued" match="none">+ <text value="[s.d.]"/>+ </if>+ <else>+ <text macro="issued-long"/>+ </else>+ </choose>+ </group>+ </macro>+ <macro name="publication">+ <choose>+<!-- SI LA ZONE PUBLICATION EST LA PREMIERE RENSEIGNEE, L'ITEM EST UN PERIODIQUE, SINON C'EST UN ARTICLE DE PERIODIQUE ou UNE CARTE ... -->+ <if variable="author editor translator title" match="none">+ <text macro="journal"/>+ </if>+ <else>+ <group delimiter=", " suffix=", ">+ <text variable="container-title" font-style="italic"/>+ <text variable="genre" text-case="capitalize-first"/>+ <text variable="edition" text-case="capitalize-first"/>+ </group>+ <group delimiter=", ">+ <text macro="publisher"/>+ <text macro="issued-long"/>+ <text macro="volume"/>+ <text macro="issue"/>+ <text variable="collection-title" text-case="capitalize-first" prefix="(" suffix=")"/>+ <text macro="editor"/>+ <text variable="page" prefix="p. "/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="publication-note">+ <choose>+<!-- SI LA ZONE PUBLICATION EST LA PREMIERE RENSEIGNEE, C'EST UN PERIODIQUE, SINON C'EST UN ARTICLE DE PERIODIQUE -->+ <if variable="author editor translator title" match="none">+ <text macro="journal-note"/>+ </if>+ <else>+ <group delimiter=", " suffix=", ">+ <text variable="container-title" font-style="italic"/>+ <text variable="genre" text-case="capitalize-first"/>+ <text variable="edition" text-case="capitalize-first"/>+ </group>+ <group delimiter=", ">+ <text macro="publisher"/>+ <text macro="issued-long"/>+ <text macro="volume"/>+ <text macro="issue"/>+ <text variable="collection-title" text-case="capitalize-first" prefix="(" suffix=")"/>+ <text macro="editor-note"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="publication-short">+ <choose>+ <if variable="author editor translator title" match="none">+ <text variable="container-title" font-style="italic"/>+ <group delimiter=", " prefix=", ">+ <text macro="volume"/>+ <text macro="issue"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="journal">+ <group delimiter=", ">+ <text macro="journal-note"/>+ <text variable="page" prefix="p. "/>+ </group>+ </macro>+ <macro name="journal-note">+ <text variable="container-title" font-style="italic" suffix=", "/>+ <group delimiter=", ">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" " text-case="capitalize-first"/>+ <date-part name="year"/>+ </date>+ <text macro="volume"/>+ </if>+ <else>+ <text macro="volume" text-case="capitalize-first"/>+ </else>+ </choose>+ <text macro="issue"/>+ <text variable="collection-title" text-case="capitalize-first" prefix="(" suffix=")"/>+ </group>+ </macro>+ <macro name="volume">+ <choose>+ <if is-numeric="volume">+ <text term="volume" form="short" suffix=". " strip-periods="false"/>+ <text variable="volume"/>+ </if>+ <else>+ <text variable="volume"/>+ </else>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if is-numeric="issue">+ <text term="issue" form="short" suffix=" " strip-periods="false"/>+ <text variable="issue"/>+ </if>+ <else>+ <text variable="issue"/>+ </else>+ </choose>+ </macro>+ <macro name="issued-long">+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" " text-case="lowercase"/>+ <date-part name="year"/>+ </date>+ </macro>+ <macro name="article-newspaper">+ <text macro="publication-title"/>+ <group delimiter=", ">+ <text macro="publisher"/>+ <text macro="issued-long"/>+ <group>+ <text term="edition" suffix=" "/>+ <text variable="edition"/>+ </group>+ <text variable="section"/>+ <text macro="volume"/>+ <text macro="issue"/>+ <text variable="page" prefix="p. "/>+ </group>+ </macro>+ <macro name="article-newspaper-note">+ <text macro="publication-title"/>+ <group delimiter=", ">+ <text macro="publisher"/>+ <text macro="issued-long"/>+ <group>+ <text term="edition" suffix=" "/>+ <text variable="edition"/>+ </group>+ <text variable="section"/>+ <text macro="volume"/>+ <text macro="issue"/>+ </group>+ </macro>+ <macro name="article-newspaper-short">+ <text macro="publication-title" prefix=". "/>+ <group delimiter=", ">+ <text macro="publisher"/>+ <text macro="issued-long"/>+ </group>+ </macro>+ <macro name="interview">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", " delimiter-precedes-last="never"/>+ </names>+ <group delimiter=", " prefix=", ">+ <text macro="translator"/>+ <text variable="medium"/>+ <text macro="issued-long"/>+ </group>+ </macro>+ <macro name="interview-note">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name sort-separator=" " and="text" initialize-with=". " delimiter=", " delimiter-precedes-last="never"/>+ </names>+ <group delimiter=", " prefix=", ">+ <text macro="translator-note"/>+ <text variable="medium"/>+ <text macro="issued-long"/>+ </group>+ </macro>+ <macro name="interview-short">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" text-case="capitalize-first" prefix=". " suffix=" "/>+ <name sort-separator=" " and="text" initialize-with=". " delimiter=", " delimiter-precedes-last="never"/>+ </names>+ <group delimiter=", " prefix=", ">+ <text variable="medium"/>+ <text macro="issued-long"/>+ </group>+ </macro>+ <macro name="report">+ <choose>+ <if variable="genre" match="none">+ <choose>+ <if variable="number">+ <text variable="number" prefix="Rapport "/>+ </if>+ </choose>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="genre" text-case="capitalize-first"/>+ <text variable="number"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="collection">+ <group>+ <text variable="collection-title" text-case="capitalize-first" quotes="true" prefix="("/>+ <text variable="collection-number" prefix=", "/>+ <text value=")"/>+ </group>+ </macro>+ <macro name="url-doi">+ <group delimiter=", ">+ <group>+ <text term="at" text-case="capitalize-first"/>+ <text value="URL "/>+ <text variable="URL" prefix="< " suffix=" >"/>+ </group>+ <group>+ <text value="DOI "/>+ <text variable="DOI" prefix="< " suffix=" >"/>+ </group>+ </group>+ </macro>+ <macro name="access">+ <group>+ <text term="accessed" prefix="["/>+ <date variable="accessed">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" " text-case="lowercase"/>+ <date-part name="year" suffix="]"/>+ </date>+ </group>+ </macro>+ <macro name="locator-refs">+ <group prefix=", ">+ <label variable="locator" form="short" suffix=" "/>+ <text variable="locator"/>+ </group>+ </macro>+ <macro name="publication-title">+<!-- SI LA ZONE PUBLICATION EST LA PREMIERE RENSEIGNEE, L'ITEM EST UN PERIODIQUE, SINON C'EST UN ARTICLE DE PERIODIQUE -->+ <choose>+ <if variable="author editor translator title" match="none">+ <text variable="container-title" font-style="italic" suffix=". "/>+ </if>+ <else>+ <text variable="container-title" font-style="italic" suffix=", "/>+ </else>+ </choose>+ </macro>+ <macro name="contributors-sort">+ <names variable="author">+ <name name-as-sort-order="all" form="long" delimiter=", " delimiter-precedes-last="always" sort-separator=" "/>+ <label form="short" prefix=", (" suffix=".)" strip-periods="false"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ <text macro="publication-title"/>+ </substitute>+ </names>+ </macro>+<!-- SECTION NOTES -->+ <citation et-al-min="3" et-al-use-first="3" et-al-subsequent-min="3" et-al-subsequent-use-first="3" disambiguate-add-names="true">+ <layout suffix=".">+ <choose>+ <if position="first">+ <text macro="contributors-notes" font-variant="normal" suffix=", "/>+ <choose>+ <if type="thesis">+ <group delimiter=", ">+ <text macro="title-note"/>+ <text variable="genre"/>+ <text macro="publisher-book-note"/>+ </group>+ </if>+ <else-if type="interview">+ <group delimiter=", ">+ <text macro="title-note"/>+ <text macro="interview-note"/>+ </group>+ </else-if>+ <else-if type="broadcast">+ <group delimiter=", ">+ <text macro="title-note"/>+ <text macro="broadcast"/>+ </group>+ </else-if>+ <else-if type="webpage">+ <group delimiter=", ">+ <text macro="title-note"/>+ <text macro="webpage"/>+ </group>+ </else-if>+ <else-if type="article-newspaper">+ <group delimiter=", ">+ <text macro="title-note"/>+ <text macro="translator-note" text-case="capitalize-first"/>+ <text macro="article-newspaper-note"/>+ </group>+ </else-if>+ <else-if type="article-journal article-magazine article-newspaper broadcast interview manuscript map patent personal_communication song speech thesis webpage" match="any">+ <group delimiter=", ">+ <text macro="title-note"/>+ <text macro="translator-note" text-case="capitalize-first"/>+ <text macro="publication-note"/>+ </group>+ </else-if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=", ">+ <text macro="title-note"/>+ <text macro="translator-note" text-case="capitalize-first"/>+ <text macro="container-contributors-note"/>+ <text macro="volume" text-case="capitalize-first"/>+ <text variable="edition" text-case="capitalize-first"/>+ <text macro="publisher-chapter-note"/>+ </group>+ </else-if>+ <else-if type="report">+ <group delimiter=", ">+ <text macro="title-note"/>+ <text macro="translator-note" text-case="capitalize-first"/>+ <text macro="publisher-report-note"/>+ <text macro="report"/>+ </group>+ </else-if>+<!-- LE TRAITEMENT CI-DESSOUS EST CELUI DES LIVRES -->+<!-- IL SERA APPLIQUE AUX TYPES NON TRAITES PAR LES CAS PRECEDENTS -->+ <else>+ <group delimiter=", ">+ <text macro="title-note"/>+ <text macro="volume" text-case="capitalize-first"/>+ <text macro="translator-note" text-case="capitalize-first"/>+ <text macro="editor-note" text-case="capitalize-first"/>+ <text variable="edition" text-case="capitalize-first"/>+ <text macro="publisher-book-note"/>+ </group>+ </else>+ </choose>+ <text macro="locator-refs"/>+ </if>+ <else-if position="ibid-with-locator">+ <group>+ <text term="ibid" form="short" font-style="italic"/>+ <text macro="locator-refs"/>+ </group>+ </else-if>+ <else-if position="ibid">+ <text term="ibid" form="short" font-style="italic" text-case="capitalize-first"/>+ </else-if>+ <else-if position="subsequent">+ <group delimiter=", ">+ <text macro="contributors-short" font-variant="normal"/>+ <text macro="title-short"/>+ </group>+ <group delimiter=". ">+ <choose>+ <if type="interview">+ <text macro="interview-short"/>+ </if>+ <else-if type="article-newspaper">+ <text macro="article-newspaper-short"/>+ </else-if>+ <else-if type="article-journal article-magazine article-newspaper broadcast interview manuscript map patent personal_communication song speech thesis webpage" match="any">+ <text macro="publication-short"/>+ </else-if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <text macro="volume"/>+ </else-if>+ </choose>+ </group>+<!-- AJOUT TRAITEMENT POUR EVITER opus cité POUR LES CITATIONS DE PARTIES DE LIVRES ABSENTES DE LA BIBLIOGRAPHIE --> + <choose>+ <if type="book" match="none"> + <text value=", op. cit." font-style="italic"/>+ </if>+ <else>+ <choose>+ <if variable="publisher-place publisher issued number-of-pages number-of-volumes" match="any"> + <text value=", op. cit." font-style="italic"/>+ </if>+ </choose>+ </else>+ </choose>+ <text macro="locator-refs"/>+ </else-if>+ </choose>+ </layout>+ </citation>+<!-- SECTION BIBLIOGRAPHIE -->+ <bibliography hanging-indent="true" et-al-min="3" et-al-use-first="3" subsequent-author-substitute="———" entry-spacing="1">+ <sort>+ <key macro="contributors-sort"/>+ <key variable="title"/>+ <key variable="issued"/>+ <key variable="issue"/>+ <key variable="volume"/>+ </sort>+ <layout suffix=".">+ <text macro="contributors" suffix=", "/>+ <choose>+ <if type="thesis">+ <group delimiter=", ">+ <text macro="title"/>+ <text variable="genre"/>+ <text macro="publisher-book"/>+ </group>+ </if>+ <else-if type="interview">+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="interview"/>+ </group>+ </else-if>+ <else-if type="broadcast">+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="broadcast"/>+ </group>+ </else-if>+ <else-if type="webpage">+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="webpage"/>+ </group>+ </else-if>+ <else-if type="article-newspaper">+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="translator" text-case="capitalize-first"/>+ <text macro="article-newspaper"/>+ </group>+ </else-if>+ <else-if type="article-journal article-magazine article-newspaper broadcast interview manuscript map patent personal_communication song speech thesis webpage" match="any">+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="translator" text-case="capitalize-first"/>+ <text macro="publication"/>+ </group>+ </else-if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="translator" text-case="capitalize-first"/>+ <text macro="container-contributors"/>+ <text macro="volume"/>+ <text variable="edition" text-case="capitalize-first"/>+ <text macro="publisher-chapter"/>+ <text macro="collection"/>+ </group>+ </else-if>+ <else-if type="report">+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="translator" text-case="capitalize-first"/>+ <text macro="publisher-report"/>+ <text macro="collection"/>+ <text macro="report"/>+ </group>+ </else-if><!-- LE TRAITEMENT CI-DESSOUS EST CELUI DES LIVRES --><!-- IL SERA APPLIQUE AUX TYPES NON TRAITES PAR LES CAS PRECEDENTS -->+ <else>+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="volume"/>+ <text macro="translator" text-case="capitalize-first"/>+ <text macro="editor" text-case="capitalize-first"/>+ <text variable="edition" text-case="capitalize-first"/>+ <text macro="publisher-book"/>+ <text macro="collection"/>+ </group>+ </else>+ </choose>+ <group>+ <text variable="note" prefix=", " text-case="capitalize-first"/>+ <text macro="url-doi" prefix=", "/>+ <text macro="access" prefix=" "/>+ <text variable="ISBN" prefix=", ISBN "/>+ </group>+ </layout>+ </bibliography>+</style>+++<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "container-title": "His Anonymous Life",+ "editor": [+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "chapter"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_ApostropheOnParticle.txt view
@@ -0,0 +1,49 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++>>===== RESULT =====>>+John d’Jones+<<===== RESULT =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "dropping-particle": "d'",+ "family": "Jones",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_ArabicLocale.txt view
@@ -0,0 +1,65 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Jonathan Chang وآخرون.+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0" default-locale="ar">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout suffix="." delimiter="; ">+ <names variable="author">+ <name et-al-use-first="1" et-al-min="3"/>+ </names>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Chang",+ "given": "Jonathan"+ },+ {+ "family": "Gerrish",+ "given": "Sean"+ },+ {+ "family": "Wang",+ "given": "Chong"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_AsaSpacing.txt view
@@ -0,0 +1,78 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">“His Anonymous Chapter.” Some text string</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <style-options punctuation-in-quote="true"/>+ </locale>+ <macro name="title">+ <text variable="title" quotes="true"/> + </macro>+ <citation>+ <layout>+ <text value="bogus"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <group delimiter=" ">+ <text macro="title" suffix="."/>+ <text value="Some text string"/>+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "container-title": "His Anonymous Book",+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "page": "100",+ "title": "His Anonymous Chapter",+ "type": "chapter"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_AsmJournals.txt view
@@ -0,0 +1,180 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">+ <div class="csl-left-margin">1. </div><div class="csl-right-inline"><b>Doe Co.</b> 1965. His Collectively Anonymous Life.</div>+ </div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>American Society for Microbiology</title>+ <id>http://www.zotero.org/styles/asm-journals</id>+ <link href="http://www.zotero.org/styles/asm-journals" rel="self"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Rintze Zelle</name>+ <uri>http://forums.zotero.org/account/831/</uri>+ </contributor>+ <contributor>+ <name>Richard Karnesky</name>+ <email>karnesky+zotero@gmail.com</email>+ <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>+ </contributor>+ <category citation-format="numeric"/>+ <category field="biology"/>+ <updated>2008-05-07T12:08:52+00:00</updated>+ <summary>Style for all American Society for Microbiology journals.</summary>+ <link href="http://aem.asm.org/cgi/content/full/74/1/1#References." rel="documentation"/>+ <rights>This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>+ </info>+ <macro name="author">+ <names variable="author" suffix=".">+ <name sort-separator=", " initialize-with=". " and="text" font-weight="bold" name-as-sort-order="first" delimiter=", " delimiter-precedes-last="always"/>+ </names>+ </macro>+ <macro name="issued">+ <group prefix=" " suffix=".">+ <choose>+ <if type="patent">+ <date variable="issued">+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </else>+ </choose>+ </group>+ </macro>+ <macro name="chapter-specifics">+ <choose>+ <if type="chapter paper-conference" match="any">+ <label variable="page" form="short" plural="never" prefix=", " suffix=" "/>+ <text variable="page"/>+ <text term="in" text-case="capitalize-first" prefix=". " suffix=" " font-style="italic"/>+ <names variable="editor" delimiter=", " suffix=", ">+ <name initialize-with="." delimiter=", " delimiter-precedes-last="always" and="text"/>+ <label form="short" prefix=" (" suffix=".)" strip-periods="true"/>+ </names>+ </if>+ </choose>+ </macro>+ <macro name="patent-specifics">+ <text variable="number" prefix=". U.S. Patent "/>+ </macro>+ <macro name="container-title">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <text variable="container-title"/>+ </if>+ <else>+ <text variable="container-title" form="short" prefix=". "/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" " prefix=", ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <group delimiter=", " prefix=". ">+ <text variable="genre"/>+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <group prefix=" " delimiter=":">+ <text variable="volume" font-weight="bold"/>+ <text variable="page"/>+ </group>+ </if>+ </choose>+ </macro>+ <citation collapse="citation-number">+ <sort>+ <key variable="citation-number"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter=", ">+ <text variable="citation-number"/>+ </layout>+ </citation>+ <bibliography entry-spacing="0" second-field-align="flush">+ <sort>+ <key variable="author"/>+ <key variable="title"/>+ </sort>+ <layout suffix=".">+ <text variable="citation-number" suffix=". "/>+ <text macro="author"/>+ <text macro="issued"/>+ <text variable="title" prefix=" "/>+ <text macro="chapter-specifics"/>+ <text macro="patent-specifics"/>+ <text macro="container-title"/>+ <text macro="edition"/>+ <text macro="publisher"/>+ <text macro="locators"/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe Co.",+ "isInstitution": true+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "title": "His Collectively Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_AuthorPosition.txt view
@@ -0,0 +1,810 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">A00, A., A01, B., A02, C., A03, D., A04, E., A05, F., … A50, K. (2010). Modelling the Species Distribution of Flat-Headed Cats (<i>Prionailurus planiceps</i>), an Endangered South-East Asian Small Felid. <i>PLoS ONE</i>, <i>5</i>(3), e9612. doi:10.1371/journal.pone.0009612</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "aiid:2840020"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="never">+ <info>+ <title>American Psychological Association 6th edition</title>+ <title-short>APA</title-short>+ <id>http://www.zotero.org/styles/apa</id>+ <link href="http://www.zotero.org/styles/apa" rel="self"/>+ <link href="http://owl.english.purdue.edu/owl/resource/560/01/" rel="documentation"/>+ <author>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </author>+ <contributor>+ <name>Bruce D'Arcus</name>+ </contributor>+ <contributor>+ <name>Curtis M. Humphrey</name>+ </contributor>+ <contributor>+ <name>Richard Karnesky</name>+ <email>karnesky+zotero@gmail.com</email>+ <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>+ </contributor>+ <contributor>+ <name>Sebastian Karcher</name>+ </contributor>+ <category citation-format="author-date"/>+ <category field="psychology"/>+ <category field="generic-base"/>+ <updated>2014-09-23T19:13:50+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale xml:lang="en">+ <terms>+ <term name="editortranslator" form="short">+ <single>ed. & trans.</single>+ <multiple>eds. & trans.</multiple>+ </term>+ <term name="translator" form="short">+ <single>trans.</single>+ <multiple>trans.</multiple>+ </term>+ </terms>+ </locale>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference entry-dictionary entry-encyclopedia" match="any">+ <names variable="editor translator container-author" delimiter=", " suffix=", ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=" (" text-case="title" suffix=")"/>+ </names>+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if type="article-journal chapter paper-conference entry-dictionary entry-encyclopedia" match="none">+ <names variable="translator editor container-author" delimiter=", " prefix=" (" suffix=")">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="title"/>+ </names>+ </if>+ </choose>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=" (" suffix=")" text-case="capitalize-first"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <choose>+ <if type="report">+ <text variable="publisher"/>+ <text macro="title"/>+ </if>+ <else>+ <text macro="title"/>+ </else>+ </choose>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="symbol" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <choose>+ <if type="report">+ <text variable="publisher"/>+ <text variable="title" form="short" font-style="italic"/>+ </if>+ <else-if type="legal_case">+ <text variable="title" font-style="italic"/>+ </else-if>+ <else-if type="bill book graphic legislation motion_picture song" match="any">+ <text variable="title" form="short" font-style="italic"/>+ </else-if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <choose>+ <if type="thesis">+ <choose>+ <if variable="archive" match="any">+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="archive" suffix="."/>+ <text variable="archive_location" prefix=" (" suffix=")"/>+ </group>+ </if>+ <else>+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </else>+ </choose>+ </if>+ <else>+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix="doi:"/>+ </if>+ <else>+ <choose>+ <if type="webpage">+ <group delimiter=" ">+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <group>+ <date variable="accessed" form="text" suffix=", "/>+ </group>+ <text term="from"/>+ <text variable="URL"/>+ </group>+ </if>+ <else>+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </else>+ </choose>+ </else>+ </choose>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if type="report thesis book graphic motion_picture report song manuscript speech" match="any">+ <choose>+ <if variable="version">+ <!---This is a hack until we have a computer program type -->+ <text variable="title"/>+ </if>+ <else>+ <text variable="title" font-style="italic"/>+ </else>+ </choose>+ </if>+ <else>+ <text variable="title"/>+ </else>+ </choose>+ </macro>+ <macro name="title-plus-extra">+ <text macro="title"/>+ <choose>+ <if type="report thesis" match="any">+ <group prefix=" (" suffix=")" delimiter=" ">+ <text variable="genre"/>+ <text variable="number" prefix="No. "/>+ </group>+ </if>+ <else-if type="post-weblog webpage" match="any">+ <text variable="genre" prefix=" [" suffix="]"/>+ </else-if>+ <else-if variable="version">+ <group delimiter=" " prefix=" (" suffix=")">+ <text term="version" text-case="capitalize-first"/>+ <text variable="version"/>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="publisher">+ <choose>+ <if type="report" match="any">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </if>+ <else-if type="thesis" match="any">+ <group delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </else-if>+ <else-if type="post-weblog webpage" match="none">+ <group delimiter=", ">+ <choose>+ <if variable="event" type="speech" match="none">+ <text variable="genre"/>+ </if>+ </choose>+ <choose>+ <if type="article-journal article-magazine" match="none">+ <group delimiter=": ">+ <choose>+ <if variable="publisher-place">+ <text variable="publisher-place"/>+ </if>+ <else>+ <text variable="event-place"/>+ </else>+ </choose>+ <text variable="publisher"/>+ </group>+ </if>+ </choose>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="event">+ <choose>+ <if variable="container-title" match="none">+ <choose>+ <if variable="event">+ <choose>+ <if variable="genre" match="none">+ <text term="presented at" text-case="capitalize-first" suffix=" "/>+ <text variable="event"/>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="genre" text-case="capitalize-first"/>+ <text term="presented at"/>+ <text variable="event"/>+ </group>+ </else>+ </choose>+ </if>+ <else-if type="speech">+ <text variable="genre" text-case="capitalize-first"/>+ </else-if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issued">+ <choose>+ <if type="bill legal_case legislation" match="none">+ <choose>+ <if variable="issued">+ <group prefix=" (" suffix=")">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="year-suffix"/>+ <choose>+ <if type="article-journal bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="none">+ <date variable="issued">+ <date-part prefix=", " name="month"/>+ <date-part prefix=" " name="day"/>+ </date>+ </if>+ </choose>+ </group>+ </if>+ <else-if variable="status">+ <group prefix=" (" suffix=")">+ <text variable="status"/>+ <text variable="year-suffix" prefix="-"/>+ </group>+ </else-if>+ <else>+ <group prefix=" (" suffix=")">+ <text term="no date" form="short"/>+ <text variable="year-suffix" prefix="-"/>+ </group>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issued-sort">+ <choose>+ <if type="article-journal bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="none">+ <date variable="issued">+ <date-part name="year"/>+ <date-part name="month"/>+ <date-part name="day"/>+ </date>+ </if>+ <else>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </else>+ </choose>+ </macro>+ <macro name="issued-year">+ <choose>+ <if variable="issued">+ <group delimiter="/">+ <group>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="year-suffix"/>+ </group>+ <date variable="original-date" form="text"/>+ </group>+ </if>+ <else-if variable="status">+ <text variable="status"/>+ <text variable="year-suffix" prefix="-"/>+ </else-if>+ <else>+ <text term="no date" form="short"/>+ <text variable="year-suffix" prefix="-"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short"/>+ </group>+ </if>+ <else>+ <text variable="edition"/>+ </else>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal article-magazine" match="any">+ <group prefix=", " delimiter=", ">+ <group>+ <text variable="volume" font-style="italic"/>+ <text variable="issue" prefix="(" suffix=")"/>+ </group>+ <text variable="page"/>+ </group>+ <choose>+ <!--for advanced online publication-->+ <if variable="issued">+ <choose>+ <if variable="page issue" match="none">+ <text variable="status" prefix=". "/>+ </if>+ </choose>+ </if>+ </choose>+ </if>+ <else-if type="article-newspaper">+ <group delimiter=" " prefix=", ">+ <label variable="page" form="short"/>+ <text variable="page"/>+ </group>+ </else-if>+ <else-if type="book graphic motion_picture report song chapter paper-conference entry-encyclopedia entry-dictionary" match="any">+ <group prefix=" (" suffix=")" delimiter=", ">+ <text macro="edition"/>+ <group>+ <text term="volume" form="short" plural="true" text-case="capitalize-first" suffix=" "/>+ <number variable="number-of-volumes" form="numeric" prefix="1-"/>+ </group>+ <group>+ <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>+ <number variable="volume" form="numeric"/>+ </group>+ <group>+ <label variable="page" form="short" suffix=" "/>+ <text variable="page"/>+ </group>+ </group>+ </else-if>+ <else-if type="legal_case">+ <group prefix=" (" suffix=")" delimiter=" ">+ <text variable="authority"/>+ <date variable="issued" form="text"/>+ </group>+ </else-if>+ <else-if type="bill legislation" match="any">+ <date variable="issued" prefix=" (" suffix=")">+ <date-part name="year"/>+ </date>+ </else-if>+ </choose>+ </macro>+ <macro name="citation-locator">+ <group>+ <choose>+ <if locator="chapter">+ <label variable="locator" form="long" text-case="capitalize-first"/>+ </if>+ <else>+ <label variable="locator" form="short"/>+ </else>+ </choose>+ <text variable="locator" prefix=" "/>+ </group>+ </macro>+ <macro name="container">+ <choose>+ <if type="post-weblog webpage" match="none">+ <group>+ <choose>+ <if type="chapter paper-conference entry-encyclopedia" match="any">+ <text term="in" text-case="capitalize-first" suffix=" "/>+ </if>+ </choose>+ <text macro="container-contributors"/>+ <text macro="secondary-contributors"/>+ <text macro="container-title"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-title">+ <choose>+ <if type="article article-journal article-magazine article-newspaper" match="any">+ <text variable="container-title" font-style="italic" text-case="title"/>+ </if>+ <else-if type="bill legal_case legislation" match="none">+ <text variable="container-title" font-style="italic"/>+ </else-if>+ </choose>+ </macro>+ <macro name="legal-cites">+ <choose>+ <if type="bill legal_case legislation" match="any">+ <group delimiter=" " prefix=", ">+ <choose>+ <if variable="container-title">+ <text variable="volume"/>+ <text variable="container-title"/>+ <group delimiter=" ">+ <!--change to label variable="section" as that becomes available -->+ <text term="section" form="symbol"/>+ <text variable="section"/>+ </group>+ <text variable="page"/>+ </if>+ <else>+ <choose>+ <if type="legal_case">+ <text variable="number" prefix="No. "/>+ </if>+ <else>+ <text variable="number" prefix="Pub. L. No. "/>+ <group delimiter=" ">+ <!--change to label variable="section" as that becomes available -->+ <text term="section" form="symbol"/>+ <text variable="section"/>+ </group>+ </else>+ </choose>+ </else>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="original-date">+ <choose>+ <if variable="original-date">+ <group prefix="(" suffix=")" delimiter=" ">+ <!---This should be localized-->+ <text value="Original work published"/>+ <date variable="original-date" form="text"/>+ </group>+ </if>+ </choose>+ </macro>+ <citation et-al-min="6" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" collapse="year" givenname-disambiguation-rule="primary-name">+ <sort>+ <key macro="author"/>+ <key macro="issued-sort"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <text macro="author-short"/>+ <text macro="issued-year"/>+ <text macro="citation-locator"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="8" et-al-use-first="6" et-al-use-last="true" entry-spacing="0" line-spacing="2">+ <sort>+ <key macro="author"/>+ <key macro="issued-sort" sort="ascending"/>+ <key macro="title"/>+ </sort>+ <layout>+ <group suffix=".">+ <group delimiter=". ">+ <text macro="author"/>+ <text macro="issued"/>+ <text macro="title-plus-extra"/>+ <text macro="container"/>+ </group>+ <text macro="legal-cites"/>+ <text macro="locators"/>+ <group delimiter=", " prefix=". ">+ <text macro="event"/>+ <text macro="publisher"/>+ </group>+ </group>+ <text macro="access" prefix=" "/>+ <text macro="original-date" prefix=" "/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "DOI": "10.1371/journal.pone.0009612",+ "ISSN": "1932-6203",+ "PMCID": "PMC2840020",+ "PMID": "20305809",+ "accessed": {+ "date-parts": [+ [+ 2015,+ 2,+ 13+ ]+ ]+ },+ "author": [+ {+ "family": "A00",+ "given": "Andreas"+ },+ {+ "family": "A01",+ "given": "Bob"+ },+ {+ "family": "A02",+ "given": "Cat"+ },+ {+ "family": "A03",+ "given": "David"+ },+ {+ "family": "A04",+ "given": "Eugene"+ },+ {+ "family": "A05",+ "given": "Fred"+ },+ {+ "family": "A06",+ "given": "Greg"+ },+ {+ "family": "A07",+ "given": "Herb"+ },+ {+ "family": "A08",+ "given": "Ida"+ },+ {+ "family": "A09",+ "given": "Jack"+ },+ {+ "family": "A10",+ "given": "Kate"+ },+ {+ "family": "A11",+ "given": "Leonard"+ },+ {+ "family": "A12",+ "given": "Mike"+ },+ {+ "family": "A13",+ "given": "Ned"+ },+ {+ "family": "A14",+ "given": "Oscar"+ },+ {+ "family": "A15",+ "given": "Phil"+ },+ {+ "family": "A16",+ "given": "Quebert"+ },+ {+ "family": "A17",+ "given": "Rob"+ },+ {+ "family": "A18",+ "given": "Sylvia"+ },+ {+ "family": "A19",+ "given": "Tina"+ },+ {+ "family": "A20",+ "given": "Ulm"+ },+ {+ "family": "A21",+ "given": "Victor"+ },+ {+ "family": "A22",+ "given": "Mike"+ },+ {+ "family": "A23",+ "given": "Ned"+ },+ {+ "family": "A24",+ "given": "Oscar"+ },+ {+ "family": "A25",+ "given": "Phil"+ },+ {+ "family": "A26",+ "given": "Quebert"+ },+ {+ "family": "A27",+ "given": "Rob"+ },+ {+ "family": "A28",+ "given": "Sylvia"+ },+ {+ "family": "A29",+ "given": "Tina"+ },+ {+ "family": "A30",+ "given": "Kate"+ },+ {+ "family": "A31",+ "given": "Leonard"+ },+ {+ "family": "A32",+ "given": "Mike"+ },+ {+ "family": "A33",+ "given": "Ned"+ },+ {+ "family": "A34",+ "given": "Oscar"+ },+ {+ "family": "A35",+ "given": "Phil"+ },+ {+ "family": "A36",+ "given": "Quebert"+ },+ {+ "family": "A37",+ "given": "Rob"+ },+ {+ "family": "A38",+ "given": "Sylvia"+ },+ {+ "family": "A39",+ "given": "Tina"+ },+ {+ "family": "A40",+ "given": "Kate"+ },+ {+ "family": "A41",+ "given": "Leonard"+ },+ {+ "family": "A42",+ "given": "Mike"+ },+ {+ "family": "A43",+ "given": "Ned"+ },+ {+ "family": "A44",+ "given": "Oscar"+ },+ {+ "family": "A45",+ "given": "Phil"+ },+ {+ "family": "A46",+ "given": "Quebert"+ },+ {+ "family": "A47",+ "given": "Rob"+ },+ {+ "family": "A48",+ "given": "Sylvia"+ },+ {+ "family": "A49",+ "given": "Tina"+ },+ {+ "family": "A50",+ "given": "Kate"+ }+ ],+ "container-title": "PLoS ONE",+ "container-title-short": "PLoS One",+ "editor": [+ {+ "family": "Somers",+ "given": "Michael"+ }+ ],+ "id": "aiid:2840020",+ "issue": "3",+ "issued": {+ "date-parts": [+ [+ 2010+ ]+ ]+ },+ "page": "e9612",+ "publisher": "Public Library of Science",+ "publisher-place": "San Francisco, USA",+ "source": "PMC",+ "title": "Modelling the Species Distribution of Flat-Headed Cats (<i>Prionailurus planiceps</i>), an Endangered South-East Asian Small Felid",+ "type": "article-journal",+ "volume": "5"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_AuthorYear.txt view
@@ -0,0 +1,366 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++>>===== RESULT =====>>+(Family01, 2003)+<<===== RESULT =====<<++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>American Psychological Association 6th Edition</title>+ <id>http://www.zotero.org/styles/apa</id>+ <link href="http://www.zotero.org/styles/apa" rel="self"/>+ <link href="http://owl.english.purdue.edu/owl/resource/560/01/" rel="documentation"/>+ <author>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </author>+ <contributor>+ <name>Bruce D'Arcus</name>+ </contributor>+ <contributor>+ <name>Curtis M. Humphrey</name>+ </contributor>+ <contributor>+ <name>Richard Karnesky</name>+ <email>karnesky+zotero@gmail.com</email>+ <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>+ </contributor>+ <contributor>+ <name>Sebastian Karcher</name>+ </contributor>+ <category field="psychology"/>+ <category field="generic-base"/>+ <category citation-format="author-date"/>+ <updated>2010-01-27T20:08:03+00:00</updated>+ <rights>This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>+ </info>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text term="in" text-case="capitalize-first" suffix=" "/>+ <names variable="editor translator" delimiter=", " suffix=", ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=" (" text-case="capitalize-first" suffix=".)" strip-periods="true"/>+ </names>+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if type="chapter paper-conference" match="none">+ <names variable="editor translator" delimiter=", " prefix=" (" suffix=")">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="capitalize-first" suffix="." strip-periods="true"/>+ </names>+ </if>+ </choose>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=" (" suffix=".)" text-case="capitalize-first" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="symbol" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" form="short" font-style="italic"/>+ </if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <choose>+ <if type="thesis">+ <choose>+ <if variable="archive" match="any">+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="archive" suffix="."/>+ <text variable="archive_location" prefix=" (" suffix=")"/>+ </group>+ </if>+ <else>+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </else>+ </choose>+ </if>+ <else>+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix="doi:"/>+ </if>+ <else>+ <choose>+ <if type="webpage">+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <date variable="accessed" suffix=", ">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ <group>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </group>+ </if>+ <else>+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </else>+ </choose>+ </else>+ </choose>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if type="report thesis" match="any">+ <text variable="title" font-style="italic"/>+ <group prefix=" (" suffix=")">+ <text variable="genre"/>+ <text variable="number" prefix=" No. "/>+ </group>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song manuscript speech" match="any">+ <text variable="title" font-style="italic"/>+ </else-if>+ <else>+ <text variable="title"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <choose>+ <if type="report" match="any">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </if>+ <else-if type="thesis" match="any">+ <group delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </else-if>+ <else>+ <choose>+ <if variable="event" match="none">+ <text variable="genre" suffix=", "/>+ </if>+ </choose>+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="event">+ <choose>+ <if variable="event">+ <choose>+ <if variable="genre" match="none">+ <text term="presented at" text-case="capitalize-first" suffix=" "/>+ <text variable="event"/>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="genre" text-case="capitalize-first"/>+ <text term="presented at"/>+ <text variable="event"/>+ </group>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issued">+ <choose>+ <if variable="issued">+ <group prefix=" (" suffix=").">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song article-journal chapter paper-conference" match="none">+ <date variable="issued">+ <date-part prefix=", " name="month"/>+ <date-part prefix=" " name="day"/>+ </date>+ </if>+ </choose>+ </group>+ </if>+ <else>+ <text prefix=" (" term="no date" suffix=")." form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="issued-year">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short" strip-periods="true"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal article-magazine article-newspaper" match="any">+ <group prefix=", " delimiter=", ">+ <group>+ <text variable="volume" font-style="italic"/>+ <text variable="issue" prefix="(" suffix=")"/>+ </group>+ <text variable="page"/>+ </group>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <group prefix=" (" suffix=")" delimiter=", ">+ <text macro="edition"/>+ <group>+ <text term="volume" form="short" plural="true" text-case="capitalize-first" suffix=". " strip-periods="true"/>+ <number variable="number-of-volumes" form="numeric" prefix="1-"/>+ </group>+ <group>+ <text term="volume" form="short" text-case="capitalize-first" suffix=". " strip-periods="true"/>+ <number variable="volume" form="numeric"/>+ </group>+ <group>+ <label variable="page" form="short" suffix=" "/>+ <text variable="page"/>+ </group>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="citation-locator">+ <group>+ <label variable="locator" form="short"/>+ <text variable="locator" prefix=" "/>+ </group>+ </macro>+ <citation et-al-min="6" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" collapse="year">+ <sort>+ <key macro="author"/>+ <key macro="issued-year"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <text macro="author-short"/>+ <text macro="issued-year"/>+ <text macro="citation-locator"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="8" et-al-use-first="7" entry-spacing="0" line-spacing="2">+ <sort>+ <key macro="author"/>+ <key macro="issued-year" sort="ascending"/>+ </sort>+ <layout>+ <group suffix=".">+ <text macro="author" suffix="."/>+ <text macro="issued" suffix=" "/>+ <group delimiter=". ">+ <text macro="title"/>+ <group>+ <text macro="container-contributors"/>+ <text macro="secondary-contributors"/>+ <group delimiter=", ">+ <text variable="container-title" font-style="italic"/>+ <text variable="collection-title"/>+ </group>+ </group>+ </group>+ <text macro="locators"/>+ <group delimiter=", " prefix=". ">+ <text macro="event"/>+ <text macro="publisher"/>+ </group>+ </group>+ <text macro="access" prefix=". "/>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Family01",+ "given": "Given01"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2003,+ 1+ ]+ ]+ },+ "title": "This is some title",+ "type": "book",+ "volume": "2003"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_AutomaticallyDeleteItemsFails.txt view
@@ -0,0 +1,263 @@+>>== MODE ==>>+bibliography+<<== MODE ==<<+++Bug report that references no longer needed are not being deleted +from the bib, but it seems to be happening. Possible API problem?+++>>== RESULT ==>>+<div class="csl-bib-body">+ <div class="csl-entry">+ <div class="csl-left-margin">[1]</div><div class="csl-right-inline"> J. Doe, <i>Book A</i>, 2000.</div>+ </div>+ <div class="csl-entry">+ <div class="csl-left-margin">[2]</div><div class="csl-right-inline"> J. Doe, <i>Book B</i>, 2000.</div>+ </div>+</div>+<<== RESULT ==<<+++>>== CITATIONS ==>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [],+ []+ ]+]+<<== CITATIONS ==<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>IEEE</title>+ <id>http://www.zotero.org/styles/ieee</id>+ <link href="http://www.zotero.org/styles/ieee" rel="self"/>+ <author>+ <name>Michael Berkowitz</name>+ <email>mberkowi@gmu.edu</email>+ </author>+ <contributor>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </contributor>+ <contributor>+ <name>Rintze Zelle</name>+ <uri>http://forums.zotero.org/account/831/</uri>+ </contributor>+ <category field="engineering"/>+ <category field="generic-base"/>+ <category citation-format="numeric"/>+ <updated>2010-02-06T06:35:40+00:00</updated>+ <link href="http://www.ieee.org/portal/cms_docs_iportals/iportals/publications/authors/transjnl/stylemanual.pdf" rel="documentation"/>+ </info>+ <macro name="author">+ <names variable="author">+ <name initialize-with="." delimiter=", " and="text"/>+ <label form="short" prefix=", " text-case="capitalize-first" suffix="." strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name initialize-with="." delimiter=", " and="text" name-as-sort-order="all"/>+ <label form="short" prefix=", " text-case="capitalize-first" suffix="." strip-periods="true"/>+ </names>+ </macro>+ <macro name="title">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else>+ <text variable="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <text variable="publisher-place" suffix=": " prefix=" "/>+ <text variable="publisher" suffix=", "/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </macro>+ <macro name="access">+ <text variable="URL"/>+ </macro>+ <macro name="page">+ <group>+ <label variable="page" form="short" suffix=". " strip-periods="true"/>+ <text variable="page"/>+ </group>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" collapse="citation-number">+ <sort>+ <key variable="citation-number"/>+ </sort>+ <layout delimiter=",">+ <text variable="citation-number" prefix="[" suffix="]"/>+ </layout>+ </citation>+ <bibliography entry-spacing="0" second-field-align="flush">+ <layout suffix=".">+ <text variable="citation-number" prefix="[" suffix="]"/>+ <text macro="author" prefix=" " suffix=", "/>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="publisher"/>+ </group>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=", ">+ <text macro="title"/>+ <text variable="container-title" font-style="italic"/>+ <text macro="editor"/>+ <text macro="publisher"/>+ <text macro="page"/>+ </group>+ </else-if>+ <else-if type="patent">+ <text macro="title" suffix=", "/>+ <text variable="number" prefix="U.S. Patent "/>+ <date variable="issued" prefix=", ">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </else-if>+ <else-if type="thesis">+ <group delimiter=", ">+ <text macro="title"/>+ <text variable="genre"/>+ <text variable="publisher"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ <else>+ <group delimiter=", ">+ <text macro="title"/>+ <text variable="container-title" font-style="italic"/>+ <text variable="volume" prefix=" vol. "/>+ <date variable="issued">+ <date-part name="month" form="short" suffix=". " strip-periods="true"/>+ <date-part name="year"/>+ </date>+ <text macro="page"/>+ </group>+ </else>+ </choose>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "title": "Book A",+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "type": "book"+ },+ {+ "id": "ITEM-2", + "title": "Book B",+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "type": "book"+ },+ {+ "id": "ITEM-3", + "title": "Book C",+ "author": [+ {+ "family": "Snoakes",+ "given": "Richard"+ }+ ], + "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_BadCitationUpdate.txt view
@@ -0,0 +1,99 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+C. Grignon, C. Sentenac 2000a+C. Grignon, C. Sentenac 2000b+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-0"+ }+ ],+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="in-text"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ disambiguate-add-year-suffix="true">+ <layout delimiter="; ">+ <names variable="author">+ <name initialize-with="."/>+ </names>+ <date variable="issued" date-parts="year" form="text" prefix=" "/>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Grignon",+ "given": "Cyril"+ },+ {+ "family": "Sentenac",+ "given": "Corey"+ }+ ],+ "id": "ITEM-0",+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Grignon",+ "given": "Cyril"+ },+ {+ "family": "Sentenac",+ "given": "Corey"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ },+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_BadDelimiterBeforeCollapse.txt view
@@ -0,0 +1,271 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+(Jones 2000; Smith 2000a,b)+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style class="in-text" version="1.0" default-locale="en-US" xmlns="http://purl.org/net/xbiblio/csl">+ <info>+ <title>Herpetological Conservation and Biology</title>+ <title-short>HCB</title-short>+ <id>http://csl.mendeley.com/styles/13393491/herpetological-conservation-and-biology</id>+ <link href="http://www.herpconbio.org/InstructionsForAuthors.pdf" rel="documentation"/>+ <author>+ <name>Matthew H. Shirley</name>+ </author>+ <category citation-format="author-date"/>+ <category field="biology"/>+ <issn>1931-7603</issn>+ <eissn>1931-7603</eissn>+ <updated>2014-04-30T13:19:38+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <macro name="author">+ <names variable="author" suffix=".">+ <name and="text" delimiter-precedes-last="always" et-al-min="11" et-al-use-first="10" initialize-with="." name-as-sort-order="first"/>+ <label form="short" text-case="capitalize-first" prefix=" (" suffix=")"/>+ <substitute>+ <names variable="editor"/>+ </substitute>+ </names>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name and="text" delimiter-precedes-last="always" et-al-min="11" et-al-use-first="10" initialize-with="." name-as-sort-order="first"/>+ <label form="short" text-case="capitalize-first" prefix=" (" suffix=")"/>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" delimiter="" and="text" et-al-min="3" et-al-use-first="1" initialize="false" initialize-with="" sort-separator=""/>+ <substitute>+ <names variable="editor"/>+ <text variable="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-count">+ <names variable="author">+ <name form="count"/>+ <substitute>+ <names variable="editor"/>+ </substitute>+ </names>+ </macro>+ <macro name="year-date">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="year-suffix" font-style="normal"/>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="chapter-info">+ <group delimiter=" ">+ <choose>+ <if type="chapter paper-conference" match="any">+ <group delimiter=" ">+ <label text-case="capitalize-first" variable="page" form="short"/>+ <text variable="page"/>+ <text term="in" text-case="capitalize-first" font-style="italic"/>+ </group>+ </if>+ </choose>+ <text macro="editor"/>+ </group>+ </macro>+ <macro name="container">+ <choose>+ <if type="article-journal article-magazine" match="any">+ <group delimiter=" ">+ <text variable="container-title"/>+ <group delimiter=":">+ <text variable="volume"/>+ <text variable="page"/>+ </group>+ </group>+ </if>+ <else-if type="thesis">+ <text variable="genre"/>+ </else-if>+ <else>+ <text variable="container-title"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <group delimiter=", ">+ <group delimiter=" ">+ <text variable="collection-title"/>+ <text variable="collection-number"/>+ </group>+ <text variable="genre"/>+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number text-case="capitalize-first" variable="edition" form="ordinal"/>+ <text term="edition" text-case="capitalize-first"/>+ </group>+ </if>+ <else>+ <text variable="edition"/>+ <number text-case="capitalize-first" variable="edition" form="ordinal"/>+ <text term="edition" text-case="capitalize-first"/>+ </else>+ </choose>+ </macro>+ <macro name="volume">+ <choose>+ <if type="article-journal article-magazine" match="none">+ <choose>+ <if variable="volume">+ <group delimiter=" ">+ <text term="volume" text-case="capitalize-first"/>+ <text variable="volume"/>+ </group>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="pages">+ <choose>+ <if type="thesis report" match="any">+ <text variable="number-of-pages" suffix=" p."/>+ </if>+ </choose>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" disambiguate-add-year-suffix="true" collapse="year-suffix" year-suffix-delimiter="," after-collapse-delimiter="; " disambiguate-add-givenname="true" givenname-disambiguation-rule="by-cite">+ <sort>+ <key macro="year-date"/>+ <key macro="author-short"/>+ </sort>+ <layout delimiter="; " prefix="(" suffix=")">+ <group delimiter=":">+ <group delimiter=" ">+ <text macro="author-short"/>+ <text macro="year-date"/>+ </group>+ <text variable="locator"/>+ </group>+ </layout>+ </citation>+ <bibliography entry-spacing="0" hanging-indent="true">+ <sort>+ <key macro="author" names-min="1" names-use-first="1"/>+ <key macro="author-count" names-min="1" names-use-first="3"/>+ <key macro="author" names-min="3" names-use-first="1"/>+ <key macro="year-date" sort="descending"/>+ </sort>+ <layout suffix=".">+ <group delimiter=". ">+ <text macro="author"/>+ <text macro="year-date"/>+ <text variable="title" text-case="capitalize-first" text-decoration="none"/>+ <text macro="chapter-info"/>+ <text macro="container"/>+ <text macro="edition"/>+ <text macro="volume"/>+ <text macro="publisher"/>+ <text macro="pages"/>+ </group>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ },+ "title": "Book One",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ },+ "title": "Book Two",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Jones",+ "given": "Richard"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ },+ "title": "Book Three",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_ByBy.txt view
@@ -0,0 +1,668 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">Review of <i>My Title</i>, by Beaver Burtle. n.d.</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="never" page-range-format="chicago">+ <info>+ <title>Chicago Manual of Style 16th edition (author-date)</title>+ <id>http://www.zotero.org/styles/chicago-author-date</id>+ <link href="http://www.zotero.org/styles/chicago-author-date" rel="self"/>+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Sebastian Karcher</name>+ </contributor>+ <contributor>+ <name>Richard Karnesky</name>+ <email>karnesky+zotero@gmail.com</email>+ <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>+ </contributor>+ <contributor>+ <name>Andrew Dunning</name>+ <email>andrew.dunning@utoronto.ca</email>+ </contributor>+ <category citation-format="author-date"/>+ <category field="generic-base"/>+ <summary>The author-date variant of the Chicago style</summary>+ <updated>2015-04-06T20:30:00+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale xml:lang="en">+ <terms>+ <term name="editor" form="verb-short">ed.</term>+ <term name="container-author" form="verb">by</term>+ <term name="translator" form="verb-short">trans.</term>+ <term name="editortranslator" form="verb">+ <single>edited and translated by</single>+ <multiple>edited and translated by</multiple>+ </term>+ <term name="translator" form="short">trans.</term>+ </terms>+ </locale>+ <macro name="secondary-contributors">+ <choose>+ <if type="chapter paper-conference" match="none">+ <group delimiter=". ">+ <names variable="editor translator" delimiter=". ">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ <names variable="director" delimiter=". ">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference" match="any">+ <group prefix=", " delimiter=", ">+ <names variable="container-author" delimiter=", ">+ <label form="verb" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ <names variable="editor translator" delimiter=", ">+ <label form="verb" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", "/>+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", "/>+ </names>+ </macro>+ <macro name="recipient">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ <else>+ <text term="letter" text-case="capitalize-first"/>+ </else>+ </choose>+ </if>+ </choose>+ <names variable="recipient" delimiter=", ">+ <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="substitute-title">+ <choose>+ <if type="article-magazine article-newspaper review review-book" match="any">+ <text macro="container-title"/>+ </if>+ </choose>+ </macro>+ <macro name="contributors">+ <group delimiter=". ">+ <names variable="author">+ <name and="text" name-as-sort-order="first" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="substitute-title"/>+ <text macro="title"/>+ </substitute>+ </names>+ <text macro="recipient"/>+ </group>+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="substitute-title"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="interviewer">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" prefix=" " text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="archive">+ <group delimiter=". ">+ <text variable="archive_location" text-case="capitalize-first"/>+ <text variable="archive"/>+ <text variable="archive-place"/>+ </group>+ </macro>+ <macro name="access">+ <group delimiter=". ">+ <choose>+ <if type="graphic report" match="any">+ <text macro="archive"/>+ </if>+ <else-if type="article-journal bill book chapter legal_case legislation motion_picture paper-conference" match="none">+ <text macro="archive"/>+ </else-if>+ </choose>+ <choose>+ <if type="webpage post-weblog" match="any">+ <date variable="issued" delimiter=" ">+ <date-part name="month"/>+ <date-part name="day"/>+ </date>+ </if>+ </choose>+ <choose>+ <if variable="issued" match="none">+ <group delimiter=" ">+ <text term="accessed" text-case="capitalize-first"/>+ <date variable="accessed" delimiter=" ">+ <date-part name="month"/>+ <date-part name="day"/>+ </date>+ </group>+ </if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix="doi:"/>+ </if>+ <else>+ <text variable="URL"/>+ </else>+ </choose>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="title">+ <choose>+ <if variable="title" match="none">+ <choose>+ <if type="personal_communication" match="none">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ </choose>+ </if>+ <else-if type="bill book graphic legislation motion_picture report song" match="any">+ <text variable="title" text-case="title" font-style="italic"/>+ <group prefix=" (" suffix=")" delimiter=" ">+ <text term="version"/>+ <text variable="version"/>+ </group>+ </else-if>+ <else-if variable="reviewed-author">+ <choose>+ <if variable="reviewed-title">+ <group delimiter=". ">+ <text variable="title" text-case="title" quotes="true"/>+ <group delimiter=", ">+ <text variable="reviewed-title" font-style="italic" prefix="Review of "/>+ <names variable="reviewed-author">+ <label form="verb-short" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </group>+ </if>+ <else>+ <group delimiter=", ">+ <text variable="title" font-style="italic" prefix="Review of "/>+ <names variable="reviewed-author">+ <label form="verb-short" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </else>+ </choose>+ </else-if>+ <else-if type="legal_case interview" match="any">+ <text variable="title"/>+ </else-if>+ <else>+ <text variable="title" text-case="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" " prefix=". ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" prefix=". "/>+ </else>+ </choose>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" " prefix=", ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short"/>+ </group>+ </if>+ <else>+ <text variable="edition" prefix=", "/>+ </else>+ </choose>+ </else-if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <choose>+ <if variable="volume">+ <text variable="volume" prefix=" "/>+ <group prefix=" (" suffix=")">+ <choose>+ <if variable="issue">+ <text variable="issue"/>+ </if>+ <else>+ <date variable="issued">+ <date-part name="month"/>+ </date>+ </else>+ </choose>+ </group>+ </if>+ <else-if variable="issue">+ <group delimiter=" " prefix=", ">+ <text term="issue" form="short"/>+ <text variable="issue"/>+ <date variable="issued" prefix="(" suffix=")">+ <date-part name="month"/>+ </date>+ </group>+ </else-if>+ <else>+ <date variable="issued" prefix=", ">+ <date-part name="month"/>+ </date>+ </else>+ </choose>+ </if>+ <else-if type="legal_case">+ <text variable="volume" prefix=", "/>+ <text variable="container-title" prefix=" "/>+ <text variable="page" prefix=" "/>+ </else-if>+ <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <group prefix=". " delimiter=". ">+ <group>+ <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>+ <number variable="volume" form="numeric"/>+ </group>+ <group>+ <number variable="number-of-volumes" form="numeric"/>+ <text term="volume" form="short" prefix=" " plural="true"/>+ </group>+ </group>+ </else-if>+ <else-if type="chapter paper-conference" match="any">+ <choose>+ <if variable="page" match="none">+ <group prefix=". ">+ <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>+ <number variable="volume" form="numeric"/>+ </group>+ </if>+ </choose>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter paper-conference" match="any">+ <choose>+ <if variable="page">+ <group prefix=", ">+ <text variable="volume" suffix=":"/>+ <text variable="page"/>+ </group>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-article">+ <choose>+ <if type="article-newspaper">+ <group prefix=", " delimiter=", ">+ <group delimiter=" ">+ <text variable="edition"/>+ <text term="edition"/>+ </group>+ <group>+ <text term="section" form="short" suffix=" "/>+ <text variable="section"/>+ </group>+ </group>+ </if>+ <else-if type="article-journal">+ <choose>+ <if variable="volume issue" match="any">+ <text variable="page" prefix=": "/>+ </if>+ <else>+ <text variable="page" prefix=", "/>+ </else>+ </choose>+ </else-if>+ </choose>+ </macro>+ <macro name="point-locators">+ <choose>+ <if variable="locator">+ <choose>+ <if locator="page" match="none">+ <choose>+ <if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <choose>+ <if variable="volume">+ <group>+ <text term="volume" form="short" suffix=" "/>+ <number variable="volume" form="numeric"/>+ <label variable="locator" form="short" prefix=", " suffix=" "/>+ </group>+ </if>+ <else>+ <label variable="locator" form="short" suffix=" "/>+ </else>+ </choose>+ </if>+ <else>+ <label variable="locator" form="short" suffix=" "/>+ </else>+ </choose>+ </if>+ <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <number variable="volume" form="numeric" suffix=":"/>+ </else-if>+ </choose>+ <text variable="locator"/>+ </if>+ </choose>+ </macro>+ <macro name="container-prefix">+ <text term="in" text-case="capitalize-first"/>+ </macro>+ <macro name="container-title">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text macro="container-prefix" suffix=" "/>+ </if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <text variable="container-title" text-case="title" font-style="italic"/>+ </if>+ </choose>+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </macro>+ <macro name="date">+ <choose>+ <if variable="issued">+ <group delimiter=" ">+ <date variable="original-date" form="text" date-parts="year" prefix="(" suffix=")"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </if>+ <else-if variable="accessed">+ <date variable="accessed">+ <date-part name="year"/>+ </date>+ </else-if>+ <else-if variable="status">+ <text variable="status" text-case="capitalize-first"/>+ </else-if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="date-in-text">+ <choose>+ <if variable="issued">+ <group delimiter=" ">+ <date variable="original-date" form="text" date-parts="year" prefix="[" suffix="]"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </if>+ <else-if variable="accessed">+ <date variable="accessed">+ <date-part name="year"/>+ </date>+ </else-if>+ <else-if variable="status">+ <text variable="status"/>+ </else-if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="day-month">+ <date variable="issued">+ <date-part name="month"/>+ <date-part name="day" prefix=" "/>+ </date>+ </macro>+ <macro name="collection-title">+ <choose>+ <if match="none" type="article-journal">+ <choose>+ <if match="none" is-numeric="collection-number">+ <group delimiter=", ">+ <text variable="collection-title" text-case="title"/>+ <text variable="collection-number"/>+ </group>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="collection-title" text-case="title"/>+ <text variable="collection-number"/>+ </group>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="collection-title-journal">+ <choose>+ <if type="article-journal">+ <group delimiter=" ">+ <text variable="collection-title"/>+ <text variable="collection-number"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="event">+ <group>+ <text term="presented at" suffix=" "/>+ <text variable="event"/>+ </group>+ </macro>+ <macro name="description">+ <choose>+ <if type="interview">+ <group delimiter=". ">+ <text macro="interviewer"/>+ <text variable="medium" text-case="capitalize-first"/>+ </group>+ </if>+ <else>+ <text variable="medium" text-case="capitalize-first" prefix=". "/>+ </else>+ </choose>+ <choose>+ <if variable="title" match="none"/>+ <else-if type="thesis personal_communication speech" match="any"/>+ <else>+ <group delimiter=" " prefix=". ">+ <text variable="genre" text-case="capitalize-first"/>+ <choose>+ <if type="report">+ <text variable="number"/>+ </if>+ </choose>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="legal_case">+ <text variable="authority" prefix=". "/>+ </if>+ <else-if type="speech">+ <group prefix=". " delimiter=", ">+ <group delimiter=" ">+ <text variable="genre" text-case="capitalize-first"/>+ <text macro="event"/>+ </group>+ <text variable="event-place"/>+ <text macro="day-month"/>+ </group>+ </else-if>+ <else-if type="article-newspaper article-magazine personal_communication" match="any">+ <text macro="day-month" prefix=", "/>+ </else-if>+ <else>+ <group prefix=". " delimiter=", ">+ <choose>+ <if type="thesis">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ </choose>+ <text macro="publisher"/>+ </group>+ </else>+ </choose>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" givenname-disambiguation-rule="primary-name">+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <choose>+ <if variable="issued accessed" match="any">+ <group delimiter=" ">+ <text macro="contributors-short"/>+ <text macro="date-in-text"/>+ </group>+ </if>+ <!---comma before forthcoming and n.d.-->+ <else>+ <group delimiter=", ">+ <text macro="contributors-short"/>+ <text macro="date-in-text"/>+ </group>+ </else>+ </choose>+ <text macro="point-locators"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="11" et-al-use-first="7" subsequent-author-substitute="———" entry-spacing="0">+ <sort>+ <key macro="contributors"/>+ <key variable="issued"/>+ <key variable="title"/>+ </sort>+ <layout suffix=".">+ <group delimiter=". ">+ <text macro="contributors"/>+ <text macro="date"/>+ <text macro="title"/>+ </group>+ <text macro="description"/>+ <text macro="secondary-contributors" prefix=". "/>+ <text macro="container-title" prefix=". "/>+ <text macro="container-contributors"/>+ <text macro="edition"/>+ <text macro="locators-chapter"/>+ <text macro="collection-title-journal" prefix=", " suffix=", "/>+ <text macro="locators"/>+ <text macro="collection-title" prefix=". "/>+ <text macro="issue"/>+ <text macro="locators-article"/>+ <text macro="access" prefix=". "/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "reviewed-author": [+ {+ "family": "Burtle",+ "given": "Beaver"+ }+ ],+ "title": "My Title",+ "type": "article-journal"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_CapsAfterOneWordPrefix.txt view
@@ -0,0 +1,60 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Nocapsafter. ibid.+Caps after. Ibid.+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1",+ "prefix": "Nocapsafter. "+ }+ ],+ [+ {+ "id": "ITEM-1",+ "prefix": "Caps after. "+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; ">+ <text term="ibid"/>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Title",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_ChicagoAuthorDateLooping.txt view
@@ -0,0 +1,437 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++This is a little weird, but it's what the style wants, I think.++Looping was caused by attempt to render:++([CSL STYLE ERROR: reference with no printed form.]; [CSL STYLE ERROR: reference with no printed form.]; Manstein 1982)++... which should work (and now would do), but with other bug fixes, this came out as ...++(Anon.a; Anon.b; Manstein 1982)++... but seems more sensibly rendered as ...++>>===== RESULT =====>>+(Anon.; Anon.; Manstein 1982)+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" page-range-format="chicago">+ <info>+ <title>Chicago Manual of Style (Author-Date format)</title>+ <id>http://www.zotero.org/styles/chicago-author-date</id>+ <link href="http://www.zotero.org/styles/chicago-author-date" rel="self"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <category citation-format="author-date"/>+ <category field="generic-base"/>+ <updated>2009-12-04T20:22:16+00:00</updated>+ <summary>The author-date variant of the Chicago style</summary>+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>+ </info>+ <macro name="secondary-contributors">+ <choose>+ <if match="none" type="chapter">+ <group delimiter=". ">+ <choose>+ <if variable="author">+ <names variable="editor">+ <label form="verb-short" prefix=" " suffix=". " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names variable="translator">+ <label form="verb-short" prefix=" " suffix=". " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter">+ <group delimiter=", " prefix=",">+ <choose>+ <if variable="author">+ <names variable="editor">+ <label form="verb-short" prefix=" " suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names variable="translator">+ <label form="verb-short" prefix=" " suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="anon">+ <choose>+ <if match="none" variable="author editor translator">+ <text form="short" term="anonymous" text-case="capitalize-first" />+ </if>+ </choose>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="recipient">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ <else>+ <text term="letter" text-case="capitalize-first" />+ </else>+ </choose>+ </if>+ </choose>+ <names delimiter=", " variable="recipient">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="contributors">+ <names variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." text-case="lowercase" />+ <substitute>+ <text macro="editor" />+ <text macro="translator" />+ </substitute>+ </names>+ <text macro="anon" />+ <text macro="recipient" />+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name and="text" delimiter=", " form="short" />+ <substitute>+ <names variable="editor" />+ <names variable="translator" />+ </substitute>+ </names>+ <text macro="anon" />+ </macro>+ <macro name="interviewer">+ <names delimiter=", " variable="interviewer">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="archive">+ <group delimiter=". ">+ <text text-case="capitalize-first" variable="archive_location" />+ <text variable="archive" />+ <text variable="archive-place" />+ </group>+ </macro>+ <macro name="access">+ <group delimiter=". ">+ <choose>+ <if match="any" type="graphic report">+ <text macro="archive" />+ </if>+ <else-if match="none" type="book thesis chapter article-journal article-newspaper article-magazine">+ <text macro="archive" />+ </else-if>+ </choose>+ <text prefix="doi:" variable="DOI" />+ <text variable="URL" />+ </group>+ </macro>+ <macro name="title">+ <choose>+ <if match="none" variable="title">+ <choose>+ <if match="none" type="personal_communication">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ </if>+ <else-if type="book">+ <text font-style="italic" variable="title" />+ </else-if>+ <else>+ <text variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if match="any" type="book chapter">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number form="ordinal" variable="edition" />+ <text form="short" suffix="." term="edition" />+ </group>+ </if>+ <else>+ <text suffix="." variable="edition" form="short"/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <text prefix=" " variable="volume" />+ <text prefix=", no. " variable="issue" />+ </if>+ <else-if type="book">+ <group delimiter=". " prefix=". ">+ <group>+ <text form="short" suffix=". " term="volume" text-case="capitalize-first" />+ <number form="numeric" variable="volume" />+ </group>+ <group>+ <number form="numeric" variable="number-of-volumes" />+ <text form="short" plural="true" prefix=" " suffix="." term="volume" />+ </group>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter">+ <group prefix=", ">+ <text suffix=":" variable="volume" />+ <text variable="page" />+ </group>+ </if>+ </choose>+ </macro>+ <macro name="locators-article">+ <choose>+ <if type="article-newspaper">+ <group delimiter=", " prefix=", ">+ <group>+ <text suffix=" " variable="edition" />+ <text prefix=" " term="edition" />+ </group>+ <group>+ <text form="short" suffix=". " term="section" />+ <text variable="section" />+ </group>+ </group>+ </if>+ <else-if type="article-journal">+ <text prefix=": " variable="page" />+ </else-if>+ </choose>+ </macro>+ <macro name="point-locators">+ <group>+ <choose>+ <if locator="page" match="none">+ <label form="short" suffix=" " variable="locator" />+ </if>+ </choose>+ <text variable="locator" />+ </group>+ </macro>+ <macro name="container-prefix">+ <text term="in" text-case="capitalize-first" />+ </macro>+ <macro name="container-title">+ <choose>+ <if type="chapter">+ <text macro="container-prefix" suffix=" " />+ </if>+ </choose>+ <text font-style="italic" variable="container-title" />+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place" />+ <text variable="publisher" />+ </group>+ </macro>+ <macro name="date">+ <date variable="issued">+ <date-part name="year" />+ </date>+ </macro>+ <macro name="day-month">+ <date variable="issued">+ <date-part name="month" />+ <date-part name="day" prefix=" " />+ </date>+ </macro>+ <macro name="collection-title">+ <text variable="collection-title" />+ <text prefix=" " variable="collection-number" />+ </macro>+ <macro name="event">+ <group>+ <text suffix=" " term="presented at" />+ <text variable="event" />+ </group>+ </macro>+ <macro name="description">+ <group delimiter=". ">+ <text macro="interviewer" />+ <text text-case="capitalize-first" variable="medium" />+ </group>+ <choose>+ <if match="none" variable="title"> </if>+ <else-if type="thesis"> </else-if>+ <else>+ <text prefix=". " text-case="capitalize-first" variable="genre" />+ </else>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="article-journal">+ <text macro="day-month" prefix=" (" suffix=")" />+ </if>+ <else-if type="speech">+ <group delimiter=", " prefix=" ">+ <text macro="event" />+ <text macro="day-month" />+ <text variable="event-place" />+ </group>+ </else-if>+ <else-if match="any" type="article-newspaper article-magazine">+ <text macro="day-month" prefix=", " />+ </else-if>+ <else>+ <group delimiter=", " prefix=". ">+ <choose>+ <if type="thesis">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ <text macro="publisher" />+ <text macro="day-month" />+ </group>+ </else>+ </choose>+ </macro>+ <citation + disambiguate-add-givenname="true"+ disambiguate-add-names="true"+ disambiguate-add-year-suffix="true"+ et-al-min="4"+ et-al-subsequent-min="4"+ et-al-subsequent-use-first="1"+ et-al-use-first="1">+ <layout delimiter="; " prefix="(" suffix=")">+ <group delimiter=", ">+ <group delimiter=" ">+ <text macro="contributors-short" />+ <text macro="date" />+ </group>+ <text macro="point-locators" />+ </group>+ </layout>+ </citation>+ <bibliography + entry-spacing="0"+ et-al-min="11"+ et-al-use-first="7"+ hanging-indent="true"+ subsequent-author-substitute="---">+ <sort>+ <key macro="contributors" />+ <key variable="issued" />+ <key variable="title" />+ </sort>+ <layout suffix=".">+ <text macro="contributors" suffix=". " />+ <text macro="date" suffix=". " />+ <text macro="title" />+ <text macro="description" />+ <text macro="secondary-contributors" prefix=". " />+ <text macro="container-title" prefix=". " />+ <text macro="container-contributors" />+ <text macro="locators-chapter" />+ <text macro="edition" prefix=". " />+ <text macro="locators" />+ <text macro="collection-title" prefix=". " />+ <text macro="issue" />+ <text macro="locators-article" />+ <text macro="access" prefix=". " />+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Manstein",+ "given": "Erich Von"+ }+ ],+ "id": "ITEM-0",+ "issued": {+ "date-parts": [+ [+ 1982,+ 9+ ]+ ]+ },+ "publisher": "Presidio Pr",+ "title": "Lost Victories",+ "type": "book"+ },+ {+ "URL": "http://www.ja-sig.org/jasigconf/popSpeaker.jsp?id=39e50005&conf_id=jasig12&name=Lennard+Fuller",+ "id": "ITEM-1",+ "title": "JA-SIG Conference Presentation",+ "type": "webpage"+ },+ {+ "URL": "http://www.google.com/",+ "id": "ITEM-2",+ "title": "Google",+ "type": "webpage"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_ChineseCharactersFamilyOnlyPluralLabel.txt view
@@ -0,0 +1,52 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+编者ed.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="editor">+ <name/>+ <label form="short"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "editor": [+ {+ "family": "编者"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_CitationSortsWithEtAl.txt view
@@ -0,0 +1,168 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+[<i>Aalto et al.</i>, 1999, 2000, 2001]+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="in-text"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " form="long" delimiter-precedes-last="always" initialize-with=". "/>+ <label form="short" prefix=" (" suffix=".)" text-case="capitalize-first" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ </macro>+ <macro name="year-date">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="false" disambiguate-add-givenname="false" collapse="year">+ <sort>+ <key macro="author"/>+ <key macro="year-date"/>+ </sort>+ <layout prefix="[" suffix="]" delimiter="; ">+ <group delimiter=", ">+ <group delimiter=", ">+ <text macro="author-short" font-style="italic"/>+ <text macro="year-date"/>+ </group>+ <text variable="locator" prefix="p."/>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ },+ {+ "family": "Quintuffle",+ "given": "Qlark"+ },+ {+ "family": "Crank",+ "given": "Christoper"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2001+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ },+ {+ "family": "Baseballhat",+ "given": "Bernie"+ },+ {+ "family": "Crank",+ "given": "Christoper"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 1999+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ },+ {+ "family": "Zipgpot",+ "given": "Zody"+ },+ {+ "family": "Crank",+ "given": "Christoper"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ },+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_CollapseFailure.txt view
@@ -0,0 +1,154 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+(Doe et al. 1965a, 1965b, 1970)+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="UTF-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" version="1.0"+class="in-text">+ <info>+ <title>My First Style</title>+ <id>my-first-style</id>+ <updated>2008-10-29T21:01:24+00:00</updated>+ </info>+ <macro name="author-short">+ <names variable="author">+ <name form="short"/>+ </names>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" initialize-with=". "/>+ </names>+ </macro>+ <macro name="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" disambiguate-add-year-suffix="true" collapse="year">+ <sort>+ <key macro="issued"/>+ <key macro="author-short"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=" ">+ <text macro="author-short"/>+ <text macro="issued"/>+ </group>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key macro="author"/>+ <key macro="issued"/>+ </sort>+ <layout suffix=".">+ <group delimiter=" ">+ <text macro="author"/>+ <text macro="issued" prefix="(" suffix=")"/>+ <text variable="title" suffix="."/>+ <text variable="container-title" font-style="italic"/>+ </group>+ <group prefix=", ">+ <text variable="volume" suffix=":"/>+ <text variable="page"/>+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Noakes",+ "given": "Richard"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1965"+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Spindlethrift",+ "given": "Melanie"+ },+ {+ "family": "Korkblougher",+ "given": "Weegas"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1965"+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Blub",+ "given": "Sophie"+ },+ {+ "family": "Lanbright",+ "given": "Bugeyes"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ "1970"+ ]+ ]+ },+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_ContainerTitleShort.txt view
@@ -0,0 +1,73 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">Anon J/Anon J/Anonymous Journal</div>+ <div class="csl-entry">Journal-1/Journal-1/Anonymous Journal One</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="BOGUS"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <group delimiter="/">+ <text variable="container-title-short"/>+ <text variable="container-title" form="short"/>+ <text variable="container-title"/>+ </group>+ </layout>+ </bibliography></style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "container-title": "Anonymous Journal",+ "id": "ITEM-1",+ "journalAbbreviation": "Anon J",+ "type": "article-journal"+ },+ {+ "container-title": "Anonymous Journal One",+ "container-title-short": "Journal-1",+ "id": "ITEM-2",+ "type": "chapter"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_ContentPunctuationDuplicate1.txt view
@@ -0,0 +1,64 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++Note placement of the period after "reference". Suppression +of duplicate punctuation across nesting levels of the output +object must be done at the higher of the two.++Note also the period after "etc", which in this case is a+delimiter supplied by the style.++>>===== RESULT =====>>+“His Anonymous Life etc.” (1965) <i>reference.</i> blurble+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <group delimiter=". ">+ <text variable="title" quotes="true"/>+ <group delimiter=" ">+ <date variable="issued" form="text" date-parts="year" prefix="(" suffix=")"/>+ <text value="reference." font-style="italic"/>+ </group>+ <text value="blurble"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1965"+ ]+ ]+ },+ "title": "His Anonymous Life etc",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_ContextualPluralWithMainItemFields.txt view
@@ -0,0 +1,60 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++Bug report by Carles Pina.++>>===== RESULT =====>>+pages 1 & 2; pages 1, 2; pages 1–2; page 1+<<===== RESULT =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; ">+ <label variable="page" suffix=" "/>+ <text variable="page" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "page": "1 & 2",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "page": "1, 2",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "page": "1-2",+ "type": "book"+ },+ {+ "id": "ITEM-4",+ "page": "1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_CreepingAddNames.txt view
@@ -0,0 +1,362 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [],+ []+ ]+]+<<===== CITATIONS =====<<+++>>===== RESULT =====>>+>>[0] (Morley et al. 2011; Butler and Turner 2010; Rowan, Peel, and Vendeville 2004)+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>American Sociological Association</title>+ <id>http://www.zotero.org/styles/asa</id>+ <link href="http://www.zotero.org/styles/asa" rel="self"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <category citation-format="author-date"/>+ <category field="sociology"/>+ <updated>2008-10-20T16:32:11+00:00</updated>+ <summary>The ASA style.</summary>+ <link href="http://www.asanet.org/galleries/default-file/asaguidelinesnew.pdf" rel="documentation"/>+ </info>+ <macro name="editor">+ <names variable="editor">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="series-editor">+ <names variable="original-author">+ <label form="short" text-case="capitalize-first" suffix=". " strip-periods="true"/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="anon">+ <text term="anonymous" form="short" text-case="capitalize-first" strip-periods="true"/>+ </macro>+ <macro name="author">+ <names variable="author">+ <name and="text" name-as-sort-order="first" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", " suffix="." text-case="lowercase" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <group>+ <text variable="URL"/>+ <group prefix=" (" suffix=")">+ <text term="accessed" text-case="capitalize-first" suffix=" "/>+ <date variable="accessed">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </group>+ </group>+ </macro>+ <macro name="title">+ <choose>+ <if type="thesis">+ <text variable="title"/>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </else-if>+ <else>+ <text variable="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </macro>+ <macro name="year-date">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short" strip-periods="true"/>+ </else>+ </choose>+ </macro>+ <macro name="day-month">+ <date variable="issued">+ <date-part name="month"/>+ <date-part name="day" prefix=" "/>+ </date>+ </macro>+ <macro name="pages">+ <label variable="page" form="short" suffix=". " text-case="capitalize-first" strip-periods="true"/>+ <text variable="page"/>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" collapse="year">+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=":">+ <group delimiter=" ">+ <text macro="author-short"/>+ <text macro="year-date"/>+ </group>+ <text variable="locator"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="6" et-al-use-first="1">+ <sort>+ <key macro="author"/>+ <key variable="title"/>+ </sort>+ <layout suffix=".">+ <group delimiter=" ">+ <text macro="author" suffix="."/>+ <text macro="year-date" suffix="."/>+ </group>+ <choose>+ <if type="article-newspaper article-magazine" match="any">+ <group delimiter=" ">+ <text macro="title" prefix=" " suffix="."/>+ </group>+ <group prefix=" " delimiter=", ">+ <text variable="container-title" font-style="italic"/>+ <text macro="day-month"/>+ <text variable="edition"/>+ <text variable="page"/>+ </group>+ </if>+ <else-if type="thesis">+ <text macro="title" prefix=" " suffix="." quotes="true"/>+ <group prefix=" " delimiter=", ">+ <text macro="edition"/>+ <text macro="editor" suffix="."/>+ <text variable="genre"/>+ <text macro="publisher"/>+ </group>+ </else-if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <group delimiter=" ">+ <text macro="title" prefix=" " suffix="."/>+ <text macro="edition"/>+ <text macro="editor" suffix="."/>+ <text macro="publisher"/>+ </group>+ </else-if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=" ">+ <text macro="title" prefix=" " suffix="."/>+ <group delimiter=", " suffix=".">+ <group delimiter=" ">+ <text macro="pages"/>+ <text term="in" text-case="lowercase"/>+ <text variable="container-title" font-style="italic"/>+ </group>+ <text variable="volume" prefix="vol. "/>+ <text variable="collection-title" font-style="italic"/>+ <text macro="editor"/>+ </group>+ <text macro="publisher"/>+ </group>+ </else-if>+ <else>+ <group suffix=".">+ <text macro="title" prefix=" "/>+ <text macro="editor" prefix=" "/>+ </group>+ <group prefix=" " suffix="." delimiter=" ">+ <text variable="container-title" font-style="italic"/>+ <group delimiter=":">+ <text variable="volume"/>+ <text variable="page"/>+ </group>+ </group>+ </else>+ </choose>+ <text prefix=" " macro="access" suffix="."/>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Morley", + "given": "John"+ },+ {+ "family": "King", + "given": "Richard"+ },+ {+ "family": "Gadget", + "given": "Tom"+ },+ {+ "family": "Widget", + "given": "Peter"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ "2011" + ]+ ]+ }, + "type": "book"+ },+ {+ "author": [+ {+ "family": "Butler", + "given": "Sharon"+ },+ {+ "family": "Turner", + "given": "Sarah"+ }+ ], + "id": "ITEM-2", + "issued": {+ "date-parts": [+ [+ "2010" + ]+ ]+ }, + "type": "book"+ },+ {+ "author": [+ {+ "family": "Rowan", + "given": "Steven"+ },+ {+ "family": "Peel", + "given": "Artemus"+ },+ {+ "family": "Vendeville", + "given": "Bruce"+ }+ ], + "id": "ITEM-3", + "issued": {+ "date-parts": [+ [+ "2004" + ]+ ]+ }, + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_DelimiterOnLayout.txt view
@@ -0,0 +1,84 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++Bug reported by Rintze:++ https://forums.zotero.org/discussion/62288/citeprocjs-bug/+++>>===== RESULT =====>>+>>[0] (fig.1(z)fig.2)+<<===== RESULT =====<<+++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ []+ ]+]+<<===== CITATIONS =====<<+++>>===== CSL =====>>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" default-locale="en-US">+ <!-- This style was edited with the Visual CSL Editor (http://editor.citationstyles.org/visualEditor/) -->+ <info>+ <title>Chicago Manual of Style 16th edition (figures and illustrations)</title>+ <title-short>chicago-figures</title-short>+ <id>http://www.zotero.org/styles/chicago-figures</id>+ <link href="http://www.zotero.org/styles/chicago-figures" rel="self"/>+ <link href="https://github.com/citation-style-language/styles/pull/442" rel="documentation"/>+ <author>+ <name>Alex Watkins</name>+ </author>+ <category citation-format="numeric"/>+ <category field="humanities"/>+ <summary>Follows the Chicago Manual for Figure lists. Natural Name order, commas separate elements, currently working with artwork item types, and to facilitate citing images that come from books, book part.</summary>+ <updated>2013-06-20T20:16:50+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <citation>+ <layout prefix="(" suffix=")" delimiter="(z)">+ <text term="figure" form="short"/>+ <text variable="citation-number"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "type": "book"+ },+ {+ "id": "ITEM-2", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_DelimitersOnLocator.txt view
@@ -0,0 +1,377 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+[1, 32; 2, 32; 3, 32]+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1",+ "locator": "32"+ },+ {+ "id": "ITEM-2",+ "locator": "32"+ },+ {+ "id": "ITEM-3",+ "locator": "32"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only">+ <info>+ <title>IEEE Modified</title>+ <id>http://www.zotero.org/styles/ieee-modified</id>+ <link href="http://www.zotero.org/styles/ieee" rel="self"/>+ <author>+ <name>Michael Berkowitz</name>+ <email>mberkowi@gmu.edu</email>+ </author>+ <contributor>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </contributor>+ <contributor>+ <name>Rintze Zelle</name>+ <uri>http://twitter.com/rintzezelle</uri>+ </contributor>+ <contributor>+ <name>Stephen Frank</name>+ <uri>http://www.zotero.org/sfrank</uri>+ </contributor>+ <contributor>+ <name>Sebastian Karcher</name>+ </contributor>+ <category field="engineering"/>+ <category field="generic-base"/>+ <category citation-format="numeric"/>+ <updated>2011-09-12T22:16:03+00:00</updated>+ <rights>+ This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License:+ http://creativecommons.org/licenses/by-sa/3.0/+ </rights>+ <link href="http://www.ieee.org/portal/cms_docs_iportals/iportals/publications/authors/transjnl/stylemanual.pdf" rel="documentation"/>+ <link href="http://www.ieee.org/documents/auinfo07.pdf" rel="documentation"/>+ </info>+ <!-- Macros -->+ <macro name="edition">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" text-case="capitalize-first" suffix="."/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issued">+ <choose>+ <if type="article-journal report" match="any">+ <date variable="issued">+ <date-part name="month" form="short" suffix=" "/>+ <date-part name="year" form="long"/>+ </date>+ </if>+ <else-if type="bill book graphic legal_case motion_picture song thesis chapter paper-conference" match="any">+ <date variable="issued">+ <date-part name="year" form="long"/>+ </date>+ </else-if>+ <else>+ <date variable="issued">+ <date-part name="day" form="numeric-leading-zeros" suffix="-"/>+ <date-part name="month" form="short" suffix="-" strip-periods="true"/>+ <date-part name="year" form="long"/>+ </date>+ </else>+ </choose>+ </macro>+ <macro name="author">+ <names variable="author">+ <name initialize-with=". " delimiter=", " and="text"/>+ <label form="short" prefix=", " text-case="capitalize-first" suffix="." strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name initialize-with=". " delimiter=", " and="text"/>+ <label form="short" prefix=", " text-case="capitalize-first" suffix="." strip-periods="true"/>+ </names>+ </macro>+ <macro name="locators">+ <group delimiter=", ">+ <text macro="edition"/>+ <group delimiter=" ">+ <text term="volume" form="short" suffix="." strip-periods="true"/>+ <number variable="volume" form="numeric"/>+ </group>+ <group delimiter=" ">+ <number variable="number-of-volumes" form="numeric"/>+ <text term="volume" form="short" suffix="." plural="true" strip-periods="true"/>+ </group>+ <group delimiter=" ">+ <text term="issue" form="short" suffix="." strip-periods="true"/>+ <number variable="issue" form="numeric"/>+ </group>+ </group>+ </macro>+ <macro name="title">+ <choose>+ <if type="bill book graphic legal_case motion_picture song" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else>+ <text variable="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <choose>+ <if type="bill book graphic legal_case motion_picture song chapter paper-conference" match="any">+ <text variable="publisher-place" suffix=": "/>+ <text variable="publisher"/>+ </if>+ <else>+ <group delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="event">+ <choose>+ <if type="paper-conference">+ <choose>+ <!-- Published Conference Paper -->+ <if variable="container-title">+ <group delimiter=", ">+ <text variable="container-title" prefix="in " font-style="italic"/>+ <text variable="event-place"/>+ </group>+ </if>+ <!-- Unpublished Conference Paper -->+ <else>+ <group delimiter=", ">+ <text variable="event" prefix="presented at the "/>+ <text variable="event-place"/>+ </group>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="access">+ <choose>+ <if type="webpage">+ <choose>+ <if variable="URL">+ <group delimiter=". ">+ <text value="[Online]"/>+ <text variable="URL" prefix="Available: "/>+ <group prefix="[" suffix="]">+ <date variable="accessed" prefix="Accessed: ">+ <date-part name="day" form="numeric-leading-zeros" suffix="-"/>+ <date-part name="month" form="short" suffix="-" strip-periods="true"/>+ <date-part name="year" form="long"/>+ </date>+ </group>+ </group>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="page">+ <group>+ <label variable="page" form="short" suffix=". " strip-periods="true"/>+ <text variable="page"/>+ </group>+ </macro>+ <!-- Citation -->+ <citation collapse="citation-number">+ <sort>+ <key variable="citation-number"/>+ </sort>+ <layout delimiter="; " prefix="[" suffix="]">+ <text variable="citation-number"/>+ <text variable="locator" prefix=", "/>+ </layout>+ </citation>+ <!-- Bibliography -->+ <bibliography et-al-min="7" et-al-use-first="1" entry-spacing="0" second-field-align="flush">+ <layout suffix=".">+ <!-- Citation Number -->+ <text variable="citation-number" prefix="[" suffix="]"/>+ <!-- Author(s) -->+ <text macro="author" prefix=" " suffix=", "/>+ <!-- Rest of Citation -->+ <choose>+ <!-- Specific Formats -->+ <if type="article-journal">+ <group delimiter=", ">+ <text macro="title"/>+ <text variable="container-title" font-style="italic"/>+ <text macro="locators"/>+ <text macro="page"/>+ <text macro="issued"/>+ </group>+ </if>+ <else-if type="paper-conference">+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="event"/>+ <text macro="issued"/>+ <text macro="locators"/>+ <text macro="page"/>+ </group>+ </else-if>+ <else-if type="report">+ <group delimiter=", "> + <text macro="title"/>+ <text macro="publisher"/>+ <group delimiter=" ">+ <text variable="genre"/>+ <text variable="number"/>+ </group>+ <text macro="issued"/>+ </group>+ </else-if>+ <else-if type="thesis">+ <group delimiter=", ">+ <text macro="title"/>+ <text variable="genre"/>+ <text macro="publisher"/>+ <text macro="issued"/>+ </group>+ </else-if>+ <else-if type="webpage">+ <group delimiter=", " suffix=". ">+ <text macro="title"/>+ <text variable="container-title" font-style="italic"/>+ <text macro="issued"/>+ </group>+ <text macro="access"/>+ </else-if>+ <else-if type="patent">+ <text macro="title" suffix=", "/>+ <text variable="number" prefix="U.S. Patent "/>+ <text macro="issued"/>+ </else-if>+ <!-- Generic/Fallback Formats -->+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <group delimiter=", " suffix=". ">+ <text macro="title"/>+ <text macro="locators"/>+ </group>+ <group delimiter=", ">+ <text macro="publisher"/>+ <text macro="issued"/>+ <text macro="page"/>+ </group>+ </else-if>+ <else-if type="article-journal article-magazine article-newspaper broadcast interview manuscript map patent personal_communication song speech thesis webpage" match="any">+ <group delimiter=", ">+ <text macro="title"/>+ <text variable="container-title" font-style="italic" form="short"/>+ <text macro="locators"/>+ <text macro="publisher"/>+ <text macro="page"/>+ <text macro="issued"/>+ </group>+ </else-if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=", " suffix=", ">+ <text macro="title"/>+ <text variable="container-title" prefix="in " font-style="italic"/>+ <text macro="locators"/>+ </group>+ <text macro="editor" suffix=" "/>+ <group delimiter=", ">+ <text macro="publisher"/>+ <text macro="issued"/>+ <text macro="page"/>+ </group>+ </else-if>+ <else>+ <group delimiter=", " suffix=". ">+ <text macro="title"/>+ <text variable="container-title" font-style="italic"/>+ <text macro="locators"/>+ </group>+ <group delimiter=", ">+ <text macro="publisher"/>+ <text macro="page"/>+ <text macro="issued"/>+ </group>+ </else>+ </choose>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "title": "His Anonymous Life",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-2",+ "title": "His Anonymous Life",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-3",+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_DemoPageFullCiteCruftOnSubsequent.txt view
@@ -0,0 +1,750 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Malone and U.S. Bureau of the Census, <i>Evaluating Components of International Migration: Consistency of 2000 Nativity Data</i>.+<<===== RESULT =====<<++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-6",+ "position": 1+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style+ xmlns="http://purl.org/net/xbiblio/csl"+ class="in-text"+ version="1.0"+ default-locale="en-US-x-sort-ja-alalc97-x-sec-en-x-pri-ja-alalc97">+ <info>+ <title>Chicago Manual of Style (Full Note with Bibliography)</title>+ <id>http://www.zotero.org/styles/chicago-fullnote-bibliography</id>+ <link rel="self" href="http://www.zotero.org/styles/chicago-fullnote-bibliography" />+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation" />+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </contributor>+ <contributor>+ <name>Elena Razlogova</name>+ <email>elena.razlogova@gmail.com</email>+ </contributor>+ <summary>Chicago format with full notes and bibliography</summary>+ <category field="generic-base" />+ <category citation-format="numeric" />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="editor-translator">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <names delimiter=", " variable="editor">+ <label form="verb-short" suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names delimiter=", " variable="translator">+ <label form="verb-short" suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="secondary-contributors-note">+ <choose>+ <if match="none" type="chapter">+ <text macro="editor-translator" />+ </if>+ </choose>+ </macro>+ <macro name="container-contributors-note">+ <choose>+ <if type="chapter">+ <text macro="editor-translator" />+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if match="none" type="chapter">+ <group delimiter=". ">+ <choose>+ <if variable="author">+ <names delimiter=". " variable="editor">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names delimiter=". " variable="translator">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <names delimiter=", " variable="editor">+ <label form="verb" suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names delimiter=", " variable="translator">+ <label form="verb" suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="editor-note">+ <names variable="editor">+ <name and="text" delimiter=", " sort-separator=", " />+ <label form="short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="translator-note">+ <names variable="translator">+ <name and="text" delimiter=", " sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="recipient-note">+ <names delimiter=", " variable="recipient">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="contributors-note">+ <names variable="author">+ <name/>+ </names>+ <text macro="recipient-note" />+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="recipient">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ <else>+ <text term="letter" text-case="capitalize-first" />+ </else>+ </choose>+ </if>+ </choose>+ <text macro="recipient-note" prefix=" " />+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name and="text" delimiter=", " form="short"/>+ <substitute>+ <names variable="editor" />+ <names variable="translator" />+ </substitute>+ </names>+ <text macro="recipient-short" />+ </macro>+ <macro name="contributors">+ <names variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " form="long"/>+ <substitute>+ <text macro="editor" />+ <text macro="translator" />+ </substitute>+ </names>+ <text macro="recipient" prefix=". " />+ </macro>+ <macro name="recipient-short">+ <text value="[start short name X WTF?]"/>+ <names variable="recipient">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ <text value="[end short name X WTF?]"/>+ </macro>+ <macro name="contributors-sort">+ <names variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="all" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ <substitute>+ <names variable="editor" />+ <names variable="translator" />+ </substitute>+ </names>+ </macro>+ <macro name="interviewer-note">+ <names delimiter=", " variable="interviewer">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="interviewer">+ <names delimiter=", " variable="interviewer">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="title-note">+ <choose>+ <if match="none" variable="title">+ <text variable="genre" />+ </if>+ <else-if type="book">+ <text font-style="italic" variable="title" />+ </else-if>+ <else>+ <text quotes="true" variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if match="none" variable="title">+ <choose>+ <if match="none" type="personal_communication">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ </if>+ <else-if type="book">+ <text font-style="italic" variable="title" />+ </else-if>+ <else>+ <text quotes="true" variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="title-short">+ <choose>+ <if match="none" variable="title">+ <choose>+ <if type="interview">+ <text term="interview" text-case="lowercase" />+ </if>+ <else-if match="any" type="manuscript speech">+ <text form="short" variable="genre" />+ </else-if>+ <else-if type="personal_communication">+ <text macro="issued" />+ </else-if>+ </choose>+ </if>+ <else-if type="book">+ <text font-style="italic" form="short" variable="title" />+ </else-if>+ <else>+ <text form="short" quotes="true" variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="description-note">+ <group delimiter=", ">+ <text macro="interviewer-note" />+ <text variable="medium" />+ <choose>+ <if match="none" variable="title"> </if>+ <else-if match="any" type="thesis speech"> </else-if>+ <else>+ <text variable="genre" />+ </else>+ </choose>+ </group>+ </macro>+ <macro name="description">+ <group delimiter=", ">+ <group delimiter=". ">+ <text macro="interviewer" />+ <text text-case="capitalize-first" variable="medium" />+ </group>+ <choose>+ <if match="none" variable="title"> </if>+ <else-if match="any" type="thesis speech"> </else-if>+ <else>+ <text text-case="capitalize-first" variable="genre" />+ </else>+ </choose>+ </group>+ </macro>+ <macro name="container-title-note">+ <choose>+ <if type="chapter">+ <text suffix=" " term="in" text-case="lowercase" />+ </if>+ </choose>+ <text font-style="italic" variable="container-title" />+ </macro>+ <macro name="container-title">+ <choose>+ <if type="chapter">+ <text suffix=" " term="in" text-case="capitalize-first" />+ </if>+ </choose>+ <text font-style="italic" variable="container-title" />+ </macro>+ <macro name="collection-title">+ <text variable="collection-title" />+ <text prefix=" " variable="collection-number" />+ </macro>+ <macro name="edition-note">+ <choose>+ <if match="any" type="book chapter">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number form="ordinal" variable="edition" />+ <text form="short" suffix="." term="edition" />+ </group>+ </if>+ <else>+ <text suffix="." variable="edition" />+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if match="any" type="book chapter">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number form="ordinal" variable="edition" />+ <text form="short" suffix="." term="edition" />+ </group>+ </if>+ <else>+ <text suffix="." text-case="capitalize-first" variable="edition" />+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-note">+ <choose>+ <if type="article-journal">+ <text prefix=" " variable="volume" />+ <text prefix=", no. " variable="issue" />+ </if>+ <else-if match="any" type="book chapter">+ <group delimiter=", " prefix=", ">+ <group>+ <text form="short" suffix=". " term="volume" />+ <number form="numeric" variable="volume" />+ </group>+ <choose>+ <if match="none" variable="locator">+ <group>+ <number form="numeric" variable="number-of-volumes" />+ <text form="short" plural="true" prefix=" " suffix="." term="volume" />+ </group>+ </if>+ </choose>+ <text macro="edition-note" />+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <text prefix=" " variable="volume" />+ <text prefix=", no. " variable="issue" />+ </if>+ <else-if match="any" type="book">+ <group delimiter=". " prefix=". ">+ <group>+ <text form="short" suffix=". " term="volume" text-case="capitalize-first" />+ <number form="numeric" variable="volume" />+ </group>+ <group>+ <number form="numeric" variable="number-of-volumes" />+ <text form="short" plural="true" prefix=" " suffix="." term="volume" />+ </group>+ <text macro="edition" />+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-newspaper">+ <choose>+ <if type="article-newspaper">+ <group delimiter=", ">+ <group>+ <text suffix=" " variable="edition" />+ <text prefix=" " term="edition" />+ </group>+ <group>+ <text form="short" suffix=". " term="section" />+ <text variable="section" />+ </group>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="event">+ <group>+ <text suffix=" " term="presented at" />+ <text variable="event" />+ </group>+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place" />+ <text variable="publisher" />+ </group>+ </macro>+ <macro name="issued">+ <choose>+ <if match="any" type="graphic report">+ <date variable="issued">+ <date-part name="month" suffix=" " />+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </if>+ <else-if match="any" type="book chapter thesis">+ <date variable="issued">+ <date-part name="year" />+ </date>+ </else-if>+ <else>+ <date variable="issued">+ <date-part name="month" suffix=" " />+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </else>+ </choose>+ </macro>+ <macro name="point-locators-subsequent">+ <group>+ <choose>+ <if locator="page" match="none">+ <label form="short" suffix=" " variable="locator" />+ </if>+ </choose>+ <text variable="locator" />+ </group>+ </macro>+ <macro name="point-locators">+ <choose>+ <if match="none" variable="locator">+ <text macro="pages" />+ </if>+ <else-if type="article-journal">+ <text prefix=": " variable="locator" />+ </else-if>+ <else>+ <text macro="point-locators-subsequent" prefix=", " />+ </else>+ </choose>+ </macro>+ <macro name="pages">+ <choose>+ <if type="article-journal">+ <text prefix=": " variable="page" />+ </if>+ <else-if type="chapter">+ <text prefix=", " variable="page" />+ </else-if>+ </choose>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter">+ <text suffix=":" variable="volume" />+ <text variable="page" />+ </if>+ </choose>+ </macro>+ <macro name="locators-journal">+ <choose>+ <if type="article-journal">+ <text prefix=": " variable="page" />+ </if>+ </choose>+ </macro>+ <macro name="archive-note">+ <group delimiter=", ">+ <text variable="archive_location" />+ <text variable="archive" />+ <text variable="archive-place" />+ </group>+ </macro>+ <macro name="archive">+ <group delimiter=". ">+ <text text-case="capitalize-first" variable="archive_location" />+ <text variable="archive" />+ <text variable="archive-place" />+ </group>+ </macro>+ <macro name="issue-note">+ <choose>+ <if type="article-journal">+ <text macro="issued" prefix=" (" suffix=")" />+ </if>+ <else-if match="any" variable="publisher-place publisher">+ <group delimiter=", " prefix=" (" suffix=")">+ <group delimiter=" ">+ <choose>+ <if match="none" variable="title"> </if>+ <else-if match="any" type="thesis speech">+ <text variable="genre" />+ </else-if>+ </choose>+ <text macro="event" />+ </group>+ <text macro="publisher" />+ <text macro="issued" />+ </group>+ </else-if>+ <else>+ <text macro="issued" prefix=", " />+ </else>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="article-journal">+ <text macro="issued" prefix=" (" suffix=")" />+ </if>+ <else-if type="speech">+ <choose>+ <if match="none" variable="title"> </if>+ <else>+ <text prefix=". " text-case="capitalize-first" variable="genre" />+ </else>+ </choose>+ <text macro="event" prefix=" " />+ <text prefix=", " variable="event-place" />+ <text macro="issued" prefix=", " />+ </else-if>+ <else-if match="any" variable="publisher-place publisher">+ <group delimiter=", " prefix=". ">+ <choose>+ <if type="thesis">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ <text macro="publisher" />+ <text macro="issued" />+ </group>+ </else-if>+ <else>+ <text macro="issued" prefix=", " />+ </else>+ </choose>+ </macro>+ <macro name="access-note">+ <group delimiter=", ">+ <choose>+ <if match="any" type="graphic report">+ <text macro="archive-note" />+ </if>+ <else-if match="none" type="book thesis chapter article-journal article-newspaper article-magazine">+ <text macro="archive-note" />+ </else-if>+ </choose>+ <text prefix="doi:" variable="DOI" />+ <text variable="URL" />+ </group>+ </macro>+ <macro name="access">+ <group delimiter=". ">+ <choose>+ <if match="any" type="graphic report">+ <text macro="archive" />+ </if>+ <else-if match="none" type="book thesis chapter article-journal article-newspaper article-magazine">+ <text macro="archive" />+ </else-if>+ </choose>+ <text variable="URL" />+ </group>+ </macro>+ <macro name="sort-key">+ <text macro="contributors-sort" suffix=" " />+ <text suffix=" " variable="title" />+ <text variable="genre" />+ </macro>+ <macro name="legal-case-first">+ <group delimiter=", ">+ <text variable="title"/>+ <group delimiter=" ">+ <text variable="volume"/>+ <text variable="container-title"/>+ <text variable="page"/>+ <group prefix="(" suffix=")" delimiter=" ">+ <text variable="authority" form="short"/>+ <date variable="issued">+ <date-part name="year"/> + </date>+ </group> + </group>+ </group>+ </macro>+ <citation+ disambiguate-add-names="true"+ et-al-min="4"+ et-al-subsequent-min="4"+ et-al-subsequent-use-first="1"+ et-al-use-first="1">+ <layout delimiter="; " prefix="" suffix=".">+ <choose>+ <if type="legal_case">+ <text macro="legal-case-first"/>+ </if>+ <else-if position="ibid-with-locator">+ <group delimiter=", ">+ <text suffix="." term="ibid" text-case="capitalize-first" />+ <text macro="point-locators-subsequent" />+ </group>+ </else-if>+ <else-if position="ibid">+ <text suffix="." term="ibid" text-case="capitalize-first" />+ </else-if>+ <else-if position="subsequent">+ <group delimiter=", ">+ <text macro="contributors-short" />+ <text macro="title-short" />+ <text macro="point-locators-subsequent" />+ </group>+ </else-if>+ <else>+ <group delimiter=", ">+ <text macro="contributors-note"/>+ <text macro="title-note" />+ <text macro="description-note" />+ <text macro="secondary-contributors-note" />+ <text macro="container-title-note" />+ <text macro="container-contributors-note" />+ </group>+ <text macro="locators-note" />+ <text macro="collection-title" prefix=", " />+ <text macro="issue-note" />+ <text macro="locators-newspaper" prefix=", " />+ <text macro="point-locators" />+ <text macro="access-note" prefix=", " />+ </else>+ </choose>+ </layout>+ </citation>+ <bibliography+ entry-spacing="0"+ et-al-min="11"+ et-al-use-first="7"+ hanging-indent="true"+ subsequent-author-substitute="---">+ <sort>+ <key macro="sort-key" />+ <key variable="issued" />+ </sort>+ <layout suffix="."> + <choose> + <if type="legal_case"> <text macro="legal-case-first"/> + </if>+ <else>+ <group delimiter=". ">+ <text macro="contributors" />+ <text macro="title" />+ <text macro="description" />+ <text macro="secondary-contributors" />+ <group delimiter=", ">+ <text macro="container-title" />+ <text macro="container-contributors" />+ <text macro="locators-chapter" />+ </group>+ </group>+ <text macro="locators" />+ <text macro="collection-title" prefix=". " />+ <text macro="issue" />+ <text macro="locators-newspaper" prefix=", " />+ <text macro="locators-journal" />+ <text macro="access" prefix=". " /> + </else> + </choose>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-6",+ "title":"Evaluating Components of International Migration: Consistency of 2000 Nativity Data",+ "note": "This cite illustrates the formatting of institutional authors. Note that there is no \"and\" between the individual author and the institution with which he is affiliated.",+ "author": [+ {+ "family": "Malone",+ "given": "Nolan J."+ },+ {+ "literal": "U.S. Bureau of the Census"+ }+ ],+ "publisher": "Routledge",+ "publisher-place": "New York",+ "issued": {+ "date-parts":[+ [2001, 12, 5]+ ]+ },+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_DisambiguationAddNames.txt view
@@ -0,0 +1,299 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+(Roe et al., 1995a, 1995b)+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>Copernicus general format (dev)</title>+ <id>http://www.zotero.org/styles/copernicus</id>+ <link href="http://www.zotero.org/styles/copernicus" rel="self"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name> Didier Voisin </name>+ </contributor>+ <category citation-format="author-date"/>+ <category field="science"/>+ <updated>2010-07-26T02:21:30+00:00</updated>+ <summary>The Copernicus (EGU) generic style</summary>+ <link href="http://publications.copernicus.org/Copernicus_Publications_Reference_Types.pdf" rel="documentation"/>+ <rights>+This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/+</rights>+ </info>+ <macro name="editor">+ <names variable="editor" delimiter=", ">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name and="text" initialize-with=". " delimiter=", "/>+ </names>+ </macro>+ <macro name="anon">+ <text term="anonymous" form="short" text-case="capitalize-first" strip-periods="true"/>+ </macro>+ <macro name="author">+ <names variable="author">+ <name sort-separator=", " initialize-with=". " name-as-sort-order="all" delimiter=", " delimiter-precedes-last="never" and="text"/>+ <label form="short" prefix=", " suffix="." text-case="capitalize-first" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <choose>+ <if variable="URL">+ <text term="online" prefix="[" suffix="]"/>+ <text value=" Available from: "/>+ <text variable="URL"/>+ <group prefix=" (" delimiter=" " suffix=")">+ <text term="accessed" text-case="capitalize-first"/>+ <date variable="accessed">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="title">+ <text variable="title"/>+ </macro>+ <macro name="publisher">+ <group delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </macro>+ <macro name="year-date">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="published-date">+ <choose>+ <if type="article-newspaper">+ <date variable="issued">+ <date-part name="day" form="ordinal" suffix=" "/>+ <date-part name="month" form="long"/>+ </date>+ </if>+ </choose>+ </macro>+ <macro name="pages">+ <text variable="page"/>+ </macro>+ <macro name="refpages">+ <label variable="page" form="short" suffix=". " strip-periods="true"/>+ <text variable="page"/>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <macro name="doi">+ <text variable="DOI" prefix="doi:"/>+ </macro>+ <macro name="container">+ <group delimiter=", ">+ <group delimiter=" ">+ <text term="in" text-case="lowercase"/>+ <text variable="container-title"/>+ </group>+ <group delimiter=" ">+ <text term="volume" form="short" suffix="." strip-periods="true"/>+ <text variable="volume"/>+ </group>+ <text macro="editor"/>+ </group>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" collapse="year">+ <sort>+ <key macro="author"/>+ <key macro="year-date"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <group delimiter=", ">+ <text macro="author-short"/>+ <text macro="year-date"/>+ </group>+ <text variable="locator" prefix="p."/>+ </group>+ </layout>+ </citation>+ <bibliography et-al-min="11" et-al-use-first="11">+ <sort>+ <key macro="author"/>+ <key macro="year-date"/>+ <key variable="title"/>+ </sort>+ <layout>+ <group delimiter=" " suffix=":">+ <text macro="author"/>+ </group>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <group delimiter=", " prefix=" " suffix=".">+ <text macro="title"/>+ <text macro="edition"/>+ <text macro="editor"/>+ <text variable="genre"/>+ <text macro="publisher"/>+ </group>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=", " prefix=" " suffix=".">+ <text macro="title"/>+ <text macro="container"/>+ <text macro="refpages"/>+ <text macro="publisher"/>+ </group>+ </else-if>+ <else-if type="thesis">+ <group delimiter=", " prefix=" " suffix=".">+ <text macro="title"/>+ <text variable="genre"/>+ <text variable="page" suffix=" pp."/>+ <text macro="publisher"/>+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" form="long"/>+ </date>+ </group>+ </else-if>+ <else>+ <group delimiter=", " suffix="," prefix=" ">+ <text macro="title"/>+ <text macro="editor"/>+ </group>+ <group prefix=" ">+ <text variable="container-title" form="short"/>+ <group prefix=", " delimiter=", ">+ <group>+ <text variable="volume"/>+ <text variable="issue" prefix="(" suffix=")"/>+ <text macro="published-date"/>+ </group>+ <text macro="pages"/>+ <text macro="doi"/>+ </group>+ </group>+ </else>+ </choose>+ <text prefix=" " macro="access"/>+ <text macro="year-date" prefix=", " suffix="."/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1995+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Noakes",+ "given": "Richard"+ },+ {+ "family": "Brown",+ "given": "Bob"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 1995+ ]+ ]+ },+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_DisambiguationAddNamesBibliography.txt view
@@ -0,0 +1,302 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">Roe, J., Doe, J. and Smith, J.:, 1995a.</div>+ <div class="csl-entry">Roe, J., Noakes, R. and Brown, B.:, 1995b.</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>Copernicus general format (dev)</title>+ <id>http://www.zotero.org/styles/copernicus</id>+ <link href="http://www.zotero.org/styles/copernicus" rel="self"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name> Didier Voisin </name>+ </contributor>+ <category citation-format="author-date"/>+ <category field="science"/>+ <updated>2010-07-26T02:21:30+00:00</updated>+ <summary>The Copernicus (EGU) generic style</summary>+ <link href="http://publications.copernicus.org/Copernicus_Publications_Reference_Types.pdf" rel="documentation"/>+ <rights>+This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/+</rights>+ </info>+ <macro name="editor">+ <names variable="editor" delimiter=", ">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name and="text" initialize-with=". " delimiter=", "/>+ </names>+ </macro>+ <macro name="anon">+ <text term="anonymous" form="short" text-case="capitalize-first" strip-periods="true"/>+ </macro>+ <macro name="author">+ <names variable="author">+ <name sort-separator=", " initialize-with=". " name-as-sort-order="all" delimiter=", " delimiter-precedes-last="never" and="text"/>+ <label form="short" prefix=", " suffix="." text-case="capitalize-first" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <choose>+ <if variable="URL">+ <text term="online" prefix="[" suffix="]"/>+ <text value=" Available from: "/>+ <text variable="URL"/>+ <group prefix=" (" delimiter=" " suffix=")">+ <text term="accessed" text-case="capitalize-first"/>+ <date variable="accessed">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="title">+ <text variable="title"/>+ </macro>+ <macro name="publisher">+ <group delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </macro>+ <macro name="year-date">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="published-date">+ <choose>+ <if type="article-newspaper">+ <date variable="issued">+ <date-part name="day" form="ordinal" suffix=" "/>+ <date-part name="month" form="long"/>+ </date>+ </if>+ </choose>+ </macro>+ <macro name="pages">+ <text variable="page"/>+ </macro>+ <macro name="refpages">+ <label variable="page" form="short" suffix=". " strip-periods="true"/>+ <text variable="page"/>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <macro name="doi">+ <text variable="DOI" prefix="doi:"/>+ </macro>+ <macro name="container">+ <group delimiter=", ">+ <group delimiter=" ">+ <text term="in" text-case="lowercase"/>+ <text variable="container-title"/>+ </group>+ <group delimiter=" ">+ <text term="volume" form="short" suffix="." strip-periods="true"/>+ <text variable="volume"/>+ </group>+ <text macro="editor"/>+ </group>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" collapse="year">+ <sort>+ <key macro="author"/>+ <key macro="year-date"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <group delimiter=", ">+ <text macro="author-short"/>+ <text macro="year-date"/>+ </group>+ <text variable="locator" prefix="p."/>+ </group>+ </layout>+ </citation>+ <bibliography et-al-min="11" et-al-use-first="11">+ <sort>+ <key macro="author"/>+ <key macro="year-date"/>+ <key variable="title"/>+ </sort>+ <layout>+ <group delimiter=" " suffix=":">+ <text macro="author"/>+ </group>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <group delimiter=", " prefix=" " suffix=".">+ <text macro="title"/>+ <text macro="edition"/>+ <text macro="editor"/>+ <text variable="genre"/>+ <text macro="publisher"/>+ </group>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=", " prefix=" " suffix=".">+ <text macro="title"/>+ <text macro="container"/>+ <text macro="refpages"/>+ <text macro="publisher"/>+ </group>+ </else-if>+ <else-if type="thesis">+ <group delimiter=", " prefix=" " suffix=".">+ <text macro="title"/>+ <text variable="genre"/>+ <text variable="page" suffix=" pp."/>+ <text macro="publisher"/>+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" form="long"/>+ </date>+ </group>+ </else-if>+ <else>+ <group delimiter=", " suffix="," prefix=" ">+ <text macro="title"/>+ <text macro="editor"/>+ </group>+ <group prefix=" ">+ <text variable="container-title" form="short"/>+ <group prefix=", " delimiter=", ">+ <group>+ <text variable="volume"/>+ <text variable="issue" prefix="(" suffix=")"/>+ <text macro="published-date"/>+ </group>+ <text macro="pages"/>+ <text macro="doi"/>+ </group>+ </group>+ </else>+ </choose>+ <text prefix=" " macro="access"/>+ <text macro="year-date" prefix=", " suffix="."/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1995+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Noakes",+ "given": "Richard"+ },+ {+ "family": "Brown",+ "given": "Bob"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 1995+ ]+ ]+ },+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_DoubleEncodedAngleBraces.txt view
@@ -0,0 +1,552 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+<span style="font-variant:small-caps;">Center for History and New Media</span>, « Zotero Quick Start Guide », s.d., [En ligne]. <http://zotero.org/support/quick_start_guide>. .+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "http://zotero.org/users/local/0rmqTjvx/items/ABCD2345"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="UTF-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" default-locale="fr-FR" version="1.0" demote-non-dropping-particle="never">+ <info>+ <title>Université libre de Bruxelles - Histoire (French)</title>+ <title-short>ULB-Hist</title-short>+ <id>http://www.zotero.org/styles/universite-libre-de-bruxelles-histoire</id>+ <link href="http://www.zotero.org/styles/universite-libre-de-bruxelles-histoire" rel="self"/>+ <link href="http://www.zotero.org/styles/infoclio-fr-smallcaps" rel="template"/>+ <link href="https://www.dropbox.com/s/5p4jzir9ie0n54q/Guide_presentation_travail_histoire_2011-2012.pdf" rel="documentation"/>+ <author>+ <name>Genki Takano</name>+ <email>Genki.Takano@ulb.ac.be</email>+ <uri>http://www.zotero.org/gtakano</uri>+ </author>+ <category citation-format="note"/>+ <category field="history"/>+ <updated>2014-08-28T01:36:46+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale xml:lang="fr">+ <terms>+ <term name="page" form="short">+ <single>p.</single>+ <multiple>pp.</multiple>+ </term>+ <term name="editor" form="short">+ <single>éd.</single>+ <multiple>éds.</multiple>+ </term>+ <term name="in">+ <single>dans</single>+ <multiple>dans</multiple>+ </term>+ <term name="cited">op. cit.</term>+ <term name="ordinal-01">ᵉ</term>+ <term name="ordinal-02">ᵉ</term>+ <term name="ordinal-03">ᵉ</term>+ <term name="ordinal-04">ᵉ</term>+ </terms>+ </locale>+ <macro name="author-or-editor">+ <choose>+ <if variable="author">+ <names variable="author">+ <name sort-separator=", " initialize-with="." delimiter=", " and="text" delimiter-precedes-last="never" name-as-sort-order="all">+ <name-part name="family" font-variant="small-caps"/>+ </name>+ <et-al font-style="italic"/>+ </names>+ </if>+ <else-if variable="editor">+ <text macro="editor"/>+ </else-if>+ </choose>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name sort-separator=", " initialize-with="." delimiter=", " and="text" delimiter-precedes-last="never" name-as-sort-order="all">+ <name-part name="family" font-variant="small-caps"/>+ </name>+ <et-al font-style="italic"/>+ <label form="short" prefix=" (" suffix=")"/>+ </names>+ </macro>+ <macro name="author-note">+ <choose>+ <if variable="author">+ <names variable="author">+ <name sort-separator=" " initialize-with="." delimiter=", " and="text" form="long">+ <name-part name="family" font-variant="small-caps"/>+ </name>+ <et-al font-style="italic"/>+ </names>+ </if>+ <else-if variable="editor">+ <text macro="editor-note"/>+ </else-if>+ </choose>+ </macro>+ <macro name="editor-note">+ <names variable="editor">+ <name sort-separator=" " initialize-with="." delimiter=", " and="text" form="long">+ <name-part name="family" font-variant="small-caps"/>+ </name>+ <et-al font-style="italic"/>+ <label form="short" prefix=" (" suffix=")"/>+ </names>+ </macro>+ <macro name="title">+ <choose>+ <if type="book manuscript thesis graphic motion_picture" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=" ">+ <text variable="title" quotes="true" suffix=","/>+ <text value="dans" font-style="normal"/>+ <text macro="editor" suffix=","/>+ <text variable="container-title" font-style="italic"/>+ </group>+ </else-if>+ <else-if type="article-journal">+ <group delimiter=", ">+ <text variable="title" quotes="true"/>+ <group>+ <text variable="container-title" font-style="italic"/>+ <choose>+ <if is-numeric="volume">+ <number variable="volume" prefix=", vol. "/>+ <choose>+ <if is-numeric="issue">+ <text value=""/>+ <number variable="issue" prefix=", n° "/>+ </if>+ </choose>+ </if>+ <else-if is-numeric="issue">+ <number variable="issue" prefix=", n° "/>+ </else-if>+ </choose>+ </group>+ </group>+ </else-if>+ <else-if type="article-newspaper article-magazine entry-encyclopedia entry-dictionary broadcast" match="any">+ <group delimiter=", ">+ <text variable="title" quotes="true"/>+ <text variable="container-title" font-style="italic"/>+ </group>+ </else-if>+ <else-if type="webpage post post-weblog" match="any">+ <group delimiter=", ">+ <text variable="title" quotes="true"/>+ <text variable="container-title" font-style="italic"/>+ </group>+ </else-if>+ <else-if type="report song" match="any">+ <group delimiter=", ">+ <text variable="title" quotes="true"/>+ <group delimiter=" ">+ <text variable="collection-title" font-style="italic"/>+ <number variable="number"/>+ </group>+ </group>+ </else-if>+ <else-if type="interview">+ <group delimiter=", ">+ <text variable="title" quotes="true"/>+ <names variable="interviewer" delimiter=", ">+ <label form="verb" prefix=" " suffix=" "/>+ <name sort-separator=" ">+ <name-part name="family" font-variant="small-caps"/>+ </name>+ <et-al font-style="italic"/>+ </names>+ </group>+ </else-if>+ <else>+ <text variable="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="title-note">+ <choose>+ <if type="book manuscript thesis graphic motion_picture" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=" ">+ <text variable="title" quotes="true" suffix=","/>+ <text value="dans" font-style="normal"/>+ <text macro="editor-note" suffix=","/>+ <text variable="container-title" font-style="italic"/>+ </group>+ </else-if>+ <else-if type="article-journal">+ <group delimiter=", ">+ <text variable="title" quotes="true"/>+ <group>+ <text variable="container-title" font-style="italic"/>+ <choose>+ <if is-numeric="volume">+ <number variable="volume" prefix=", vol. "/>+ <choose>+ <if is-numeric="issue">+ <text value=""/>+ <number variable="issue" prefix=", n° "/>+ </if>+ </choose>+ </if>+ <else-if is-numeric="issue">+ <number variable="issue" prefix=", n° "/>+ </else-if>+ </choose>+ </group>+ </group>+ </else-if>+ <else-if type="article-newspaper article-magazine entry-encyclopedia entry-dictionary broadcast" match="any">+ <group delimiter=", ">+ <text variable="title" quotes="true"/>+ <text variable="container-title" font-style="italic"/>+ </group>+ </else-if>+ <else-if type="webpage post post-weblog" match="any">+ <group delimiter=", ">+ <text variable="title" quotes="true"/>+ <text variable="container-title" font-style="italic"/>+ </group>+ </else-if>+ <else-if type="report song" match="any">+ <group delimiter=", ">+ <text variable="title" quotes="true"/>+ <group delimiter=" ">+ <text variable="collection-title" font-style="italic"/>+ <number variable="number"/>+ </group>+ </group>+ </else-if>+ <else-if type="interview">+ <group delimiter=", ">+ <text variable="title" quotes="true"/>+ <names variable="interviewer" delimiter=", ">+ <label form="verb" prefix=" " suffix=" "/>+ <name sort-separator=" ">+ <name-part name="family" font-variant="small-caps"/>+ </name>+ <et-al font-style="italic"/>+ </names>+ </group>+ </else-if>+ <else>+ <text variable="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="volume-or-medium">+ <choose>+ <if type="book chapter entry-encyclopedia entry-dictionary" match="any">+ <choose>+ <if is-numeric="volume number-of-volumes" match="any">+ <text term="volume" form="short" suffix=". "/>+ <number variable="volume" suffix=""/>+ <number variable="number-of-volumes"/>+ </if>+ <else-if is-numeric="volume">+ <text term="volume" form="short" suffix=". "/>+ <number variable="volume"/>+ </else-if>+ <else-if is-numeric="number-of-volumes">+ <number variable="number-of-volumes"/>+ <text term="volume" form="short" prefix=" " suffix="."/>+ </else-if>+ </choose>+ </if>+ <else-if type="motion_picture song broadcast" match="any">+ <text variable="medium"/>+ </else-if>+ </choose>+ </macro>+ <macro name="place-and-publisher">+ <choose>+ <if type="book chapter paper-conference" match="any">+ <group delimiter=", ">+ <choose>+ <if variable="publisher-place">+ <text variable="publisher-place"/>+ </if>+ <else>+ <text value="s.l."/>+ </else>+ </choose>+ <text variable="publisher"/>+ </group>+ </if>+ <else-if type="report motion_picture broadcast song" match="any">+ <group delimiter=", ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </else-if>+ <else-if type="thesis">+ <group delimiter=", ">+ <text variable="genre"/>+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </else-if>+ <else-if type="speech">+ <group delimiter=", ">+ <text variable="genre"/>+ <text variable="event"/>+ <text variable="event-place"/>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="url">+ <choose>+ <if variable="URL">+ <text variable="URL" prefix="[En ligne]. <" suffix=">. "/>+ <group delimiter=" ">+ <text term="accessed" text-case="capitalize-first" prefix="("/>+ <date variable="accessed" form="text" date-parts="year-month-day" suffix=")"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="date-pages-and-collection">+ <group delimiter=", ">+ <text macro="date"/>+ <text macro="artwork-info"/>+ <text macro="locator-or-pages"/>+ </group>+ <text macro="collection"/>+ </macro>+ <macro name="date">+ <choose>+ <if type="book thesis chapter paper-conference motion_picture" match="any">+ <choose>+ <if variable="issued">+ <date variable="issued" form="text">+ <date-part name="year" range-delimiter="/"/>+ </date>+ </if>+ <else>+ <text value="s.d."/>+ </else>+ </choose>+ </if>+ <else-if type="article-journal" match="any">+ <choose>+ <if variable="issued">+ <date variable="issued" form="text" date-parts="year-month"/>+ </if>+ <else>+ <text value="s.d."/>+ </else>+ </choose>+ </else-if>+ <else-if type="article-newspaper article-magazine post post-weblog report broadcast entry-encyclopedia entry-dictionary speech" match="any">+ <group delimiter=", ">+ <choose>+ <if variable="issued">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ </if>+ <else>+ <text value="s.d."/>+ </else>+ </choose>+ </group>+ </else-if>+ <else-if type="song">+ <choose>+ <if variable="issued">+ <group delimiter=", ">+ <date variable="issued" form="text"/>+ <text macro="url"/>+ </group>+ </if>+ <else>+ <text macro="url"/>+ </else>+ </choose>+ </else-if>+ <else>+ <choose>+ <if variable="issued">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ </if>+ <else-if variable="original-date">+ <date variable="original-date" form="text" date-parts="year-month-day"/>+ </else-if>+ <else-if variable="event-date">+ <date variable="event-date" form="text" date-parts="year-month-day"/>+ </else-if>+ <else>+ <text value="s.d."/>+ </else>+ </choose>+ </else>+ </choose>+ </macro>+ <macro name="artwork-info">+ <choose>+ <if type="graphic">+ <group delimiter=", ">+ <text variable="medium"/>+ <text variable="genre"/>+ <text variable="archive"/>+ <text variable="archive_location"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="locator">+ <group delimiter=" ">+ <label variable="locator" form="short"/>+ <text variable="locator"/>+ </group>+ </macro>+ <macro name="locator-or-pages">+ <choose>+ <if variable="locator">+ <text macro="locator"/>+ </if>+ <else>+ <group delimiter=" ">+ <label variable="page" form="short"/>+ <text variable="page"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="collection">+ <choose>+ <if type="book chapter paper-conference" match="any">+ <group prefix=" (" suffix=")" delimiter=" ">+ <text variable="collection-title"/>+ <choose>+ <if is-numeric="collection-number">+ <number variable="collection-number"/>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if type="book chapter paper-conference" match="any">+ <choose>+ <if is-numeric="edition">+ <number variable="edition" form="ordinal"/>+ <text term="edition" prefix=" "/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="complete-reference">+ <group delimiter=", ">+ <text macro="author-or-editor"/>+ <text macro="title"/>+ <text macro="volume-or-medium"/>+ <text macro="edition"/>+ <text macro="place-and-publisher"/>+ <text macro="date-pages-and-collection"/>+ <text macro="url"/>+ </group>+ </macro>+ <citation name-form="long" and="text" sort-separator=", " delimiter-precedes-last="never" et-al-min="4" et-al-use-first="1">+ <layout suffix="." delimiter=" ; ">+ <choose>+ <if position="ibid-with-locator">+ <group delimiter=", ">+ <text term="ibid" font-style="italic" suffix="."/>+ <text macro="locator"/>+ </group>+ </if>+ <else-if position="ibid">+ <text term="ibid" font-style="italic"/>+ </else-if>+ <else-if position="subsequent">+ <group delimiter=", ">+ <text macro="author-note"/>+ <choose>+ <if type="book thesis" match="any">+ <text variable="title" form="short" font-style="italic"/>+ </if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ <group font-style="italic" delimiter=" ">+ <choose>+ <if type="article article-magazine article-newspaper article-journal entry entry-dictionary entry-encyclopedia chapter" match="any">+ <text value="art. cit."/>+ </if>+ <else>+ <text value="op. cit."/>+ </else>+ </choose>+ </group>+ <text macro="locator"/>+ </group>+ </else-if>+ <else>+ <group delimiter=", ">+ <text macro="author-note"/>+ <text macro="title-note"/>+ <text macro="volume-or-medium"/>+ <text macro="edition"/>+ <text macro="place-and-publisher"/>+ <text macro="date-pages-and-collection"/>+ <text macro="url"/>+ </group>+ </else>+ </choose>+ </layout>+ </citation>+ <bibliography name-form="long" and="text" sort-separator=", " name-as-sort-order="all" delimiter-precedes-last="never" et-al-min="4">+ <sort>+ <key macro="author-or-editor" names-min="3" names-use-first="3"/>+ <key variable="issued" sort="descending"/>+ </sort>+ <layout suffix=".">+ <text macro="complete-reference"/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "URL": "http://zotero.org/support/quick_start_guide",+ "author": [+ {+ "literal": "Center for History and New Media"+ }+ ],+ "id": "http://zotero.org/users/local/0rmqTjvx/items/ABCD2345",+ "title": "Zotero Quick Start Guide",+ "type": "webpage"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_DroppingGroupDelimiterSpace.txt view
@@ -0,0 +1,53 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++In fact this test was only failing in RTF mode. Fault repaired,+however.+++>>===== RESULT =====>>+17 <span style="font-variant:small-caps;">Studia Patristica</span> 1388+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <group delimiter=" ">+ <text variable="volume"/>+ <text variable="container-title" form="short" font-variant="small-caps"/>+ <text variable="page-first"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "container-title": "Studia Patristica",+ "id": "ITEM-1",+ "page": "1388-1400",+ "type": "article-journal",+ "volume": "17"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_DuplicateSpaces.txt view
@@ -0,0 +1,181 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++Reported by Carles Pina of Mendeley.++http://groups.google.com/group/citeproc-js/browse_thread/thread/6f9c7620c6c97ff1?hl=en_US++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">+ <div class="csl-left-margin">[1]</div><div class="csl-right-inline"> B. D’Arcus, <i>Boundaries of Dissent: Protest and State Power in the Media Age</i>, New York: Routledge, 2006.</div>+ </div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>IEEE</title>+ <id>http://www.zotero.org/styles/ieee</id>+ <link href="http://www.zotero.org/styles/ieee" rel="self"/>+ <author>+ <name>Michael Berkowitz</name>+ <email>mberkowi@gmu.edu</email>+ </author>+ <contributor>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </contributor>+ <contributor>+ <name>Rintze Zelle</name>+ <uri>http://forums.zotero.org/account/831/</uri>+ </contributor>+ <category field="engineering"/>+ <category field="generic-base"/>+ <category citation-format="numeric"/>+ <updated>2010-02-06T06:35:40+00:00</updated>+ <link href="http://www.ieee.org/portal/cms_docs_iportals/iportals/publications/authors/transjnl/stylemanual.pdf" rel="documentation"/>+ </info>+ <macro name="author">+ <names variable="author">+ <name initialize-with="." delimiter=", " and="text"/>+ <label form="short" prefix=", " text-case="capitalize-first" suffix="." strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name initialize-with="." delimiter=", " and="text" name-as-sort-order="all"/>+ <label form="short" prefix=", " text-case="capitalize-first" suffix="." strip-periods="true"/>+ </names>+ </macro>+ <macro name="title">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else>+ <text variable="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <text variable="publisher-place" suffix=": " prefix=" "/>+ <text variable="publisher" suffix=", "/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </macro>+ <macro name="access">+ <text variable="URL"/>+ </macro>+ <macro name="page">+ <group>+ <label variable="page" form="short" suffix=". " strip-periods="true"/>+ <text variable="page"/>+ </group>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" collapse="citation-number">+ <sort>+ <key variable="citation-number"/>+ </sort>+ <layout delimiter=",">+ <text variable="citation-number" prefix="[" suffix="]"/>+ </layout>+ </citation>+ <bibliography entry-spacing="0" second-field-align="flush">+ <layout suffix=".">+ <text variable="citation-number" prefix="[" suffix="]"/>+ <text macro="author" prefix=" " suffix=", "/>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="publisher"/>+ </group>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=", ">+ <text macro="title"/>+ <text variable="container-title" font-style="italic"/>+ <text macro="editor"/>+ <text macro="publisher"/>+ <text macro="page"/>+ </group>+ </else-if>+ <else-if type="patent">+ <text macro="title" suffix=", "/>+ <text variable="number" prefix="U.S. Patent "/>+ <date variable="issued" prefix=", ">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </else-if>+ <else-if type="thesis">+ <group delimiter=", ">+ <text macro="title"/>+ <text variable="genre"/>+ <text variable="publisher"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ <else>+ <group delimiter=", ">+ <text macro="title"/>+ <text variable="container-title" font-style="italic"/>+ <text variable="volume" prefix=" vol. "/>+ <date variable="issued">+ <date-part name="month" form="short" suffix=". " strip-periods="true"/>+ <date-part name="year"/>+ </date>+ <text macro="page"/>+ </group>+ </else>+ </choose>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "URL": "http://www.test01.com",+ "author": [+ {+ "family": "D'Arcus",+ "given": "Bruce"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2006+ ]+ ]+ },+ "publisher": "Routledge",+ "publisher-place": "New York",+ "title": "Boundaries of Dissent: Protest and State Power in the Media Age",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_DuplicateSpaces2.txt view
@@ -0,0 +1,350 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Smith, John, “Some Title.” <i>Container Title</i>.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0">+ <info>+ <title>Modern Humanities Research Association (Note with Bibliography)</title>+ <id>http://www.zotero.org/styles/mhra</id>+ <link href="http://www.zotero.org/styles/mhra" rel="self"/>+ <link href="http://www.mhra.org.uk/Publications/Books/StyleGuide/download.shtml" rel="documentation"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <category field="history"/>+ <category citation-format="numeric"/>+ <category field="generic-base"/>+ <updated>2008-02-02T00:00:00+00:00</updated>+ </info>+ <macro name="editor-translator">+ <names variable="editor translator" prefix="" suffix="" delimiter=", ">+ <label form="verb-short" prefix=" " text-case="lowercase" suffix=" " strip-periods="true"/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="editor-translator-short">+ <names variable="editor translator" prefix="" suffix="" delimiter=", ">+ <label form="short" prefix=" " text-case="lowercase" suffix=". " strip-periods="true"/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", " suffix="." strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-full">+ <names variable="author">+ <name name-as-sort-order="all" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", " suffix="." strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="long" and="text" delimiter=", "/>+ <label form="short" prefix=", " suffix="." strip-periods="true"/>+ </names>+ </macro>+ <macro name="access">+ <group>+ <text variable="URL"/>+ <group prefix=" (" suffix=")" delimiter=" ">+ <text term="accessed" text-case="lowercase" suffix=" "/>+ <date variable="accessed" suffix=", ">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </group>+ </group>+ </macro>+ <macro name="title">+ <choose>+ <if type="thesis">+ <text variable="title" form="long" quotes="true"/>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" form="long" font-style="italic"/>+ </else-if>+ <else>+ <text variable="title" form="long" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </macro>+ <macro name="pages">+ <choose>+ <if type="article-journal" match="none">+ <label variable="page" form="short" suffix=". " strip-periods="true"/>+ </if>+ </choose>+ <text variable="page"/>+ </macro>+ <macro name="locator">+ <label variable="locator" form="short" suffix=". " strip-periods="true"/>+ <text variable="locator"/>+ </macro>+ <macro name="vols">+ <choose>+ <if variable="number-of-volumes">+ <text variable="number-of-volumes"/>+ <text term="volume" prefix=" " form="short" plural="true" strip-periods="true"/>+ </if>+ </choose>+ </macro>+ <citation>+ <layout suffix="." delimiter="; ">+ <group suffix="">+ <text macro="author-short" suffix=", "/>+ <text macro="title" prefix=""/>+ <choose>+ <if type="thesis">+ <group prefix=" (" delimiter=", " suffix=")">+ <text variable="genre"/>+ <text variable="publisher"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <group prefix=", ">+ <text term="in" text-case="lowercase"/>+ <text variable="container-title" font-style="italic" prefix=" " suffix=","/>+ <text variable="collection-title" prefix=" " suffix=","/>+ <text macro="editor-translator-short"/>+ </group>+ <group prefix=" (" suffix=")" delimiter=", ">+ <text macro="publisher"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <group delimiter=", " prefix=" ">+ <text macro="editor-translator-short"/>+ <text variable="collection-title"/>+ <text variable="edition" suffix=" edn"/>+ <text macro="vols"/>+ </group>+ <group prefix=" (" suffix=")" delimiter=", ">+ <text macro="publisher"/>+ <date variable="issued" prefix=" " suffix="">+ <date-part name="year"/>+ </date>+ </group>+ <text variable="volume" prefix=", "/>+ </else-if>+ <else-if type="article-newspaper article-magazine" match="any">+ <group delimiter=", " prefix=", ">+ <text variable="container-title" font-style="italic"/>+ <text variable="issue" suffix="."/>+ <date variable="issued">+ <date-part name="day" form="numeric" suffix=" "/>+ <date-part name="month" form="long" suffix=" "/>+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ <else-if type="article-journal">+ <group prefix=", " delimiter=", ">+ <text variable="container-title" font-style="italic"/>+ <text macro="publisher"/>+ <text variable="volume" prefix=" "/>+ </group>+ <date variable="issued" prefix=" (" suffix=")">+ <date-part name="year"/>+ </date>+ </else-if>+ <else>+ <group delimiter=", " prefix=". ">+ <text variable="container-title" font-style="italic"/>+ <text variable="issue" prefix=", " suffix="."/>+ <date variable="issued">+ <date-part name="month" form="long"/>+ <date-part name="day" form="numeric" prefix=" " suffix=", "/>+ <date-part name="year"/>+ </date>+ </group>+ </else>+ </choose>+ <group prefix=", " delimiter=" ">+ <text macro="pages"/>+ <text macro="locator" prefix="(" suffix=")"/>+ </group>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="6" et-al-use-first="6" subsequent-author-substitute="---">+ <sort>+ <key macro="author"/>+ <key variable="title"/>+ </sort>+ <layout suffix=".">+ <text macro="author" suffix=","/>+ <choose>+ <if type="thesis">+ <group suffix=".">+ <text macro="title" prefix=" "/>+ </group>+ <group delimiter=", " prefix=" ">+ <text variable="genre"/>+ <text variable="publisher"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <text macro="title" prefix=" "/>+ <group prefix=", ">+ <text term="in" text-case="lowercase"/>+ <text variable="container-title" font-style="italic" prefix=" " suffix=","/>+ <text variable="collection-title" prefix=" " suffix=","/>+ <text macro="editor-translator-short"/>+ </group>+ <group prefix=" (" suffix=")" delimiter=", ">+ <text macro="publisher"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ <else-if type="article-journal">+ <group suffix=".">+ <text macro="title" prefix=" "/>+ <text macro="editor-translator" prefix=" "/>+ </group>+ <group prefix=" " suffix="">+ <text variable="container-title" font-style="italic" prefix=" "/>+ <text variable="volume" prefix=" "/>+ <text variable="issue" prefix=", no. "/>+ <date variable="issued" prefix=" (" suffix=")">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ <text variable="page" prefix=": "/>+ </group>+ </else-if>+ <else-if type="article-newspaper article-magazine" match="any">+ <group suffix=".">+ <text macro="title" prefix=" "/>+ <text macro="editor-translator" prefix=" "/>+ </group>+ <group delimiter=", " prefix=" ">+ <text variable="container-title" font-style="italic"/>+ <text variable="issue" suffix="."/>+ <date variable="issued">+ <date-part name="month" form="long"/>+ <date-part name="day" form="numeric" prefix=" " suffix=", "/>+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ <else-if type="paper-conference">+ <group suffix=".">+ <text macro="title" prefix=" "/>+ <text macro="editor-translator" prefix=" "/>+ </group>+ <group suffix="">+ <text value="paper presented at" text-case="capitalize-first"/>+ <text variable="event" prefix=" "/>+ <text variable="event-place" prefix=", "/>+ <date variable="event-date">+ <date-part name="month" form="long"/>+ <date-part name="day" form="numeric" prefix=" " suffix=", "/>+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <group suffix=".">+ <text macro="title" prefix=" " suffix="."/>+ </group>+ <group delimiter=", " prefix=" ">+ <text macro="editor-translator-short"/>+ <text variable="collection-title"/>+ <text variable="edition" suffix=" edn"/>+ <text macro="vols"/>+ </group>+ <group prefix=" (" suffix=")" delimiter=", ">+ <text macro="publisher"/>+ <date variable="issued" prefix=" " suffix="">+ <date-part name="year"/>+ </date>+ </group>+ <text variable="volume" prefix=", "/>+ </else-if>+ <else>+ <group suffix=".">+ <text macro="title" prefix=" "/>+ <text macro="editor-translator" prefix=" "/>+ </group>+ <group prefix=" " suffix="">+ <text variable="container-title" font-style="italic"/>+ <group prefix=", ">+ <text variable="volume" font-style="italic"/>+ <text variable="issue" prefix="(" suffix=")"/>+ </group>+ <text variable="page" prefix=", "/>+ </group>+ </else>+ </choose>+ <text prefix=" " macro="access"/>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "container-title": "Container Title",+ "id": "ITEM-1",+ "title": "Some Title",+ "type": "article-journal"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_DuplicateSpaces3.txt view
@@ -0,0 +1,217 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">1. Family Name N. The Title. In: <i>Container Title</i>.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>American Medical Association</title>+ <id>http://www.zotero.org/styles/ama</id>+ <link href="http://www.zotero.org/styles/ama" rel="self"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <category citation-format="numeric"/>+ <category field="medicine"/>+ <updated>2008-03-08T20:38:52+00:00</updated>+ <summary>The American Medical Association style as used in JAMA.</summary>+ <link href="http://www.samford.edu/schools/pharmacy/dic/amaquickref07.pdf" rel="documentation"/>+ </info>+ <macro name="editor">+ <names variable="editor">+ <name name-as-sort-order="all" sort-separator=" " initialize-with="" delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", " text-case="lowercase" suffix="." strip-periods="true"/>+ </names>+ </macro>+ <macro name="anon">+ <text term="anonymous" form="short" text-case="capitalize-first" strip-periods="true"/>+ </macro>+ <macro name="author">+ <group suffix=".">+ <names variable="author">+ <name name-as-sort-order="all" sort-separator=" " initialize-with="" delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=" " suffix="" text-case="lowercase" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </group>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="symbol" delimiter=", " initialize-with="."/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <group>+ <text value="Available at:" suffix=" "/>+ <text variable="URL"/>+ <group prefix=" [" suffix="]">+ <text term="accessed" text-case="capitalize-first" suffix=" "/>+ <date variable="accessed">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </group>+ </group>+ </macro>+ <macro name="title">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else>+ <text variable="title"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </macro>+ <macro name="year-date">+ <group prefix=" ">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </group>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <citation collapse="citation-number">+ <sort>+ <key variable="citation-number"/>+ </sort>+ <layout delimiter="," vertical-align="sup">+ <text variable="citation-number"/>+ <group prefix="(" suffix=")">+ <label variable="locator" form="short" strip-periods="true"/>+ <text variable="locator"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="false" et-al-min="6" et-al-use-first="3">+ <layout>+ <text variable="citation-number" prefix="" suffix=". "/>+ <text macro="author" suffix=""/>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <group suffix=".">+ <text macro="title" prefix=" " suffix="."/>+ <text macro="edition" prefix=" "/>+ <text macro="editor" prefix=" (" suffix=")"/>+ </group>+ <text prefix=" " suffix="" macro="publisher"/>+ <group suffix="." prefix="; ">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="page" prefix=":"/>+ </group>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <text macro="title" prefix=" " suffix="."/>+ <group prefix=" ">+ <text term="in" text-case="capitalize-first" suffix=": "/>+ <text macro="editor"/>+ <text variable="container-title" font-style="italic" prefix=" " suffix="."/>+ <text variable="volume" prefix="Vol " suffix="."/>+ <text macro="edition" prefix=" "/>+ <text variable="collection-title" prefix=" " suffix="."/>+ <group suffix=".">+ <text macro="publisher" prefix=" "/>+ <group suffix="." prefix="; ">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="page" prefix=":"/>+ </group>+ </group>+ </group>+ </else-if>+ <else>+ <group suffix=".">+ <text macro="title" prefix=" "/>+ <text macro="editor" prefix=" "/>+ </group>+ <group prefix=" " suffix=".">+ <text variable="container-title" font-style="italic" form="short" suffix="."/>+ <group delimiter=";" prefix=" ">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <group>+ <text variable="volume"/>+ <text variable="issue" prefix="(" suffix=")"/>+ </group>+ </group>+ <text variable="page" prefix=":"/>+ </group>+ </else>+ </choose>+ <text prefix=" " macro="access" suffix="."/>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Family Name",+ "given": "N"+ }+ ],+ "container-title": "Container Title",+ "id": "ITEM-1",+ "title": "The Title",+ "type": "chapter"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_DuplicateTerminalPunctuationInBibliography.txt view
@@ -0,0 +1,257 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++Reported by Carles Pina of Mendeley.++http://groups.google.com/group/citeproc-js/browse_thread/thread/428d4523fbef3beb?hl=en_US++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">D’Arcus, Bruce. 2006. <i>Boundaries of Dissent: Protest and State Power in the Media Age</i>. New York: Routledge http://www.test01.com.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>American Sociological Association</title>+ <id>http://www.zotero.org/styles/asa</id>+ <link href="http://www.zotero.org/styles/asa" rel="self"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <category citation-format="author-date"/>+ <category field="sociology"/>+ <updated>2008-10-20T16:32:11+00:00</updated>+ <summary>The ASA style.</summary>+ <link href="http://www.asanet.org/galleries/default-file/asaguidelinesnew.pdf" rel="documentation"/>+ </info>+ <locale>+ <style-options punctuation-in-quote="true"/>+ </locale>+ <macro name="editor">+ <names variable="editor">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="series-editor">+ <names variable="original-author">+ <label form="short" text-case="capitalize-first" suffix=". " strip-periods="true"/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="anon">+ <text term="anonymous" form="short" text-case="capitalize-first" strip-periods="true"/>+ </macro>+ <macro name="author">+ <names variable="author">+ <name and="text" name-as-sort-order="first" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", " suffix="." text-case="lowercase" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <group>+ <text variable="URL"/>+ <group prefix=" (" suffix=")">+ <text term="accessed" text-case="capitalize-first" suffix=" "/>+ <date variable="accessed">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </group>+ </group>+ </macro>+ <macro name="title">+ <choose>+ <if type="thesis">+ <text variable="title"/>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </else-if>+ <else>+ <text variable="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </macro>+ <macro name="year-date">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short" strip-periods="true"/>+ </else>+ </choose>+ </macro>+ <macro name="day-month">+ <date variable="issued">+ <date-part name="month"/>+ <date-part name="day" prefix=" "/>+ </date>+ </macro>+ <macro name="pages">+ <label variable="page" form="short" suffix=". " text-case="capitalize-first" strip-periods="true"/>+ <text variable="page"/>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" collapse="year">+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=":">+ <group delimiter=" ">+ <text macro="author-short"/>+ <text macro="year-date"/>+ </group>+ <text variable="locator"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="6" et-al-use-first="1">+ <sort>+ <key macro="author"/>+ <key variable="title"/>+ </sort>+ <layout suffix=".">+ <group delimiter=" ">+ <text macro="author" suffix="."/>+ <text macro="year-date" suffix="."/>+ </group>+ <choose>+ <if type="article-newspaper article-magazine" match="any">+ <group delimiter=" ">+ <text macro="title" prefix=" " suffix="."/>+ </group>+ <group prefix=" " delimiter=", ">+ <text variable="container-title" font-style="italic"/>+ <text macro="day-month"/>+ <text variable="edition"/>+ <text variable="page"/>+ </group>+ </if>+ <else-if type="thesis">+ <text macro="title" prefix=" " suffix="." quotes="true"/>+ <group prefix=" " delimiter=", ">+ <text macro="edition"/>+ <text macro="editor" suffix="."/>+ <text variable="genre"/>+ <text macro="publisher"/>+ </group>+ </else-if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <group delimiter=" ">+ <text macro="title" prefix=" " suffix="."/>+ <text macro="edition"/>+ <text macro="editor" suffix="."/>+ <text macro="publisher"/>+ </group>+ </else-if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=" ">+ <text macro="title" prefix=" " suffix="."/>+ <group delimiter=", " suffix=".">+ <group delimiter=" ">+ <text macro="pages"/>+ <text term="in" text-case="lowercase"/>+ <text variable="container-title" font-style="italic"/>+ </group>+ <text variable="volume" prefix="vol. "/>+ <text variable="collection-title" font-style="italic"/>+ <text macro="editor"/>+ </group>+ <text macro="publisher"/>+ </group>+ </else-if>+ <else>+ <group suffix=".">+ <text macro="title" prefix=" "/>+ <text macro="editor" prefix=" "/>+ </group>+ <group prefix=" " suffix="." delimiter=" ">+ <text variable="container-title" font-style="italic"/>+ <group delimiter=":">+ <text variable="volume"/>+ <text variable="page"/>+ </group>+ </group>+ </else>+ </choose>+ <text prefix=" " macro="access" suffix="."/>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "URL": "http://www.test01.com",+ "author": [+ {+ "family": "D'Arcus",+ "given": "Bruce"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2006+ ]+ ]+ },+ "publisher": "Routledge",+ "publisher-place": "New York",+ "title": "Boundaries of Dissent: Protest and State Power in the Media Age",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_EmptyIfMatchNoneFail.txt view
@@ -0,0 +1,51 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+PhD. diss.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <choose>+ <if match="none" variable="title"></if>+ <else-if match="any" type="thesis speech">+ <text variable="genre" />+ </else-if>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "genre": "PhD. diss.",+ "id": "ITEM-1",+ "title": "His Anonymous Life",+ "type": "thesis"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_EnvAndUrb.txt view
@@ -0,0 +1,215 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++Note that disambiguate-add-names does not take effect, because the names are+exposed by disambiguate="true", which has a lower priority than names expansion,+and disambiguation attempts terminate immediately after it is applied.+++>>===== RESULT =====>>+>>[0] Baines, T S, O Benedettini and J M Kay, ‘Title One’; Baines, T S, F Gump and J M Kay, ‘Title Two’.+..[1] See reference 1, Baines et al.+>>[2] See reference 1, Baines et al.+<<===== RESULT =====<<+++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-2",+ "citationItems": [+ {+ "id": "ITEM-1"+ }+ ],+ "properties": {+ "noteIndex": 2+ }+ },+ [+ [+ "CITATION-1",+ 1+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-3",+ "citationItems": [+ {+ "id": "ITEM-2"+ }+ ],+ "properties": {+ "noteIndex": 3+ }+ },+ [+ [+ "CITATION-1",+ 1+ ],+ [+ "CITATION-2",+ 2+ ]+ ],+ []+ ]+]+<<===== CITATIONS =====<<++>>==== CITATION-ITEMS ====+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ], + [+ {+ "id": "ITEM-1",+ "position": 1,+ "first-reference-note-number": 1+ }+ ], + [+ {+ "id": "ITEM-2",+ "position": 1,+ "first-reference-note-number": 1+ }+ ]+]+<<==== CITATION-ITEMS ====++++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0" demote-non-dropping-particle="sort-only" default-locale="en-GB" page-range-format="expanded">+ <info>+ <title>Environment and Urbanization</title>+ <id>http://www.zotero.org/styles/environment-and-urbanization</id>+ <link href="http://www.zotero.org/styles/environment-and-urbanization" rel="self"/>+ <link href="http://www.zotero.org/styles/journal-of-applied-philosophy" rel="template"/>+ <link href="https://us.sagepub.com/en-us/nam/journal/environment-and-urbanization#ReferenceStyle" rel="documentation"/>+ <author>+ <name>Sebastian Karcher</name>+ </author>+ <category citation-format="note"/>+ <category field="geography"/>+ <issn>0956-2478</issn>+ <eissn>1746-0301</eissn>+ <summary>Style calls for endnote symbols in parentheses, which CSL can't do</summary>+ <updated>2012-10-25T21:15:26+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <citation et-al-min="7" et-al-use-first="1" disambiguate-add-names="true" disambiguate-add-givenname="true">+ <layout suffix="." delimiter="; ">+ <choose>+ <if position="subsequent">+ <group delimiter=", ">+ <text variable="first-reference-note-number" prefix="See reference "/>+ <choose>+ <if disambiguate="true">+ <names variable="author">+ <name form="short" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="never" et-al-min="3" et-al-use-first="1" initialize-with=" "/>+ </names>+ </if>+ </choose>+ <choose>+ <if disambiguate="true">+ <text variable="title" quotes="true" text-case="title" form="short"/>+ </if>+ </choose>+ </group>+ </if>+ <else>+ <group delimiter=", ">+ <names variable="author">+ <name and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="never" initialize-with=" " name-as-sort-order="first" initialize="false"/>+ </names>+ <text variable="title" quotes="true"/>+ </group>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Baines",+ "given": "T. S."+ },+ {+ "family": "Benedettini",+ "given": "O."+ },+ {+ "family": "Kay",+ "given": "J. M."+ }+ ],+ "id": "ITEM-1",+ "title": "Title One",+ "type": "article-journal"+ },+ {+ "author": [+ {+ "family": "Baines",+ "given": "T. S."+ },+ {+ "family": "Gump",+ "given": "F."+ },+ {+ "family": "Kay",+ "given": "J. M."+ }+ ],+ "id": "ITEM-2",+ "title": "Title Two",+ "type": "article-journal"+ }+]+<<==== INPUT ====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_EtAlSubsequent.txt view
@@ -0,0 +1,107 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+..[0] John Doe, Jane Roe, Katie Harper, Emmanuel Clutterbuck+>>[1] John Doe et al.+<<===== RESULT =====<<++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-2",+ "citationItems": [+ {+ "id": "ITEM-1"+ }+ ],+ "properties": {+ "noteIndex": 2+ }+ },+ [+ [+ "CITATION-1",+ 1+ ]+ ],+ []+ ]+]+<<===== CITATIONS =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ et-al-min="5"+ et-al-use-first="1"+ et-al-subsequent-min="3"+ et-al-subsequent-use-first="1">+ <layout>+ <names variable="author">+ <name/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe", + "given": "John"+ }, + {+ "family": "Roe", + "given": "Jane"+ },+ {+ "family": "Harper", + "given": "Katie"+ },+ {+ "family": "Clutterbuck", + "given": "Emmanuel"+ }+ ], + "id": "ITEM-1", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_FourAndFour.txt view
@@ -0,0 +1,802 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Anne Tyler, George Smith, John Brown, and Cat Garfield, <i>Ladder of his’ Years</i>, vol. 2003 (New York: Ivy Books, 1997).+Anne Tyler, George Smith, John Brown, and Cat Felix, <i>Ladder of his’ Years</i>, vol. 2003 (New York: Ivy Books, 1997).+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": 1,+ "position": 0+ }+ ],+ [+ {+ "id": 2,+ "position": 0+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <title>Chicago Manual of Style (Full Note with Bibliography)</title>+ <id>http://www.zotero.org/styles/chicago-fullnote-bibliography</id>+ <link rel="self" href="http://www.zotero.org/styles/chicago-fullnote-bibliography" />+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation" />+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </contributor>+ <contributor>+ <name>Elena Razlogova</name>+ <email>elena.razlogova@gmail.com</email>+ </contributor>+ <summary>Chicago format with full notes and bibliography</summary>+ <category field="generic-base" />+ <category citation-format="numeric" />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="editor-translator">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <names delimiter=", " variable="editor">+ <label form="verb-short" suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names delimiter=", " variable="translator">+ <label form="verb-short" suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="secondary-contributors-note">+ <choose>+ <if match="none" type="chapter">+ <text macro="editor-translator" />+ </if>+ </choose>+ </macro>+ <macro name="container-contributors-note">+ <choose>+ <if type="chapter">+ <text macro="editor-translator" />+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if match="none" type="chapter">+ <group delimiter=". ">+ <choose>+ <if variable="author">+ <names delimiter=". " variable="editor">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names delimiter=". " variable="translator">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <names delimiter=", " variable="editor">+ <label form="verb" suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names delimiter=", " variable="translator">+ <label form="verb" suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="editor-note">+ <names variable="editor">+ <name and="text" delimiter=", " sort-separator=", " />+ <label form="short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="translator-note">+ <names variable="translator">+ <name and="text" delimiter=", " sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="recipient-note">+ <names delimiter=", " variable="recipient">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="contributors-note">+ <names variable="author">+ <name and="text" delimiter=", " sort-separator=", " />+ <substitute>+ <text macro="editor-note" />+ <text macro="translator-note" />+ </substitute>+ </names>+ <text macro="recipient-note" />+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="recipient">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ <else>+ <text term="letter" text-case="capitalize-first" />+ </else>+ </choose>+ </if>+ </choose>+ <text macro="recipient-note" prefix=" " />+ </macro>+ <macro name="contributors">+ <names variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <substitute>+ <text macro="editor" />+ <text macro="translator" />+ </substitute>+ </names>+ <text macro="recipient" prefix=". " />+ </macro>+ <macro name="recipient-short">+ <names variable="recipient">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " form="short" />+ </names>+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name and="text" delimiter=", " form="short" />+ <substitute>+ <names variable="editor" />+ <names variable="translator" />+ </substitute>+ </names>+ <text macro="recipient-short" />+ </macro>+ <macro name="contributors-sort">+ <names variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="all" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ <substitute>+ <names variable="editor" />+ <names variable="translator" />+ </substitute>+ </names>+ </macro>+ <macro name="interviewer-note">+ <names delimiter=", " variable="interviewer">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="interviewer">+ <names delimiter=", " variable="interviewer">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="title-note">+ <choose>+ <if match="none" variable="title">+ <text variable="genre" />+ </if>+ <else-if type="book">+ <text font-style="italic" variable="title" />+ </else-if>+ <else>+ <text quotes="true" variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if match="none" variable="title">+ <choose>+ <if match="none" type="personal_communication">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ </if>+ <else-if type="book">+ <text font-style="italic" variable="title" />+ </else-if>+ <else>+ <text quotes="true" variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="title-short">+ <choose>+ <if match="none" variable="title">+ <choose>+ <if type="interview">+ <text term="interview" text-case="lowercase" />+ </if>+ <else-if match="any" type="manuscript speech">+ <text form="short" variable="genre" />+ </else-if>+ <else-if type="personal_communication">+ <text macro="issued" />+ </else-if>+ </choose>+ </if>+ <else-if type="book">+ <text font-style="italic" form="short" variable="title" />+ </else-if>+ <else>+ <text form="short" quotes="true" variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="description-note">+ <group delimiter=", ">+ <text macro="interviewer-note" />+ <text variable="medium" />+ <choose>+ <if match="none" variable="title"/>+ <else-if match="any" type="thesis speech"/>+ <else>+ <text variable="genre" />+ </else>+ </choose>+ </group>+ </macro>+ <macro name="description">+ <group delimiter=", ">+ <group delimiter=". ">+ <text macro="interviewer" />+ <text text-case="capitalize-first" variable="medium" />+ </group>+ <choose>+ <if match="none" variable="title"/>+ <else-if match="any" type="thesis speech"/>+ <else>+ <text text-case="capitalize-first" variable="genre" />+ </else>+ </choose>+ </group>+ </macro>+ <macro name="container-title-note">+ <choose>+ <if type="chapter">+ <text suffix=" " term="in" text-case="lowercase" />+ </if>+ </choose>+ <text font-style="italic" variable="container-title" />+ </macro>+ <macro name="container-title">+ <choose>+ <if type="chapter">+ <text suffix=" " term="in" text-case="capitalize-first" />+ </if>+ </choose>+ <text font-style="italic" variable="container-title" />+ </macro>+ <macro name="collection-title">+ <text variable="collection-title" />+ <text prefix=" " variable="collection-number" />+ </macro>+ <macro name="edition-note">+ <choose>+ <if match="any" type="book chapter">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number form="ordinal" variable="edition" />+ <text form="short" suffix="." term="edition" />+ </group>+ </if>+ <else>+ <text suffix="." variable="edition" />+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if match="any" type="book chapter">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number form="ordinal" variable="edition" />+ <text form="short" suffix="." term="edition" />+ </group>+ </if>+ <else>+ <text suffix="." text-case="capitalize-first" variable="edition" />+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-note">+ <choose>+ <if type="article-journal">+ <text prefix=" " variable="volume" />+ <text prefix=", no. " variable="issue" />+ </if>+ <else-if match="any" type="book chapter">+ <group delimiter=", " prefix=", ">+ <group>+ <text form="short" suffix=". " term="volume" />+ <number form="numeric" variable="volume" />+ </group>+ <choose>+ <if match="none" variable="locator">+ <group>+ <number form="numeric" variable="number-of-volumes" />+ <text form="short" plural="true" prefix=" " suffix="." term="volume" />+ </group>+ </if>+ </choose>+ <text macro="edition-note" />+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <text prefix=" " variable="volume" />+ <text prefix=", no. " variable="issue" />+ </if>+ <else-if match="any" type="book">+ <group delimiter=". " prefix=". ">+ <group>+ <text form="short" suffix=". " term="volume" text-case="capitalize-first" />+ <number form="numeric" variable="volume" />+ </group>+ <group>+ <number form="numeric" variable="number-of-volumes" />+ <text form="short" plural="true" prefix=" " suffix="." term="volume" />+ </group>+ <text macro="edition" />+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-newspaper">+ <choose>+ <if type="article-newspaper">+ <group delimiter=", ">+ <group>+ <text suffix=" " variable="edition" />+ <text prefix=" " term="edition" />+ </group>+ <group>+ <text form="short" suffix=". " term="section" />+ <text variable="section" />+ </group>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="event">+ <group>+ <text suffix=" " term="presented at" />+ <text variable="event" />+ </group>+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place" />+ <text variable="publisher" />+ </group>+ </macro>+ <macro name="issued">+ <choose>+ <if match="any" type="graphic report">+ <date variable="issued">+ <date-part name="month" suffix=" " />+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </if>+ <else-if match="any" type="book chapter thesis">+ <date variable="issued">+ <date-part name="year" />+ </date>+ </else-if>+ <else>+ <date variable="issued">+ <date-part name="month" suffix=" " />+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </else>+ </choose>+ </macro>+ <macro name="point-locators-subsequent">+ <group>+ <choose>+ <if locator="page" match="none">+ <label form="short" suffix=" " variable="locator" />+ </if>+ </choose>+ <text variable="locator" />+ </group>+ </macro>+ <macro name="point-locators">+ <choose>+ <if match="none" variable="locator">+ <text macro="pages" />+ </if>+ <else-if type="article-journal">+ <text prefix=": " variable="locator" />+ </else-if>+ <else>+ <text macro="point-locators-subsequent" prefix=", " />+ </else>+ </choose>+ </macro>+ <macro name="pages">+ <choose>+ <if type="article-journal">+ <text prefix=": " variable="page" />+ </if>+ <else-if type="chapter">+ <text prefix=", " variable="page" />+ </else-if>+ </choose>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter">+ <text suffix=":" variable="volume" />+ <text variable="page" />+ </if>+ </choose>+ </macro>+ <macro name="locators-journal">+ <choose>+ <if type="article-journal">+ <text prefix=": " variable="page" />+ </if>+ </choose>+ </macro>+ <macro name="archive-note">+ <group delimiter=", ">+ <text variable="archive_location" />+ <text variable="archive" />+ <text variable="archive-place" />+ </group>+ </macro>+ <macro name="archive">+ <group delimiter=". ">+ <text text-case="capitalize-first" variable="archive_location" />+ <text variable="archive" />+ <text variable="archive-place" />+ </group>+ </macro>+ <macro name="issue-note">+ <choose>+ <if type="article-journal">+ <text macro="issued" prefix=" (" suffix=")" />+ </if>+ <else-if match="any" variable="publisher-place publisher">+ <group delimiter=", " prefix=" (" suffix=")">+ <group delimiter=" ">+ <choose>+ <if match="none" variable="title"/>+ <else-if match="any" type="thesis speech">+ <text variable="genre" />+ </else-if>+ </choose>+ <text macro="event" />+ </group>+ <text macro="publisher" />+ <text macro="issued" />+ </group>+ </else-if>+ <else>+ <text macro="issued" prefix=", " />+ </else>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="article-journal">+ <text macro="issued" prefix=" (" suffix=")" />+ </if>+ <else-if type="speech">+ <choose>+ <if match="none" variable="title"> </if>+ <else>+ <text prefix=". " text-case="capitalize-first" variable="genre" />+ </else>+ </choose>+ <text macro="event" prefix=" " />+ <text prefix=", " variable="event-place" />+ <text macro="issued" prefix=", " />+ </else-if>+ <else-if match="any" variable="publisher-place publisher">+ <group delimiter=", " prefix=". ">+ <choose>+ <if type="thesis">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ <text macro="publisher" />+ <text macro="issued" />+ </group>+ </else-if>+ <else>+ <text macro="issued" prefix=", " />+ </else>+ </choose>+ </macro>+ <macro name="access-note">+ <group delimiter=", ">+ <choose>+ <if match="any" type="graphic report">+ <text macro="archive-note" />+ </if>+ <else-if match="none" type="book thesis chapter article-journal article-newspaper article-magazine">+ <text macro="archive-note" />+ </else-if>+ </choose>+ <text prefix="doi:" variable="DOI" />+ <text variable="URL" />+ </group>+ </macro>+ <macro name="access">+ <group delimiter=". ">+ <choose>+ <if match="any" type="graphic report">+ <text macro="archive" />+ </if>+ <else-if match="none" type="book thesis chapter article-journal article-newspaper article-magazine">+ <text macro="archive" />+ </else-if>+ </choose>+ <text variable="URL" />+ </group>+ </macro>+ <macro name="sort-key">+ <text macro="contributors-sort" suffix=" " />+ <text suffix=" " variable="title" />+ <text variable="genre" />+ </macro>+ <macro name="legal-case-first">+ <group delimiter=", ">+ <text variable="title"/>+ <group delimiter=" ">+ <text variable="volume"/>+ <text variable="container-title"/>+ <text variable="page"/>+ <group prefix="(" suffix=")" delimiter=" ">+ <text variable="authority" form="short"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </group>+ </group>+ </macro>+ <citation + disambiguate-add-names="true"+ et-al-min="4"+ et-al-subsequent-min="4"+ et-al-subsequent-use-first="1"+ et-al-use-first="1">+ <layout delimiter="; " prefix="" suffix=".">+ <choose>+ <if type="legal_case">+ <text macro="legal-case-first"/>+ </if>+ <else-if position="ibid-with-locator">+ <group delimiter=", ">+ <text suffix="." term="ibid"/>+ <text macro="point-locators-subsequent" />+ </group>+ </else-if>+ <else-if position="ibid">+ <text suffix="." term="ibid"/>+ </else-if>+ <else-if position="subsequent">+ <group delimiter=", ">+ <text macro="contributors-short" />+ <text macro="title-short" />+ <text macro="point-locators-subsequent" />+ </group>+ </else-if>+ <else>+ <group delimiter=", ">+ <text macro="contributors-note" />+ <text macro="title-note" />+ <text macro="description-note" />+ <text macro="secondary-contributors-note" />+ <text macro="container-title-note" />+ <text macro="container-contributors-note" />+ </group>+ <text macro="locators-note" />+ <text macro="collection-title" prefix=", " />+ <text macro="issue-note" />+ <text macro="locators-newspaper" prefix=", " />+ <text macro="point-locators"/>+ <text macro="access-note" prefix=", " />+ </else>+ </choose>+ </layout>+ </citation>+ <bibliography + entry-spacing="0"+ et-al-min="11"+ et-al-use-first="7"+ hanging-indent="true"+ subsequent-author-substitute="---">+ <sort>+ <key macro="sort-key" />+ <key variable="issued" />+ </sort>+ <layout suffix=".">+ <choose>+ <if type="legal_case">+ <text macro="legal-case-first"/>+ </if>+ <else>+ <group delimiter=". ">+ <text macro="contributors" />+ <text macro="title" />+ <text macro="description" />+ <text macro="secondary-contributors" />+ <group delimiter=", ">+ <text macro="container-title" />+ <text macro="container-contributors" />+ <text macro="locators-chapter" />+ </group>+ </group>+ <text macro="locators" />+ <text macro="collection-title" prefix=". " />+ <text macro="issue" />+ <text macro="locators-newspaper" prefix=", " />+ <text macro="locators-journal" />+ <text macro="access" prefix=". " />+ </else>+ </choose>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "ISBN": "9780804113472",+ "author": [+ {+ "family": "Tyler",+ "given": "Anne"+ },+ {+ "family": "Smith",+ "given": "George"+ },+ {+ "family": "Brown",+ "given": "John"+ },+ {+ "family": "Garfield",+ "given": "Cat"+ }+ ],+ "id": 1,+ "issued": {+ "date-parts": [+ [+ 1997+ ]+ ]+ },+ "publisher": "Ivy Books",+ "publisher-place": "New York",+ "title": "Ladder of his' Years",+ "type": "book",+ "volume": "2003"+ },+ {+ "ISBN": "9780804113472",+ "author": [+ {+ "family": "Tyler",+ "given": "Anne"+ },+ {+ "family": "Smith",+ "given": "George"+ },+ {+ "family": "Brown",+ "given": "John"+ },+ {+ "family": "Felix",+ "given": "Cat"+ }+ ],+ "id": 2,+ "issued": {+ "date-parts": [+ [+ 1997+ ]+ ]+ },+ "publisher": "Ivy Books",+ "publisher-place": "New York",+ "title": "Ladder of his' Years",+ "type": "book",+ "volume": "2003"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_FrenchApostrophe.txt view
@@ -0,0 +1,46 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++Space on guillemet is half-width non-breaking space.++>>===== RESULT =====>>+« Life’s “Little” Surprises »+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ default-locale="fr-FR">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" quotes="true"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "Life's 'Little' Surprises",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_GreekStyleProblems.txt view
@@ -0,0 +1,1245 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Τέλλος Άγρας, «Ο Καρυωτάκης και οι Σάτιρες», στο: Κώστας Καρυωτάκης, <i>Ποιήματα και πεζά</i>, μτφ. Andreas Dimitriadis, επιμ. Γ. Π. Σαββίδης, 1998.+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" default-locale="el" version="1.0">+ <info>+ <title>Greek (Full Note with Bibliography) g2</title>+ <id>http://www.zotero.org/styles/gr2</id>+ <link href="http://www.zotero.org/styles/gr2" rel="self"/>+ <author>+ <name>A.D.</name>+ </author>+ <summary>Greek based on Chicago format with full notes and bibliography</summary>+ <category field="generic-base"/>+ <category citation-format="note"/>+ <updated>2010-11-04T20:22:16+00:00</updated>+ </info>+ <locale xml:lang="el">+ <terms>+ <term name="accessed">ημερομηνία πρόσβασης</term>+ <term name="and">και</term>+ <term name="and others">και άλλοι</term>+ <term name="anonymous">ανώνυμο</term>+ <term name="anonymous" form="short">ανών</term>+ <term name="at">εφ</term>+ <term name="by">του</term>+ <term name="circa">περίπου</term>+ <term name="circa" form="short">περ</term>+ <term name="cited">παρατίθεται</term>+ <term name="edition">+ <single>έκδοση</single>+ <multiple>εκδόσεις</multiple>+ </term>+ <term name="edition" form="short">έκδ</term>+ <term name="et-al">κ.ά.</term>+ <term name="forthcoming">προσεχές</term>+ <term name="from">από</term>+ <term name="ibid">Στο ίδιο</term>+ <term name="in">στο</term>+ <term name="in press">υπό έκδοση</term>+ <term name="internet">διαδίκτυο</term>+ <term name="interview">συνέντευξη</term>+ <term name="letter">επιστολή</term>+ <term name="no date">χωρίς χρονολογία</term>+ <term name="no date" form="short">χ.χ.</term>+ <term name="online">έκδοση σε ψηφιακή μορφή</term>+ <term name="presented at">παρουσιάστηκε στο</term>+ <term name="reference">+ <single>αναφορά</single>+ <multiple>αναφορές</multiple>+ </term>+ <term name="reference" form="short">+ <single>αναφ</single>+ <multiple>αναφ</multiple>+ </term>+ <term name="retrieved">ανακτήθηκε</term>+ <term name="ad">μ.Χ.</term>+ <term name="bc">π.Χ.</term>+ <term name="open-quote"/>+ <term name="close-quote"/>+ <term name="open-inner-quote"/>+ <term name="close-inner-quote"/>+ <term name="ordinal-01">ος</term>+ <term name="ordinal-02">ος</term>+ <term name="ordinal-03">ος</term>+ <term name="ordinal-04">ος</term>+ <term name="long-ordinal-01">πρώτος</term>+ <term name="long-ordinal-02">δεύτερος</term>+ <term name="long-ordinal-03">τρίτος</term>+ <term name="long-ordinal-04">τέταρτος</term>+ <term name="long-ordinal-05">πέμπτος</term>+ <term name="long-ordinal-06">έκτος</term>+ <term name="long-ordinal-07">έβδομος</term>+ <term name="long-ordinal-08">όγδοος</term>+ <term name="long-ordinal-09">ένατος</term>+ <term name="long-ordinal-10">δέκατος</term>+ <term name="anthropology">ανθρωπολογία</term>+ <term name="astronomy">αστρονομία</term>+ <term name="biology">βιολογία</term>+ <term name="botany">βοτανική</term>+ <term name="chemistry">χημεία</term>+ <term name="engineering">μηχανική</term>+ <term name="generic-base">γενική βάση</term>+ <term name="geography">γεωγραφία</term>+ <term name="geology">γεωλογία</term>+ <term name="history">ιστορία</term>+ <term name="humanities">ανθρωπιστικές σπουδές</term>+ <term name="literature">λογοτεχνία</term>+ <term name="math">μαθηματικά</term>+ <term name="medicine">ιατρική</term>+ <term name="philosophy">φιλοσοφία</term>+ <term name="physics">φυσική</term>+ <term name="psychology">ψυχολογία</term>+ <term name="sociology">κοινωνιολογία</term>+ <term name="science">θετικές επιστήμες</term>+ <term name="political_science">πολιτικές επιστήμες</term>+ <term name="social_science">κοινωνικές επιστήμες</term>+ <term name="theology">θεολογία</term>+ <term name="zoology">ζωολογία</term>+ <term name="book">+ <single>βιβλίο</single>+ <multiple>βιβλίο</multiple>+ </term>+ <term name="chapter">+ <single>κεφάλαιο</single>+ <multiple>κεφάλαια</multiple>+ </term>+ <term name="column">+ <single>στήλη</single>+ <multiple>στήλες</multiple>+ </term>+ <term name="figure">+ <single>εικόνα</single>+ <multiple>εικόνες</multiple>+ </term>+ <term name="folio">+ <single>φάκελος</single>+ <multiple>φάκελοι</multiple>+ </term>+ <term name="issue">+ <single>τεύχος</single>+ <multiple>τεύχη</multiple>+ </term>+ <term name="line">+ <single>σειρά</single>+ <multiple>σειρές</multiple>+ </term>+ <term name="note">+ <single>σημείωση</single>+ <multiple>σημειώσεις</multiple>+ </term>+ <term name="opus">+ <single>έργο</single>+ <multiple>έργα</multiple>+ </term>+ <term name="page">+ <single>σελίδα</single>+ <multiple>σελίδες</multiple>+ </term>+ <term name="paragraph">+ <single>παράγραφος</single>+ <multiple>παράγραφοι</multiple>+ </term>+ <term name="part">+ <single>μέρος</single>+ <multiple>μέρη</multiple>+ </term>+ <term name="section">+ <single>τμήμα</single>+ <multiple>τμήματα</multiple>+ </term>+ <term name="sub verbo">+ <single>λήμμα</single>+ <multiple>λήμματα</multiple>+ </term>+ <term name="verse">+ <single>στίχος</single>+ <multiple>στίχοι</multiple>+ </term>+ <term name="volume">+ <single>τόμος</single>+ <multiple>τόμοι</multiple>+ </term>+ <term name="book" form="short">βιβ</term>+ <term name="chapter" form="short">κεφ</term>+ <term name="column" form="short">στ</term>+ <term name="figure" form="short">εικ</term>+ <term name="folio" form="short">φακ</term>+ <term name="issue" form="short">τχ</term>+ <term name="opus" form="short">έργ</term>+ <term name="page" form="short">+ <single>σ</single>+ <multiple>σσ</multiple>+ </term>+ <term name="paragraph" form="short">παρ</term>+ <term name="part" form="short">μερ</term>+ <term name="section" form="short">τμ</term>+ <term name="sub verbo" form="short">+ <single>λήμ</single>+ <multiple>λήμ</multiple>+ </term>+ <term name="verse" form="short">+ <single>στ</single>+ <multiple>στ</multiple>+ </term>+ <term name="volume" form="short">+ <single>τμ</single>+ <multiple>τμ</multiple>+ </term>+ <term name="paragraph" form="symbol">+ <single>ΒΆ</single>+ <multiple>ΒΆΒΆ</multiple>+ </term>+ <term name="section" form="symbol">+ <single/>+ <multiple/>+ </term>+ <term name="author">+ <single/>+ <multiple/>+ </term>+ <term name="editor">+ <single>επιμελητής</single>+ <multiple>επιμελητές</multiple>+ </term>+ <term name="editorial-director">+ <single>γενική εποπτεία</single>+ <multiple>γενική εποπτεία</multiple>+ </term>+ <term name="translator">+ <single>μεταφραστής</single>+ <multiple>μεταφραστές</multiple>+ </term>+ <term name="editortranslator">+ <single>μετάφραση και επιμέλεια</single>+ <multiple>μετάφραση και επιμέλεια</multiple>+ </term>+ <term name="author" form="short">+ <single/>+ <multiple/>+ </term>+ <term name="editor" form="short">+ <single>επιμ</single>+ <multiple>επιμ</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>γεν. επ</single>+ <multiple>γεν. επ</multiple>+ </term>+ <term name="translator" form="short">+ <single>μτφ</single>+ <multiple>μτφ</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>μτφ. και επιμ</single>+ <multiple>μτφ. και επιμ</multiple>+ </term>+ <term name="editor" form="verb">επιμ</term>+ <term name="editorial-director" form="verb">γεν επ</term>+ <term name="translator" form="verb">μτφ</term>+ <term name="editortranslator" form="verb">μτφ. και επιμ</term>+ <term name="recipient" form="verb">στο</term>+ <term name="interviewer" form="verb">συνέντευξη</term>+ <term name="container-author" form="verb-short"></term>+ <term name="editor" form="verb-short">επιμ</term>+ <term name="editorial-director" form="verb-short">γεν. επ</term>+ <term name="translator" form="verb-short">μτφ</term>+ <term name="editortranslator" form="verb-short">μτφ. και επιμ</term>+ <term name="month-01">Ιανουάριος</term>+ <term name="month-02">Φεβρουάριος</term>+ <term name="month-03">Μάρτιος</term>+ <term name="month-04">Απρίλιος</term>+ <term name="month-05">Μάιος</term>+ <term name="month-06">Ιούνιος</term>+ <term name="month-07">Ιούλιος</term>+ <term name="month-08">Αύγουστος</term>+ <term name="month-09">Σεπτέμβριος</term>+ <term name="month-10">Οκτώβριος</term>+ <term name="month-11">Νοέμβριος</term>+ <term name="month-12">Δεκέμβριος</term>+ <term name="month-01" form="short">Ιανουαρίου</term>+ <term name="month-02" form="short">Φεβρουαρίου</term>+ <term name="month-03" form="short">Μαρτίου</term>+ <term name="month-04" form="short">Απριλίου</term>+ <term name="month-05" form="short">Μαΐου</term>+ <term name="month-06" form="short">Ιουνίου</term>+ <term name="month-07" form="short">Ιουλίου</term>+ <term name="month-08" form="short">Αυγούστου</term>+ <term name="month-09" form="short">Σεπτεμβρίου</term>+ <term name="month-10" form="short">Οκτωβρίου</term>+ <term name="month-11" form="short">Νοεμβρίου</term>+ <term name="month-12" form="short">Δεκεμβρίου</term>+ <term name="season-01">Άνοιξη</term>+ <term name="season-02">Καλοκαίρι</term>+ <term name="season-03">Φθινόπωρο</term>+ <term name="season-04">Χειμώνας</term>+ </terms>+<date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ </locale>+ <macro name="editor-translator">+ <group delimiter=", ">+ <choose>+ <if variable="container-author" match="any">+ <names variable="translator" delimiter=", ">+ <label form="verb-short" text-case="lowercase" suffix=". " strip-periods="true"/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ <else-if variable="author">+ <names variable="translator" delimiter=", ">+ <label form="verb-short" text-case="lowercase" suffix=". " strip-periods="true"/>+ <name and="text" delimiter=", "/>+ </names>+ </else-if>+ </choose>+ <choose>+ <if variable="container-author" match="none"/>+ <else-if variable="author" match="any">+ <names variable="editor" delimiter=", ">+ <label form="verb-short" text-case="lowercase" suffix=". " strip-periods="true"/>+ <name and="text" delimiter=", "/>+ </names>+ </else-if>+ </choose>+ </group>+ </macro>+ <macro name="secondary-contributors-note">+ <choose>+ <if type="chapter paper-conference" match="none">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <names variable="translator" delimiter=". ">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ </choose>+ <choose>+ <if variable="author translator" match="any">+ <names variable="editor" delimiter=". ">+ <label form="verb-short" text-case="lowercase" suffix=". " strip-periods="true"/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors-note">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text macro="editor-translator"/>+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if type="chapter paper-conference" match="none">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <names variable="translator" delimiter=". ">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ </choose>+ <choose>+ <if variable="author translator" match="any">+ <names variable="editor" delimiter=". ">+ <label form="verb-short" text-case="lowercase" suffix=". " strip-periods="true"/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text macro="editor-translator"/>+ </if>+ </choose>+ </macro>+ <macro name="editor-note">+ <names variable="editor">+ <name and="text" sort-separator=", " delimiter=", "/>+ <label form="verb-short" prefix=" (" suffix=".)" strip-periods="true"/>+ </names>+ </macro>+ <macro name="translator-note">+ <names variable="translator">+ <name and="text" sort-separator=", " delimiter=", "/>+ <label form="verb-short" prefix=", " suffix="." strip-periods="true"/>+ </names>+ </macro>+ <macro name="recipient-note">+ <names variable="recipient" delimiter=", ">+ <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="contributors-note">+ <names variable="author">+ <name and="text" sort-separator=", " delimiter=", "/>+ <substitute>+ <text macro="editor-note"/>+ <text macro="translator-note"/>+ </substitute>+ </names>+ <text macro="recipient-note"/>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name name-as-sort-order="first" and="text" sort-separator=" " delimiter=", " delimiter-precedes-last="never"/>+ <label form="verb-short" prefix=" (" suffix=".)" strip-periods="true"/>+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="never"/>+ <label form="verb-short" prefix=", " suffix="." strip-periods="true"/>+ </names>+ </macro>+ <macro name="recipient">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text variable="genre" text-case="lowercase"/>+ </if>+ <else>+ <text term="letter" text-case="lowercase"/>+ </else>+ </choose>+ </if>+ </choose>+ <text macro="recipient-note" prefix=" "/>+ </macro>+ <macro name="contributors">+ <names variable="author">+ <name name-as-sort-order="first" and="text" sort-separator=" " delimiter=", " delimiter-precedes-last="never"/>+ <substitute>+ <text macro="editor"/>+ <text macro="translator"/>+ </substitute>+ </names>+ <text macro="recipient" prefix=". "/>+ </macro>+ <macro name="recipient-short">+ <names variable="recipient">+ <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>+ <name form="short" and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ <text macro="recipient-short"/>+ </macro>+ <macro name="contributors-sort">+ <names variable="author">+ <name name-as-sort-order="all" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="never"/>+ <label form="verb-short" prefix=", " suffix="." strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ </macro>+ <macro name="interviewer-note">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="interviewer">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="title-note">+ <choose>+ <if variable="title" match="none">+ <text variable="genre"/>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </else-if>+ <else-if type="entry-encyclopedia">+ <choose>+ <if variable="author">+ <text variable="title" prefix="«" suffix="»"/>+<text term="sub verbo" text-case="lowercase" prefix=" (" suffix=")"/>+ </if>+ <else>+ <text variable="title" prefix="«" suffix="»"/>+ <text term="sub verbo" text-case="lowercase" prefix=" (" suffix=")"/>+ </else>+ </choose>+ </else-if>+ <else-if type="entry-dictionary">+ <choose>+ <if variable="author">+ <text variable="title" prefix="«" suffix="»"/>+<text term="sub verbo" text-case="lowercase" prefix=" (" suffix=")"/>+ </if>+ <else>+ <text variable="title" prefix="«" suffix="»"/>+ <text term="sub verbo" text-case="lowercase" prefix=" (" suffix=")"/>+ </else>+ </choose>+ </else-if>+ <else>+ <text variable="title" prefix="«" suffix="»"/>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if variable="title" match="none">+ <choose>+ <if type="personal_communication" match="none">+ <text variable="genre" text-case="lowercase"/>+ </if>+ </choose>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </else-if>+ <else-if type="entry-encyclopedia">+ <choose>+ <if variable="author">+ <text variable="title" prefix="«" suffix="»"/>+<text term="sub verbo" text-case="lowercase" prefix=" (" suffix=")"/>+ </if>+ <else>+ <text variable="title" prefix="«" suffix="»"/>+ <text term="sub verbo" text-case="lowercase" prefix=" (" suffix=")"/>+ </else>+ </choose>+ </else-if>+ <else-if type="entry-dictionary">+ <choose>+ <if variable="author">+ <text variable="title" prefix="«" suffix="»"/>+<text term="sub verbo" text-case="lowercase" prefix=" (" suffix=")"/>+ </if>+ <else>+ <text variable="title" prefix="«" suffix="»"/>+ <text term="sub verbo" text-case="lowercase" prefix=" (" suffix=")"/>+ </else>+ </choose>+ </else-if>+ <else>+ <text variable="title" prefix="«" suffix="»"/>+ </else>+ </choose>+ </macro>+ <macro name="title-short">+ <choose>+ <if variable="title" match="none">+ <choose>+ <if type="interview">+ <text term="interview" text-case="lowercase"/>+ </if>+ <else-if type="manuscript speech" match="any">+ <text variable="genre" form="short"/>+ </else-if>+ <else-if type="personal_communication">+ <text macro="issued"/>+ </else-if>+ </choose>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" form="short" font-style="italic"/>+ </else-if>+ <else>+ <text variable="title" form="short" prefix="" suffix=""/>+ </else>+ </choose>+ </macro>+ <macro name="description-note">+ <group delimiter=", ">+ <text macro="interviewer-note"/>+ <text variable="medium"/>+ <choose>+ <if variable="title" match="none"/>+ <else-if type="thesis speech" match="any"/>+ <else>+ <text variable="genre"/>+ </else>+ </choose>+ </group>+ </macro>+ <macro name="description">+ <group delimiter=", ">+ <group delimiter=". ">+ <text macro="interviewer"/>+ <text variable="medium" text-case="lowercase"/>+ </group>+ <choose>+ <if variable="title" match="none"/>+ <else-if type="thesis speech" match="any"/>+ <else>+ <text variable="genre" text-case="lowercase"/>+ </else>+ </choose>+ </group>+ </macro>+ <macro name="container-title-note">+ <choose>+ <if type="article-newspaper">+ <text term="at" text-case="lowercase" suffix=". "/>+ </if>+ </choose>+ <choose>+ <if variable="container-author">+ <text term="in" text-case="lowercase" suffix=": "/>+ <group suffix=", ">+ <names variable="container-author">+ <label form="verb-short" prefix=" " text-case="lowercase" suffix=" " strip-periods="true"/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </if>+ <else-if type="entry-encyclopedia" match="any">+ </else-if>+ <else-if type="entry-dictionary" match="any">+ </else-if>+ <else-if type="chapter paper-conference" match="any">+ <text term="in" suffix=": "/>+ <names variable="editor" delimiter=", " suffix=", ">+ <name and="text" delimiter=", "/>+ <label form="short" prefix=" (" suffix=".)" strip-periods="true"/>+ </names>+ </else-if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <text variable="container-title" font-style="italic"/>+ </if>+ </choose>+ </macro>+ <macro name="container-title">+ <choose>+ <if type="article-newspaper">+ <text term="at" text-case="lowercase" suffix=". "/>+ </if>+ </choose>+ <choose>+ <if variable="container-author">+ <text term="in" text-case="lowercase" suffix=": "/>+ <group suffix=", ">+ <names variable="container-author">+ <label form="verb-short" prefix=" " text-case="lowercase" suffix=" " strip-periods="true"/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </if>+ <else-if type="entry-encyclopedia" match="any">+ </else-if>+ <else-if type="entry-dictionary" match="any">+ </else-if>+ <else-if type="chapter paper-conference" match="any">+ <text term="in" suffix=": "/>+ <names variable="editor" delimiter=", " suffix=", ">+ <name and="text" delimiter=", "/>+ <label form="short" prefix=" (" suffix=".)" strip-periods="true"/>+ </names>+ </else-if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <text variable="container-title" font-style="italic"/>+ </if>+ </choose>+ </macro>+ <macro name="collection-title">+ <text variable="collection-title"/>+ <text variable="collection-number" prefix=" "/>+ </macro>+ <macro name="edition-note">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <text variable="edition"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <text variable="edition"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" text-case="lowercase" suffix="."/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-note">+ <choose>+ <if type="article-journal">+ <group prefix=", ">+ <text term="volume" form="short" suffix=". " strip-periods="true"/>+ <text variable="volume" prefix=""/>+ </group>+ <group prefix=", ">+ <text term="issue" form="short" suffix=". " strip-periods="true"/>+ <text variable="issue"/>+ </group>+ </if>+ </choose>+ <choose>+ <if type="article-magazine">+ <group prefix=", ">+ <text term="volume" form="short" suffix=". " strip-periods="true"/>+ <text variable="volume" prefix=""/>+ </group>+ <group prefix=", ">+ <text term="issue" form="short" suffix=". " strip-periods="true"/>+ <text variable="issue"/>+ </group>+ </if>+ </choose>+ <choose>+ <if type="legal_case">+ <text variable="volume" prefix=", "/>+ <text variable="container-title" prefix=" "/>+ <text macro="pages"/>+ <text variable="locator" prefix=", "/>+ </if>+ </choose>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <group prefix=", " delimiter=", ">+ <group>+ <text term="volume" form="short" suffix=". " strip-periods="true"/>+ <text variable="volume"/>+ </group>+ <group>+ <text variable="number-of-volumes"/>+ <text term="volume" form="verb-short" prefix=" " suffix="" strip-periods="true"/>+ </group>+ <text macro="edition-note"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <group prefix=", ">+ <text term="volume" form="short" suffix=". " strip-periods="true"/>+ <text variable="volume" prefix=""/>+ </group>+ <group prefix=", ">+ <text term="issue" form="short" suffix=". " strip-periods="true"/>+ <text variable="issue"/>+ </group>+ </if>+ </choose>+ <choose>+ <if type="article-magazine">+ <group prefix=", ">+ <text term="volume" form="short" suffix=". " strip-periods="true"/>+ <text variable="volume" prefix=""/>+ </group>+ <group prefix=", ">+ <text term="issue" form="short" suffix=". " strip-periods="true"/>+ <text variable="issue"/>+ </group>+ </if>+ <else-if type="legal_case">+ <text variable="volume" prefix=", "/>+ <text variable="container-title" prefix=" "/>+ <text macro="pages"/>+ </else-if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <group prefix=", " delimiter=", ">+ <group>+ <text term="volume" form="short" text-case="lowercase" suffix=". " strip-periods="true"/>+ <text variable="volume"/>+ </group>+ <group>+ <text variable="number-of-volumes"/>+ <text term="volume" form="verb-short" prefix=" " suffix="" strip-periods="true"/>+ </group>+ <text macro="edition"/>+ </group>+ </else-if>+ <else-if type="chapter paper-conference" match="any">+ <group prefix=", " delimiter=", ">+ <group>+ <text term="volume" form="short" suffix=". " strip-periods="true"/>+ <text variable="volume"/>+ </group>+ <group>+ <text variable="number-of-volumes"/>+ <text term="volume" form="verb-short" prefix=" " suffix="" strip-periods="true"/>+ </group>+ <text macro="edition-note"/>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-newspaper">+ <choose>+ <if type="article-newspaper">+ <group delimiter=", ">+ <group>+ <text variable="edition" suffix=" "/>+ <text term="edition" prefix=" "/>+ </group>+ <group>+ <text term="section" form="short" suffix=". " strip-periods="true"/>+ <text variable="section"/>+ </group>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="event">+ <group>+ <text term="presented at" suffix=" "/>+ <text variable="event"/>+ </group>+ </macro>+ <macro name="publisher">+ <group prefix=", " delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </macro>+ <macro name="issued">+ <choose>+ <if variable="issued">+ <choose>+ <if type="article-journal" match="any">+ <group prefix="(" suffix=")">+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ </group>+ </if>+ <else-if type="graphic report" match="any">+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" form="short" suffix=" " strip-periods="true"/>+ <date-part name="year"/>+ </date>+ </else-if>+ <else-if type="legal_case">+ <text variable="authority" suffix=" "/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </else-if>+ <else-if type="bill book graphic legal_case motion_picture report song thesis chapter paper-conference" match="any">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </else-if>+ <else>+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" form="short" suffix=" " strip-periods="true"/>+ <date-part name="year"/>+ </date>+ </else>+ </choose>+ </if>+ <else>+ <text term="no date"/>+ </else>+ </choose>+ </macro>+ <macro name="point-locators-subsequent">+ <group>+ <choose>+ <if locator="page" match="all">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <choose>+ <if variable="volume">+ <group>+ <text term="volume" form="short" text-case="lowercase" suffix=". " strip-periods="true"/>+ <text variable="volume" suffix=", "/>+ </group>+ </if>+ </choose>+ </if>+ </choose>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <group>+ <text term="volume" form="short" text-case="lowercase" suffix=". " strip-periods="true"/>+ <text variable="volume" suffix="."/>+ </group>+ </else-if>+ </choose>+ <group>+ <label variable="locator" form="short" suffix=" "/>+ <text variable="locator"/>+ </group>+ </group>+ </macro>+ <macro name="point-locators">+ <choose>+ <if variable="locator" match="none">+ <text macro="pages"/>+ </if>+ <else-if type="article-journal">+ <text variable="locator" prefix=": "/>+ </else-if>+ <else-if type="legal_case"/>+ <else>+ <group prefix=", ">+ <choose>+ <if locator="page" match="all">+ <label variable="locator" form="short" suffix=" "/>+ </if>+ </choose>+ <text variable="locator"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="pages">+ <label variable="page" form="short" prefix=", " suffix=" "/>+ <text variable="page"/>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter paper-conference" match="any">+ <choose>+ <if variable="page">+ <text macro="pages"/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-journal">+ <choose>+ <if type="article-journal">+ <text macro="pages"/>+ </if>+ </choose>+ <choose>+ <if type="article-newspaper">+ <text macro="pages"/>+ </if>+ </choose>+ <choose>+ <if type="article-magazine">+ <text macro="pages"/>+ </if>+ </choose>+ </macro>+ <macro name="archive-note">+ <group delimiter=", ">+ <text variable="archive_location"/>+ <text variable="archive"/>+ <text variable="archive-place"/>+ </group>+ </macro>+ <macro name="archive">+ <group delimiter=". ">+ <text variable="archive_location" text-case="lowercase"/>+ <text variable="archive"/>+ <text variable="archive-place"/>+ </group>+ </macro>+ <macro name="issue-note">+ <choose>+ <if type="article-journal legal_case" match="any">+ <text macro="issued" prefix=" " suffix=""/>+ </if>+ </choose>+ <choose>+ <if type="article-newspaper" match="any">+ <text variable="publisher-place" prefix=" " suffix=""/>+ <text macro="issued" prefix=", " suffix=""/>+ </if>+ <else-if variable="publisher-place publisher" match="any">+ <group prefix="" suffix="" delimiter="">+ <group delimiter=" ">+ <choose>+ <if variable="title" match="none"/>+ <else-if type="thesis speech" match="any">+ <text variable="genre" prefix=", "/>+ </else-if>+ </choose>+ <text macro="event"/>+ </group>+ <text macro="publisher"/>+ <text macro="issued" prefix=" " suffix=""/>+ </group>+ </else-if>+ <else>+ <text macro="issued" prefix=", "/>+ </else>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="article-journal legal_case" match="any">+ <text macro="issued" prefix=" " suffix=""/>+ </if>+ </choose>+ <choose>+ <if type="article-newspaper" match="any">+ <text variable="publisher-place" prefix=" " suffix=""/>+ <text macro="issued" prefix=", " suffix=""/>+ </if>+ <else-if type="speech">+ <choose>+ <if variable="title" match="none"/>+ <else>+ <text variable="genre" text-case="lowercase" prefix=". "/>+ </else>+ </choose>+ <text macro="event" prefix=" "/>+ <text variable="event-place" prefix=", "/>+ <text macro="issued" prefix=", "/>+ </else-if>+ <else-if variable="publisher-place publisher" match="any">+ <group prefix="" delimiter="">+ <choose>+ <if type="thesis">+ <text variable="genre" prefix=", "/>+ </if>+ </choose>+ <text macro="publisher" suffix=" "/>+ <text macro="issued" suffix=""/>+ </group>+ </else-if>+ <else>+ <text macro="issued" prefix=", "/>+ </else>+ </choose>+ </macro>+ <macro name="access-note">+ <group delimiter=", ">+ <choose>+ <if type="graphic report" match="any">+ <text macro="archive-note" prefix=", "/>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song article-journal article-magazine article-newspaper thesis chapter paper-conference" match="none">+ <text macro="archive-note" prefix=", "/>+ </else-if>+ </choose>+ </group>+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix=" <doi:" suffix=">"/>+ </if>+ <else>+ <group prefix=" [" suffix="]">+ <text term="online"/>+ <text variable="URL" prefix=": "/>+ <date variable="accessed">+ <date-part name="day" prefix=" ("/>+ <date-part name="month" form="numeric" prefix="/"/>+ <date-part name="year" prefix="/" suffix=")"/>+ </date>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="access">+ <group delimiter=", ">+ <choose>+ <if type="graphic report" match="any">+ <text macro="archive-note" prefix=", "/>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song article-journal article-magazine article-newspaper thesis chapter paper-conference" match="none">+ <text macro="archive-note" prefix=", "/>+ </else-if>+ </choose>+ </group>+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix=" <doi:" suffix=">"/>+ </if>+ <else>+ <group prefix=" [" suffix="]">+ <text term="online"/>+ <text variable="URL" prefix=": "/>+ <date variable="accessed">+ <date-part name="day" prefix=" ("/>+ <date-part name="month" form="numeric" prefix="/"/>+ <date-part name="year" prefix="/" suffix=")"/>+ </date>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="sort-key">+ <text macro="contributors-sort" suffix=" "/>+ <text variable="title" suffix=" "/>+ <text variable="genre"/>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" et-al-subsequent-min="4" et-al-subsequent-use-first="1" disambiguate-add-names="true">+ <layout prefix="" suffix="." delimiter=". ">+ <choose>+ <if position="ibid-with-locator">+ <group delimiter=", ">+ <text term="ibid"/>+ <text macro="point-locators-subsequent"/>+ </group>+ </if>+ <else-if position="ibid">+ <text term="ibid"/>+ </else-if>+ <else-if position="subsequent">+ <group delimiter=", ">+ <text macro="contributors-short"/>+ <text macro="title-short"/>+ <text macro="point-locators-subsequent"/>+ </group>+ </else-if>+ <else>+ <group delimiter=", ">+ <text macro="contributors-note"/>+ <text macro="title-note"/>+ <text macro="description-note"/>+ <text macro="secondary-contributors-note"/>+ <text macro="container-title-note"/>+ <text macro="container-contributors-note"/>+ </group>+ <text macro="locators-note"/>+ <text macro="collection-title" prefix=", "/>+ <text macro="issue-note"/>+ <text macro="locators-newspaper" prefix=", "/>+ <text macro="point-locators"/>+ <text macro="access-note"/>+ </else>+ </choose>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="11" et-al-use-first="7" subsequent-author-substitute="β��β��β��" entry-spacing="0">+ <sort>+ <key macro="sort-key"/>+ <key variable="issued"/>+ </sort>+ <layout suffix=".">+ <group delimiter=", ">+ <text macro="contributors"/>+ <text macro="title"/>+ <text macro="description"/>+ <text macro="secondary-contributors"/>+ <group delimiter=", ">+ <text macro="container-title"/>+ <text macro="container-contributors"/>+ </group>+ </group>+ <text macro="locators"/>+ <text macro="collection-title" prefix=". "/>+ <text macro="issue"/>+ <text macro="locators-chapter"/>+ <text macro="locators-newspaper" prefix=", "/>+ <text macro="locators-journal"/>+ <text macro="access"/>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Άγρας",+ "given": "Τέλλος"+ }+ ],+ "container-author": [+ {+ "family": "Καρυωτάκης",+ "given": "Κώστας"+ }+ ],+ "container-title": "Ποιήματα και πεζά",+ "editor": [+ {+ "family": "Σαββίδης",+ "given": "Γ. Π."+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1998"+ ]+ ]+ },+ "title": "Ο Καρυωτάκης και οι Σάτιρες",+ "translator": [+ {+ "family": "Dimitriadis",+ "given": "Andreas"+ }+ ],+ "type": "chapter"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_GreekStyleTwoEditors.txt view
@@ -0,0 +1,1243 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Τέλλος Άγρας, «Ο Καρυωτάκης και οι Σάτιρες», στο: Γ. Π. Σαββίδης και Κώστας Καρυωτάκης (επιμ.), <i>Ποιήματα και πεζά</i>, μτφ. Andreas Dimitriadis, 1998.+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" default-locale="el" version="1.0">+ <info>+ <title>Greek (Full Note with Bibliography) g2</title>+ <id>http://www.zotero.org/styles/gr2</id>+ <link href="http://www.zotero.org/styles/gr2" rel="self"/>+ <author>+ <name>A.D.</name>+ </author>+ <summary>Greek based on Chicago format with full notes and bibliography</summary>+ <category field="generic-base"/>+ <category citation-format="note"/>+ <updated>2010-11-04T20:22:16+00:00</updated>+ </info>+ <locale xml:lang="el">+ <terms>+ <term name="accessed">ημερομηνία πρόσβασης</term>+ <term name="and">και</term>+ <term name="and others">και άλλοι</term>+ <term name="anonymous">ανώνυμο</term>+ <term name="anonymous" form="short">ανών</term>+ <term name="at">εφ</term>+ <term name="by">του</term>+ <term name="circa">περίπου</term>+ <term name="circa" form="short">περ</term>+ <term name="cited">παρατίθεται</term>+ <term name="edition">+ <single>έκδοση</single>+ <multiple>εκδόσεις</multiple>+ </term>+ <term name="edition" form="short">έκδ</term>+ <term name="et-al">κ.ά.</term>+ <term name="forthcoming">προσεχές</term>+ <term name="from">από</term>+ <term name="ibid">Στο ίδιο</term>+ <term name="in">στο</term>+ <term name="in press">υπό έκδοση</term>+ <term name="internet">διαδίκτυο</term>+ <term name="interview">συνέντευξη</term>+ <term name="letter">επιστολή</term>+ <term name="no date">χωρίς χρονολογία</term>+ <term name="no date" form="short">χ.χ.</term>+ <term name="online">έκδοση σε ψηφιακή μορφή</term>+ <term name="presented at">παρουσιάστηκε στο</term>+ <term name="reference">+ <single>αναφορά</single>+ <multiple>αναφορές</multiple>+ </term>+ <term name="reference" form="short">+ <single>αναφ</single>+ <multiple>αναφ</multiple>+ </term>+ <term name="retrieved">ανακτήθηκε</term>+ <term name="ad">μ.Χ.</term>+ <term name="bc">π.Χ.</term>+ <term name="open-quote"/>+ <term name="close-quote"/>+ <term name="open-inner-quote"/>+ <term name="close-inner-quote"/>+ <term name="ordinal-01">ος</term>+ <term name="ordinal-02">ος</term>+ <term name="ordinal-03">ος</term>+ <term name="ordinal-04">ος</term>+ <term name="long-ordinal-01">πρώτος</term>+ <term name="long-ordinal-02">δεύτερος</term>+ <term name="long-ordinal-03">τρίτος</term>+ <term name="long-ordinal-04">τέταρτος</term>+ <term name="long-ordinal-05">πέμπτος</term>+ <term name="long-ordinal-06">έκτος</term>+ <term name="long-ordinal-07">έβδομος</term>+ <term name="long-ordinal-08">όγδοος</term>+ <term name="long-ordinal-09">ένατος</term>+ <term name="long-ordinal-10">δέκατος</term>+ <term name="anthropology">ανθρωπολογία</term>+ <term name="astronomy">αστρονομία</term>+ <term name="biology">βιολογία</term>+ <term name="botany">βοτανική</term>+ <term name="chemistry">χημεία</term>+ <term name="engineering">μηχανική</term>+ <term name="generic-base">γενική βάση</term>+ <term name="geography">γεωγραφία</term>+ <term name="geology">γεωλογία</term>+ <term name="history">ιστορία</term>+ <term name="humanities">ανθρωπιστικές σπουδές</term>+ <term name="literature">λογοτεχνία</term>+ <term name="math">μαθηματικά</term>+ <term name="medicine">ιατρική</term>+ <term name="philosophy">φιλοσοφία</term>+ <term name="physics">φυσική</term>+ <term name="psychology">ψυχολογία</term>+ <term name="sociology">κοινωνιολογία</term>+ <term name="science">θετικές επιστήμες</term>+ <term name="political_science">πολιτικές επιστήμες</term>+ <term name="social_science">κοινωνικές επιστήμες</term>+ <term name="theology">θεολογία</term>+ <term name="zoology">ζωολογία</term>+ <term name="book">+ <single>βιβλίο</single>+ <multiple>βιβλίο</multiple>+ </term>+ <term name="chapter">+ <single>κεφάλαιο</single>+ <multiple>κεφάλαια</multiple>+ </term>+ <term name="column">+ <single>στήλη</single>+ <multiple>στήλες</multiple>+ </term>+ <term name="figure">+ <single>εικόνα</single>+ <multiple>εικόνες</multiple>+ </term>+ <term name="folio">+ <single>φάκελος</single>+ <multiple>φάκελοι</multiple>+ </term>+ <term name="issue">+ <single>τεύχος</single>+ <multiple>τεύχη</multiple>+ </term>+ <term name="line">+ <single>σειρά</single>+ <multiple>σειρές</multiple>+ </term>+ <term name="note">+ <single>σημείωση</single>+ <multiple>σημειώσεις</multiple>+ </term>+ <term name="opus">+ <single>έργο</single>+ <multiple>έργα</multiple>+ </term>+ <term name="page">+ <single>σελίδα</single>+ <multiple>σελίδες</multiple>+ </term>+ <term name="paragraph">+ <single>παράγραφος</single>+ <multiple>παράγραφοι</multiple>+ </term>+ <term name="part">+ <single>μέρος</single>+ <multiple>μέρη</multiple>+ </term>+ <term name="section">+ <single>τμήμα</single>+ <multiple>τμήματα</multiple>+ </term>+ <term name="sub verbo">+ <single>λήμμα</single>+ <multiple>λήμματα</multiple>+ </term>+ <term name="verse">+ <single>στίχος</single>+ <multiple>στίχοι</multiple>+ </term>+ <term name="volume">+ <single>τόμος</single>+ <multiple>τόμοι</multiple>+ </term>+ <term name="book" form="short">βιβ</term>+ <term name="chapter" form="short">κεφ</term>+ <term name="column" form="short">στ</term>+ <term name="figure" form="short">εικ</term>+ <term name="folio" form="short">φακ</term>+ <term name="issue" form="short">τχ</term>+ <term name="opus" form="short">έργ</term>+ <term name="page" form="short">+ <single>σ</single>+ <multiple>σσ</multiple>+ </term>+ <term name="paragraph" form="short">παρ</term>+ <term name="part" form="short">μερ</term>+ <term name="section" form="short">τμ</term>+ <term name="sub verbo" form="short">+ <single>λήμ</single>+ <multiple>λήμ</multiple>+ </term>+ <term name="verse" form="short">+ <single>στ</single>+ <multiple>στ</multiple>+ </term>+ <term name="volume" form="short">+ <single>τμ</single>+ <multiple>τμ</multiple>+ </term>+ <term name="paragraph" form="symbol">+ <single>ΒΆ</single>+ <multiple>ΒΆΒΆ</multiple>+ </term>+ <term name="section" form="symbol">+ <single/>+ <multiple/>+ </term>+ <term name="author">+ <single/>+ <multiple/>+ </term>+ <term name="editor">+ <single>επιμελητής</single>+ <multiple>επιμελητές</multiple>+ </term>+ <term name="editorial-director">+ <single>γενική εποπτεία</single>+ <multiple>γενική εποπτεία</multiple>+ </term>+ <term name="translator">+ <single>μεταφραστής</single>+ <multiple>μεταφραστές</multiple>+ </term>+ <term name="editortranslator">+ <single>μετάφραση και επιμέλεια</single>+ <multiple>μετάφραση και επιμέλεια</multiple>+ </term>+ <term name="author" form="short">+ <single/>+ <multiple/>+ </term>+ <term name="editor" form="short">+ <single>επιμ</single>+ <multiple>επιμ</multiple>+ </term>+ <term name="editorial-director" form="short">+ <single>γεν. επ</single>+ <multiple>γεν. επ</multiple>+ </term>+ <term name="translator" form="short">+ <single>μτφ</single>+ <multiple>μτφ</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>μτφ. και επιμ</single>+ <multiple>μτφ. και επιμ</multiple>+ </term>+ <term name="editor" form="verb">επιμ</term>+ <term name="editorial-director" form="verb">γεν επ</term>+ <term name="translator" form="verb">μτφ</term>+ <term name="editortranslator" form="verb">μτφ. και επιμ</term>+ <term name="recipient" form="verb">στο</term>+ <term name="interviewer" form="verb">συνέντευξη</term>+ <term name="container-author" form="verb-short"></term>+ <term name="editor" form="verb-short">επιμ</term>+ <term name="editorial-director" form="verb-short">γεν. επ</term>+ <term name="translator" form="verb-short">μτφ</term>+ <term name="editortranslator" form="verb-short">μτφ. και επιμ</term>+ <term name="month-01">Ιανουάριος</term>+ <term name="month-02">Φεβρουάριος</term>+ <term name="month-03">Μάρτιος</term>+ <term name="month-04">Απρίλιος</term>+ <term name="month-05">Μάιος</term>+ <term name="month-06">Ιούνιος</term>+ <term name="month-07">Ιούλιος</term>+ <term name="month-08">Αύγουστος</term>+ <term name="month-09">Σεπτέμβριος</term>+ <term name="month-10">Οκτώβριος</term>+ <term name="month-11">Νοέμβριος</term>+ <term name="month-12">Δεκέμβριος</term>+ <term name="month-01" form="short">Ιανουαρίου</term>+ <term name="month-02" form="short">Φεβρουαρίου</term>+ <term name="month-03" form="short">Μαρτίου</term>+ <term name="month-04" form="short">Απριλίου</term>+ <term name="month-05" form="short">Μαΐου</term>+ <term name="month-06" form="short">Ιουνίου</term>+ <term name="month-07" form="short">Ιουλίου</term>+ <term name="month-08" form="short">Αυγούστου</term>+ <term name="month-09" form="short">Σεπτεμβρίου</term>+ <term name="month-10" form="short">Οκτωβρίου</term>+ <term name="month-11" form="short">Νοεμβρίου</term>+ <term name="month-12" form="short">Δεκεμβρίου</term>+ <term name="season-01">Άνοιξη</term>+ <term name="season-02">Καλοκαίρι</term>+ <term name="season-03">Φθινόπωρο</term>+ <term name="season-04">Χειμώνας</term>+ </terms>+<date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ </locale>+ <macro name="editor-translator">+ <group delimiter=", ">+ <choose>+ <if variable="container-author" match="any">+ <names variable="translator" delimiter=", ">+ <label form="verb-short" text-case="lowercase" suffix=". " strip-periods="true"/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ <else-if variable="author">+ <names variable="translator" delimiter=", ">+ <label form="verb-short" text-case="lowercase" suffix=". " strip-periods="true"/>+ <name and="text" delimiter=", "/>+ </names>+ </else-if>+ </choose>+ <choose>+ <if variable="container-author" match="none"/>+ <else-if variable="author" match="any">+ <names variable="editor" delimiter=", ">+ <label form="verb-short" text-case="lowercase" suffix=". " strip-periods="true"/>+ <name and="text" delimiter=", "/>+ </names>+ </else-if>+ </choose>+ </group>+ </macro>+ <macro name="secondary-contributors-note">+ <choose>+ <if type="chapter paper-conference" match="none">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <names variable="translator" delimiter=". ">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ </choose>+ <choose>+ <if variable="author translator" match="any">+ <names variable="editor" delimiter=". ">+ <label form="verb-short" text-case="lowercase" suffix=". " strip-periods="true"/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors-note">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text macro="editor-translator"/>+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if type="chapter paper-conference" match="none">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <names variable="translator" delimiter=". ">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ </choose>+ <choose>+ <if variable="author translator" match="any">+ <names variable="editor" delimiter=". ">+ <label form="verb-short" text-case="lowercase" suffix=". " strip-periods="true"/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text macro="editor-translator"/>+ </if>+ </choose>+ </macro>+ <macro name="editor-note">+ <names variable="editor">+ <name and="text" sort-separator=", " delimiter=", "/>+ <label form="verb-short" prefix=" (" suffix=".)" strip-periods="true"/>+ </names>+ </macro>+ <macro name="translator-note">+ <names variable="translator">+ <name and="text" sort-separator=", " delimiter=", "/>+ <label form="verb-short" prefix=", " suffix="." strip-periods="true"/>+ </names>+ </macro>+ <macro name="recipient-note">+ <names variable="recipient" delimiter=", ">+ <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="contributors-note">+ <names variable="author">+ <name and="text" sort-separator=", " delimiter=", "/>+ <substitute>+ <text macro="editor-note"/>+ <text macro="translator-note"/>+ </substitute>+ </names>+ <text macro="recipient-note"/>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name name-as-sort-order="first" and="text" sort-separator=" " delimiter=", " delimiter-precedes-last="never"/>+ <label form="verb-short" prefix=" (" suffix=".)" strip-periods="true"/>+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="never"/>+ <label form="verb-short" prefix=", " suffix="." strip-periods="true"/>+ </names>+ </macro>+ <macro name="recipient">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text variable="genre" text-case="lowercase"/>+ </if>+ <else>+ <text term="letter" text-case="lowercase"/>+ </else>+ </choose>+ </if>+ </choose>+ <text macro="recipient-note" prefix=" "/>+ </macro>+ <macro name="contributors">+ <names variable="author">+ <name name-as-sort-order="first" and="text" sort-separator=" " delimiter=", " delimiter-precedes-last="never"/>+ <substitute>+ <text macro="editor"/>+ <text macro="translator"/>+ </substitute>+ </names>+ <text macro="recipient" prefix=". "/>+ </macro>+ <macro name="recipient-short">+ <names variable="recipient">+ <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>+ <name form="short" and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ <text macro="recipient-short"/>+ </macro>+ <macro name="contributors-sort">+ <names variable="author">+ <name name-as-sort-order="all" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="never"/>+ <label form="verb-short" prefix=", " suffix="." strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ </macro>+ <macro name="interviewer-note">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="interviewer">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="title-note">+ <choose>+ <if variable="title" match="none">+ <text variable="genre"/>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </else-if>+ <else-if type="entry-encyclopedia">+ <choose>+ <if variable="author">+ <text variable="title" prefix="«" suffix="»"/>+<text term="sub verbo" text-case="lowercase" prefix=" (" suffix=")"/>+ </if>+ <else>+ <text variable="title" prefix="«" suffix="»"/>+ <text term="sub verbo" text-case="lowercase" prefix=" (" suffix=")"/>+ </else>+ </choose>+ </else-if>+ <else-if type="entry-dictionary">+ <choose>+ <if variable="author">+ <text variable="title" prefix="«" suffix="»"/>+<text term="sub verbo" text-case="lowercase" prefix=" (" suffix=")"/>+ </if>+ <else>+ <text variable="title" prefix="«" suffix="»"/>+ <text term="sub verbo" text-case="lowercase" prefix=" (" suffix=")"/>+ </else>+ </choose>+ </else-if>+ <else>+ <text variable="title" prefix="«" suffix="»"/>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if variable="title" match="none">+ <choose>+ <if type="personal_communication" match="none">+ <text variable="genre" text-case="lowercase"/>+ </if>+ </choose>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </else-if>+ <else-if type="entry-encyclopedia">+ <choose>+ <if variable="author">+ <text variable="title" prefix="«" suffix="»"/>+<text term="sub verbo" text-case="lowercase" prefix=" (" suffix=")"/>+ </if>+ <else>+ <text variable="title" prefix="«" suffix="»"/>+ <text term="sub verbo" text-case="lowercase" prefix=" (" suffix=")"/>+ </else>+ </choose>+ </else-if>+ <else-if type="entry-dictionary">+ <choose>+ <if variable="author">+ <text variable="title" prefix="«" suffix="»"/>+<text term="sub verbo" text-case="lowercase" prefix=" (" suffix=")"/>+ </if>+ <else>+ <text variable="title" prefix="«" suffix="»"/>+ <text term="sub verbo" text-case="lowercase" prefix=" (" suffix=")"/>+ </else>+ </choose>+ </else-if>+ <else>+ <text variable="title" prefix="«" suffix="»"/>+ </else>+ </choose>+ </macro>+ <macro name="title-short">+ <choose>+ <if variable="title" match="none">+ <choose>+ <if type="interview">+ <text term="interview" text-case="lowercase"/>+ </if>+ <else-if type="manuscript speech" match="any">+ <text variable="genre" form="short"/>+ </else-if>+ <else-if type="personal_communication">+ <text macro="issued"/>+ </else-if>+ </choose>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" form="short" font-style="italic"/>+ </else-if>+ <else>+ <text variable="title" form="short" prefix="" suffix=""/>+ </else>+ </choose>+ </macro>+ <macro name="description-note">+ <group delimiter=", ">+ <text macro="interviewer-note"/>+ <text variable="medium"/>+ <choose>+ <if variable="title" match="none"/>+ <else-if type="thesis speech" match="any"/>+ <else>+ <text variable="genre"/>+ </else>+ </choose>+ </group>+ </macro>+ <macro name="description">+ <group delimiter=", ">+ <group delimiter=". ">+ <text macro="interviewer"/>+ <text variable="medium" text-case="lowercase"/>+ </group>+ <choose>+ <if variable="title" match="none"/>+ <else-if type="thesis speech" match="any"/>+ <else>+ <text variable="genre" text-case="lowercase"/>+ </else>+ </choose>+ </group>+ </macro>+ <macro name="container-title-note">+ <choose>+ <if type="article-newspaper">+ <text term="at" text-case="lowercase" suffix=". "/>+ </if>+ </choose>+ <choose>+ <if variable="container-author">+ <text term="in" text-case="lowercase" suffix=": "/>+ <group suffix=", ">+ <names variable="container-author">+ <label form="verb-short" prefix=" " text-case="lowercase" suffix=" " strip-periods="true"/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </if>+ <else-if type="entry-encyclopedia" match="any">+ </else-if>+ <else-if type="entry-dictionary" match="any">+ </else-if>+ <else-if type="chapter paper-conference" match="any">+ <text term="in" suffix=": "/>+ <names variable="editor" delimiter=", " suffix=", ">+ <name and="text" delimiter=", "/>+ <label form="short" prefix=" (" suffix=".)" strip-periods="true"/>+ </names>+ </else-if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <text variable="container-title" font-style="italic"/>+ </if>+ </choose>+ </macro>+ <macro name="container-title">+ <choose>+ <if type="article-newspaper">+ <text term="at" text-case="lowercase" suffix=". "/>+ </if>+ </choose>+ <choose>+ <if variable="container-author">+ <text term="in" text-case="lowercase" suffix=": "/>+ <group suffix=", ">+ <names variable="container-author">+ <label form="verb-short" prefix=" " text-case="lowercase" suffix=" " strip-periods="true"/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </if>+ <else-if type="entry-encyclopedia" match="any">+ </else-if>+ <else-if type="entry-dictionary" match="any">+ </else-if>+ <else-if type="chapter paper-conference" match="any">+ <text term="in" suffix=": "/>+ <names variable="editor" delimiter=", " suffix=", ">+ <name and="text" delimiter=", "/>+ <label form="short" prefix=" (" suffix=".)" strip-periods="true"/>+ </names>+ </else-if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <text variable="container-title" font-style="italic"/>+ </if>+ </choose>+ </macro>+ <macro name="collection-title">+ <text variable="collection-title"/>+ <text variable="collection-number" prefix=" "/>+ </macro>+ <macro name="edition-note">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <text variable="edition"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <text variable="edition"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" text-case="lowercase" suffix="."/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-note">+ <choose>+ <if type="article-journal">+ <group prefix=", ">+ <text term="volume" form="short" suffix=". " strip-periods="true"/>+ <text variable="volume" prefix=""/>+ </group>+ <group prefix=", ">+ <text term="issue" form="short" suffix=". " strip-periods="true"/>+ <text variable="issue"/>+ </group>+ </if>+ </choose>+ <choose>+ <if type="article-magazine">+ <group prefix=", ">+ <text term="volume" form="short" suffix=". " strip-periods="true"/>+ <text variable="volume" prefix=""/>+ </group>+ <group prefix=", ">+ <text term="issue" form="short" suffix=". " strip-periods="true"/>+ <text variable="issue"/>+ </group>+ </if>+ </choose>+ <choose>+ <if type="legal_case">+ <text variable="volume" prefix=", "/>+ <text variable="container-title" prefix=" "/>+ <text macro="pages"/>+ <text variable="locator" prefix=", "/>+ </if>+ </choose>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <group prefix=", " delimiter=", ">+ <group>+ <text term="volume" form="short" suffix=". " strip-periods="true"/>+ <text variable="volume"/>+ </group>+ <group>+ <text variable="number-of-volumes"/>+ <text term="volume" form="verb-short" prefix=" " suffix="" strip-periods="true"/>+ </group>+ <text macro="edition-note"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <group prefix=", ">+ <text term="volume" form="short" suffix=". " strip-periods="true"/>+ <text variable="volume" prefix=""/>+ </group>+ <group prefix=", ">+ <text term="issue" form="short" suffix=". " strip-periods="true"/>+ <text variable="issue"/>+ </group>+ </if>+ </choose>+ <choose>+ <if type="article-magazine">+ <group prefix=", ">+ <text term="volume" form="short" suffix=". " strip-periods="true"/>+ <text variable="volume" prefix=""/>+ </group>+ <group prefix=", ">+ <text term="issue" form="short" suffix=". " strip-periods="true"/>+ <text variable="issue"/>+ </group>+ </if>+ <else-if type="legal_case">+ <text variable="volume" prefix=", "/>+ <text variable="container-title" prefix=" "/>+ <text macro="pages"/>+ </else-if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <group prefix=", " delimiter=", ">+ <group>+ <text term="volume" form="short" text-case="lowercase" suffix=". " strip-periods="true"/>+ <text variable="volume"/>+ </group>+ <group>+ <text variable="number-of-volumes"/>+ <text term="volume" form="verb-short" prefix=" " suffix="" strip-periods="true"/>+ </group>+ <text macro="edition"/>+ </group>+ </else-if>+ <else-if type="chapter paper-conference" match="any">+ <group prefix=", " delimiter=", ">+ <group>+ <text term="volume" form="short" suffix=". " strip-periods="true"/>+ <text variable="volume"/>+ </group>+ <group>+ <text variable="number-of-volumes"/>+ <text term="volume" form="verb-short" prefix=" " suffix="" strip-periods="true"/>+ </group>+ <text macro="edition-note"/>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-newspaper">+ <choose>+ <if type="article-newspaper">+ <group delimiter=", ">+ <group>+ <text variable="edition" suffix=" "/>+ <text term="edition" prefix=" "/>+ </group>+ <group>+ <text term="section" form="short" suffix=". " strip-periods="true"/>+ <text variable="section"/>+ </group>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="event">+ <group>+ <text term="presented at" suffix=" "/>+ <text variable="event"/>+ </group>+ </macro>+ <macro name="publisher">+ <group prefix=", " delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </macro>+ <macro name="issued">+ <choose>+ <if variable="issued">+ <choose>+ <if type="article-journal" match="any">+ <group prefix="(" suffix=")">+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ </group>+ </if>+ <else-if type="graphic report" match="any">+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" form="short" suffix=" " strip-periods="true"/>+ <date-part name="year"/>+ </date>+ </else-if>+ <else-if type="legal_case">+ <text variable="authority" suffix=" "/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </else-if>+ <else-if type="bill book graphic legal_case motion_picture report song thesis chapter paper-conference" match="any">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </else-if>+ <else>+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" form="short" suffix=" " strip-periods="true"/>+ <date-part name="year"/>+ </date>+ </else>+ </choose>+ </if>+ <else>+ <text term="no date"/>+ </else>+ </choose>+ </macro>+ <macro name="point-locators-subsequent">+ <group>+ <choose>+ <if locator="page" match="all">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <choose>+ <if variable="volume">+ <group>+ <text term="volume" form="short" text-case="lowercase" suffix=". " strip-periods="true"/>+ <text variable="volume" suffix=", "/>+ </group>+ </if>+ </choose>+ </if>+ </choose>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <group>+ <text term="volume" form="short" text-case="lowercase" suffix=". " strip-periods="true"/>+ <text variable="volume" suffix="."/>+ </group>+ </else-if>+ </choose>+ <group>+ <label variable="locator" form="short" suffix=" "/>+ <text variable="locator"/>+ </group>+ </group>+ </macro>+ <macro name="point-locators">+ <choose>+ <if variable="locator" match="none">+ <text macro="pages"/>+ </if>+ <else-if type="article-journal">+ <text variable="locator" prefix=": "/>+ </else-if>+ <else-if type="legal_case"/>+ <else>+ <group prefix=", ">+ <choose>+ <if locator="page" match="all">+ <label variable="locator" form="short" suffix=" "/>+ </if>+ </choose>+ <text variable="locator"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="pages">+ <label variable="page" form="short" prefix=", " suffix=" "/>+ <text variable="page"/>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter paper-conference" match="any">+ <choose>+ <if variable="page">+ <text macro="pages"/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-journal">+ <choose>+ <if type="article-journal">+ <text macro="pages"/>+ </if>+ </choose>+ <choose>+ <if type="article-newspaper">+ <text macro="pages"/>+ </if>+ </choose>+ <choose>+ <if type="article-magazine">+ <text macro="pages"/>+ </if>+ </choose>+ </macro>+ <macro name="archive-note">+ <group delimiter=", ">+ <text variable="archive_location"/>+ <text variable="archive"/>+ <text variable="archive-place"/>+ </group>+ </macro>+ <macro name="archive">+ <group delimiter=". ">+ <text variable="archive_location" text-case="lowercase"/>+ <text variable="archive"/>+ <text variable="archive-place"/>+ </group>+ </macro>+ <macro name="issue-note">+ <choose>+ <if type="article-journal legal_case" match="any">+ <text macro="issued" prefix=" " suffix=""/>+ </if>+ </choose>+ <choose>+ <if type="article-newspaper" match="any">+ <text variable="publisher-place" prefix=" " suffix=""/>+ <text macro="issued" prefix=", " suffix=""/>+ </if>+ <else-if variable="publisher-place publisher" match="any">+ <group prefix="" suffix="" delimiter="">+ <group delimiter=" ">+ <choose>+ <if variable="title" match="none"/>+ <else-if type="thesis speech" match="any">+ <text variable="genre" prefix=", "/>+ </else-if>+ </choose>+ <text macro="event"/>+ </group>+ <text macro="publisher"/>+ <text macro="issued" prefix=" " suffix=""/>+ </group>+ </else-if>+ <else>+ <text macro="issued" prefix=", "/>+ </else>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="article-journal legal_case" match="any">+ <text macro="issued" prefix=" " suffix=""/>+ </if>+ </choose>+ <choose>+ <if type="article-newspaper" match="any">+ <text variable="publisher-place" prefix=" " suffix=""/>+ <text macro="issued" prefix=", " suffix=""/>+ </if>+ <else-if type="speech">+ <choose>+ <if variable="title" match="none"/>+ <else>+ <text variable="genre" text-case="lowercase" prefix=". "/>+ </else>+ </choose>+ <text macro="event" prefix=" "/>+ <text variable="event-place" prefix=", "/>+ <text macro="issued" prefix=", "/>+ </else-if>+ <else-if variable="publisher-place publisher" match="any">+ <group prefix="" delimiter="">+ <choose>+ <if type="thesis">+ <text variable="genre" prefix=", "/>+ </if>+ </choose>+ <text macro="publisher" suffix=" "/>+ <text macro="issued" suffix=""/>+ </group>+ </else-if>+ <else>+ <text macro="issued" prefix=", "/>+ </else>+ </choose>+ </macro>+ <macro name="access-note">+ <group delimiter=", ">+ <choose>+ <if type="graphic report" match="any">+ <text macro="archive-note" prefix=", "/>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song article-journal article-magazine article-newspaper thesis chapter paper-conference" match="none">+ <text macro="archive-note" prefix=", "/>+ </else-if>+ </choose>+ </group>+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix=" <doi:" suffix=">"/>+ </if>+ <else>+ <group prefix=" [" suffix="]">+ <text term="online"/>+ <text variable="URL" prefix=": "/>+ <date variable="accessed">+ <date-part name="day" prefix=" ("/>+ <date-part name="month" form="numeric" prefix="/"/>+ <date-part name="year" prefix="/" suffix=")"/>+ </date>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="access">+ <group delimiter=", ">+ <choose>+ <if type="graphic report" match="any">+ <text macro="archive-note" prefix=", "/>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song article-journal article-magazine article-newspaper thesis chapter paper-conference" match="none">+ <text macro="archive-note" prefix=", "/>+ </else-if>+ </choose>+ </group>+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix=" <doi:" suffix=">"/>+ </if>+ <else>+ <group prefix=" [" suffix="]">+ <text term="online"/>+ <text variable="URL" prefix=": "/>+ <date variable="accessed">+ <date-part name="day" prefix=" ("/>+ <date-part name="month" form="numeric" prefix="/"/>+ <date-part name="year" prefix="/" suffix=")"/>+ </date>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="sort-key">+ <text macro="contributors-sort" suffix=" "/>+ <text variable="title" suffix=" "/>+ <text variable="genre"/>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" et-al-subsequent-min="4" et-al-subsequent-use-first="1" disambiguate-add-names="true">+ <layout prefix="" suffix="." delimiter=". ">+ <choose>+ <if position="ibid-with-locator">+ <group delimiter=", ">+ <text term="ibid"/>+ <text macro="point-locators-subsequent"/>+ </group>+ </if>+ <else-if position="ibid">+ <text term="ibid"/>+ </else-if>+ <else-if position="subsequent">+ <group delimiter=", ">+ <text macro="contributors-short"/>+ <text macro="title-short"/>+ <text macro="point-locators-subsequent"/>+ </group>+ </else-if>+ <else>+ <group delimiter=", ">+ <text macro="contributors-note"/>+ <text macro="title-note"/>+ <text macro="description-note"/>+ <text macro="secondary-contributors-note"/>+ <text macro="container-title-note"/>+ <text macro="container-contributors-note"/>+ </group>+ <text macro="locators-note"/>+ <text macro="collection-title" prefix=", "/>+ <text macro="issue-note"/>+ <text macro="locators-newspaper" prefix=", "/>+ <text macro="point-locators"/>+ <text macro="access-note"/>+ </else>+ </choose>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="11" et-al-use-first="7" subsequent-author-substitute="β��β��β��" entry-spacing="0">+ <sort>+ <key macro="sort-key"/>+ <key variable="issued"/>+ </sort>+ <layout suffix=".">+ <group delimiter=", ">+ <text macro="contributors"/>+ <text macro="title"/>+ <text macro="description"/>+ <text macro="secondary-contributors"/>+ <group delimiter=", ">+ <text macro="container-title"/>+ <text macro="container-contributors"/>+ </group>+ </group>+ <text macro="locators"/>+ <text macro="collection-title" prefix=". "/>+ <text macro="issue"/>+ <text macro="locators-chapter"/>+ <text macro="locators-newspaper" prefix=", "/>+ <text macro="locators-journal"/>+ <text macro="access"/>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Άγρας",+ "given": "Τέλλος"+ }+ ],+ "container-title": "Ποιήματα και πεζά",+ "editor": [+ {+ "family": "Σαββίδης",+ "given": "Γ. Π."+ },+ {+ "family": "Καρυωτάκης",+ "given": "Κώστας"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1998"+ ]+ ]+ },+ "title": "Ο Καρυωτάκης και οι Σάτιρες",+ "translator": [+ {+ "family": "Dimitriadis",+ "given": "Andreas"+ }+ ],+ "type": "chapter"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_IeeePunctuation.txt view
@@ -0,0 +1,179 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">+ <div class="csl-left-margin">[1]</div><div class="csl-right-inline"> P.G. Zimbardo, “Does Psychology make a significant difference in our lives?,” <i>American Psychologist</i>, vol. 59, Jan. 2004, pp. 339–351.</div>+ </div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>IEEE</title>+ <id>http://www.zotero.org/styles/ieee</id>+ <link href="http://www.zotero.org/styles/ieee" rel="self"/>+ <author>+ <name>Michael Berkowitz</name>+ <email>mberkowi@gmu.edu</email>+ </author>+ <contributor>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </contributor>+ <contributor>+ <name>Rintze Zelle</name>+ <uri>http://forums.zotero.org/account/831/</uri>+ </contributor>+ <category field="engineering"/>+ <category field="generic-base"/>+ <category citation-format="numeric"/>+ <updated>2010-02-06T06:35:40+00:00</updated>+ <link href="http://www.ieee.org/portal/cms_docs_iportals/iportals/publications/authors/transjnl/stylemanual.pdf" rel="documentation"/>+ </info>+ <macro name="author">+ <names variable="author">+ <name initialize-with="." delimiter=", " and="text"/>+ <label form="short" prefix=", " text-case="capitalize-first" suffix="." strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name initialize-with="." delimiter=", " and="text" name-as-sort-order="all"/>+ <label form="short" prefix=", " text-case="capitalize-first" suffix="." strip-periods="true"/>+ </names>+ </macro>+ <macro name="title">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else>+ <text variable="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <text variable="publisher-place" suffix=": " prefix=" "/>+ <text variable="publisher" suffix=", "/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </macro>+ <macro name="access">+ <text variable="URL"/>+ </macro>+ <macro name="page">+ <group>+ <label variable="page" form="short" suffix=". " strip-periods="true"/>+ <text variable="page"/>+ </group>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" collapse="citation-number">+ <sort>+ <key variable="citation-number"/>+ </sort>+ <layout delimiter=",">+ <text variable="citation-number" prefix="[" suffix="]"/>+ </layout>+ </citation>+ <bibliography entry-spacing="0" second-field-align="flush">+ <layout suffix=".">+ <text variable="citation-number" prefix="[" suffix="]"/>+ <text macro="author" prefix=" " suffix=", "/>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="publisher"/>+ </group>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=", ">+ <text macro="title"/>+ <text variable="container-title" font-style="italic"/>+ <text macro="editor"/>+ <text macro="publisher"/>+ <text macro="page"/>+ </group>+ </else-if>+ <else-if type="patent">+ <text macro="title" suffix=", "/>+ <text variable="number" prefix="U.S. Patent "/>+ <date variable="issued" prefix=", ">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </else-if>+ <else-if type="thesis">+ <group delimiter=", ">+ <text macro="title"/>+ <text variable="genre"/>+ <text variable="publisher"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ <else>+ <group delimiter=", ">+ <text macro="title"/>+ <text variable="container-title" font-style="italic"/>+ <text variable="volume" prefix=" vol. "/>+ <date variable="issued">+ <date-part name="month" form="short" suffix=". " strip-periods="true"/>+ <date-part name="year"/>+ </date>+ <text macro="page"/>+ </group>+ </else>+ </choose>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Zimbardo",+ "given": "Philip G"+ }+ ],+ "container-title": "American Psychologist",+ "id": "ITEM-1",+ "issue": "5",+ "issued": {+ "date-parts": [+ [+ 2004,+ 1+ ]+ ]+ },+ "page": "339-351",+ "title": "Does Psychology make a significant difference in our lives?",+ "type": "article-journal",+ "volume": "59"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_LabelsOutOfPlace.txt view
@@ -0,0 +1,748 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++Fault reported by Sean Takats.++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Jones, Colin. <i>Bourgeois Revolution Revivified: 1789 and Social Change</i>. Edited by Colin Lucas. Oxford: Clarendon Press, 1991.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <title>Chicago Manual of Style (Full Note with Bibliography)</title>+ <id>http://www.zotero.org/styles/chicago-fullnote-bibliography</id>+ <link rel="self" href="http://www.zotero.org/styles/chicago-fullnote-bibliography" />+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation" />+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </contributor>+ <contributor>+ <name>Elena Razlogova</name>+ <email>elena.razlogova@gmail.com</email>+ </contributor>+ <summary>Chicago format with full notes and bibliography</summary>+ <category field="generic-base" />+ <category citation-format="numeric" />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="editor-translator">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <names delimiter=", " variable="editor">+ <label form="verb-short" suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names delimiter=", " variable="translator">+ <label form="verb-short" suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="secondary-contributors-note">+ <choose>+ <if match="none" type="chapter">+ <text macro="editor-translator" />+ </if>+ </choose>+ </macro>+ <macro name="container-contributors-note">+ <choose>+ <if type="chapter">+ <text macro="editor-translator" />+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if match="none" type="chapter">+ <group delimiter=". ">+ <choose>+ <if variable="author">+ <names delimiter=". " variable="editor">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names delimiter=". " variable="translator">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <names delimiter=", " variable="editor">+ <label form="verb" suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names delimiter=", " variable="translator">+ <label form="verb" suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="editor-note">+ <names variable="editor">+ <name and="text" delimiter=", " sort-separator=", " />+ <label form="short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="translator-note">+ <names variable="translator">+ <name and="text" delimiter=", " sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="recipient-note">+ <names delimiter=", " variable="recipient">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="contributors-note">+ <names variable="author">+ <name and="text" delimiter=", " sort-separator=", " />+ <substitute>+ <text macro="editor-note" />+ <text macro="translator-note" />+ </substitute>+ </names>+ <text macro="recipient-note" />+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="recipient">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ <else>+ <text term="letter" text-case="capitalize-first" />+ </else>+ </choose>+ </if>+ </choose>+ <text macro="recipient-note" prefix=" " />+ </macro>+ <macro name="contributors">+ <names variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <substitute>+ <text macro="editor" />+ <text macro="translator" />+ </substitute>+ </names>+ <text macro="recipient" prefix=". " />+ </macro>+ <macro name="recipient-short">+ <names variable="recipient">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " form="short" />+ </names>+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name and="text" delimiter=", " form="short" />+ <substitute>+ <names variable="editor" />+ <names variable="translator" />+ </substitute>+ </names>+ <text macro="recipient-short" />+ </macro>+ <macro name="contributors-sort">+ <names variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="all" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ <substitute>+ <names variable="editor" />+ <names variable="translator" />+ </substitute>+ </names>+ </macro>+ <macro name="interviewer-note">+ <names delimiter=", " variable="interviewer">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="interviewer">+ <names delimiter=", " variable="interviewer">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="title-note">+ <choose>+ <if match="none" variable="title">+ <text variable="genre" />+ </if>+ <else-if type="book">+ <text font-style="italic" variable="title" />+ </else-if>+ <else>+ <text quotes="true" variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if match="none" variable="title">+ <choose>+ <if match="none" type="personal_communication">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ </if>+ <else-if type="book">+ <text font-style="italic" variable="title" />+ </else-if>+ <else>+ <text quotes="true" variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="title-short">+ <choose>+ <if match="none" variable="title">+ <choose>+ <if type="interview">+ <text term="interview" text-case="lowercase" />+ </if>+ <else-if match="any" type="manuscript speech">+ <text form="short" variable="genre" />+ </else-if>+ <else-if type="personal_communication">+ <text macro="issued" />+ </else-if>+ </choose>+ </if>+ <else-if type="book">+ <text font-style="italic" form="short" variable="title" />+ </else-if>+ <else>+ <text form="short" quotes="true" variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="description-note">+ <group delimiter=", ">+ <text macro="interviewer-note" />+ <text variable="medium" />+ <choose>+ <if match="none" variable="title"/>+ <else-if match="any" type="thesis speech"/>+ <else>+ <text variable="genre" />+ </else>+ </choose>+ </group>+ </macro>+ <macro name="description">+ <group delimiter=", ">+ <group delimiter=". ">+ <text macro="interviewer" />+ <text text-case="capitalize-first" variable="medium" />+ </group>+ <choose>+ <if match="none" variable="title"/>+ <else-if match="any" type="thesis speech"/>+ <else>+ <text text-case="capitalize-first" variable="genre" />+ </else>+ </choose>+ </group>+ </macro>+ <macro name="container-title-note">+ <choose>+ <if type="chapter">+ <text suffix=" " term="in" text-case="lowercase" />+ </if>+ </choose>+ <text font-style="italic" variable="container-title" />+ </macro>+ <macro name="container-title">+ <choose>+ <if type="chapter">+ <text suffix=" " term="in" text-case="capitalize-first" />+ </if>+ </choose>+ <text font-style="italic" variable="container-title" />+ </macro>+ <macro name="collection-title">+ <text variable="collection-title" />+ <text prefix=" " variable="collection-number" />+ </macro>+ <macro name="edition-note">+ <choose>+ <if match="any" type="book chapter">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number form="ordinal" variable="edition" />+ <text form="short" suffix="." term="edition" />+ </group>+ </if>+ <else>+ <text suffix="." variable="edition" />+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if match="any" type="book chapter">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number form="ordinal" variable="edition" />+ <text form="short" suffix="." term="edition" />+ </group>+ </if>+ <else>+ <text suffix="." text-case="capitalize-first" variable="edition" />+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-note">+ <choose>+ <if type="article-journal">+ <text prefix=" " variable="volume" />+ <text prefix=", no. " variable="issue" />+ </if>+ <else-if match="any" type="book chapter">+ <group delimiter=", " prefix=", ">+ <group>+ <text form="short" suffix=". " term="volume" />+ <number form="numeric" variable="volume" />+ </group>+ <choose>+ <if match="none" variable="locator">+ <group>+ <number form="numeric" variable="number-of-volumes" />+ <text form="short" plural="true" prefix=" " suffix="." term="volume" />+ </group>+ </if>+ </choose>+ <text macro="edition-note" />+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <text prefix=" " variable="volume" />+ <text prefix=", no. " variable="issue" />+ </if>+ <else-if match="any" type="book">+ <group delimiter=". " prefix=". ">+ <group>+ <text form="short" suffix=". " term="volume" text-case="capitalize-first" />+ <number form="numeric" variable="volume" />+ </group>+ <group>+ <number form="numeric" variable="number-of-volumes" />+ <text form="short" plural="true" prefix=" " suffix="." term="volume" />+ </group>+ <text macro="edition" />+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-newspaper">+ <choose>+ <if type="article-newspaper">+ <group delimiter=", ">+ <group>+ <text suffix=" " variable="edition" />+ <text prefix=" " term="edition" />+ </group>+ <group>+ <text form="short" suffix=". " term="section" />+ <text variable="section" />+ </group>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="event">+ <group>+ <text suffix=" " term="presented at" />+ <text variable="event" />+ </group>+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place" />+ <text variable="publisher" />+ </group>+ </macro>+ <macro name="issued">+ <choose>+ <if match="any" type="graphic report">+ <date variable="issued">+ <date-part name="month" suffix=" " />+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </if>+ <else-if match="any" type="book chapter thesis">+ <date variable="issued">+ <date-part name="year" />+ </date>+ </else-if>+ <else>+ <date variable="issued">+ <date-part name="month" suffix=" " />+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </else>+ </choose>+ </macro>+ <macro name="point-locators-subsequent">+ <group>+ <choose>+ <if locator="page" match="none">+ <label form="short" suffix=" " variable="locator" />+ </if>+ </choose>+ <text variable="locator" />+ </group>+ </macro>+ <macro name="point-locators">+ <choose>+ <if match="none" variable="locator">+ <text macro="pages" />+ </if>+ <else-if type="article-journal">+ <text prefix=": " variable="locator" />+ </else-if>+ <else>+ <text macro="point-locators-subsequent" prefix=", " />+ </else>+ </choose>+ </macro>+ <macro name="pages">+ <choose>+ <if type="article-journal">+ <text prefix=": " variable="page" />+ </if>+ <else-if type="chapter">+ <text prefix=", " variable="page" />+ </else-if>+ </choose>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter">+ <text suffix=":" variable="volume" />+ <text variable="page" />+ </if>+ </choose>+ </macro>+ <macro name="locators-journal">+ <choose>+ <if type="article-journal">+ <text prefix=": " variable="page" />+ </if>+ </choose>+ </macro>+ <macro name="archive-note">+ <group delimiter=", ">+ <text variable="archive_location" />+ <text variable="archive" />+ <text variable="archive-place" />+ </group>+ </macro>+ <macro name="archive">+ <group delimiter=". ">+ <text text-case="capitalize-first" variable="archive_location" />+ <text variable="archive" />+ <text variable="archive-place" />+ </group>+ </macro>+ <macro name="issue-note">+ <choose>+ <if type="article-journal">+ <text macro="issued" prefix=" (" suffix=")" />+ </if>+ <else-if match="any" variable="publisher-place publisher">+ <group delimiter=", " prefix=" (" suffix=")">+ <group delimiter=" ">+ <choose>+ <if match="none" variable="title"/>+ <else-if match="any" type="thesis speech">+ <text variable="genre" />+ </else-if>+ </choose>+ <text macro="event" />+ </group>+ <text macro="publisher" />+ <text macro="issued" />+ </group>+ </else-if>+ <else>+ <text macro="issued" prefix=", " />+ </else>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="article-journal">+ <text macro="issued" prefix=" (" suffix=")" />+ </if>+ <else-if type="speech">+ <choose>+ <if match="none" variable="title"> </if>+ <else>+ <text prefix=". " text-case="capitalize-first" variable="genre" />+ </else>+ </choose>+ <text macro="event" prefix=" " />+ <text prefix=", " variable="event-place" />+ <text macro="issued" prefix=", " />+ </else-if>+ <else-if match="any" variable="publisher-place publisher">+ <group delimiter=", " prefix=". ">+ <choose>+ <if type="thesis">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ <text macro="publisher" />+ <text macro="issued" />+ </group>+ </else-if>+ <else>+ <text macro="issued" prefix=", " />+ </else>+ </choose>+ </macro>+ <macro name="access-note">+ <group delimiter=", ">+ <choose>+ <if match="any" type="graphic report">+ <text macro="archive-note" />+ </if>+ <else-if match="none" type="book thesis chapter article-journal article-newspaper article-magazine">+ <text macro="archive-note" />+ </else-if>+ </choose>+ <text prefix="doi:" variable="DOI" />+ <text variable="URL" />+ </group>+ </macro>+ <macro name="access">+ <group delimiter=". ">+ <choose>+ <if match="any" type="graphic report">+ <text macro="archive" />+ </if>+ <else-if match="none" type="book thesis chapter article-journal article-newspaper article-magazine">+ <text macro="archive" />+ </else-if>+ </choose>+ <text variable="URL" />+ </group>+ </macro>+ <macro name="sort-key">+ <text macro="contributors-sort" suffix=" " />+ <text suffix=" " variable="title" />+ <text variable="genre" />+ </macro>+ <macro name="legal-case-first">+ <group delimiter=", ">+ <text variable="title"/>+ <group delimiter=" ">+ <text variable="volume"/>+ <text variable="container-title"/>+ <text variable="page"/>+ <group prefix="(" suffix=")" delimiter=" ">+ <text variable="authority" form="short"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </group>+ </group>+ </macro>+ <citation + disambiguate-add-names="true"+ et-al-min="4"+ et-al-subsequent-min="4"+ et-al-subsequent-use-first="1"+ et-al-use-first="1">+ <layout delimiter="; " prefix="" suffix=".">+ <choose>+ <if type="legal_case">+ <text macro="legal-case-first"/>+ </if>+ <else-if position="ibid-with-locator">+ <group delimiter=", ">+ <text suffix="." term="ibid"/>+ <text macro="point-locators-subsequent" />+ </group>+ </else-if>+ <else-if position="ibid">+ <text suffix="." term="ibid"/>+ </else-if>+ <else-if position="subsequent">+ <group delimiter=", ">+ <text macro="contributors-short" />+ <text macro="title-short" />+ <text macro="point-locators-subsequent" />+ </group>+ </else-if>+ <else>+ <group delimiter=", ">+ <text macro="contributors-note" />+ <text macro="title-note" />+ <text macro="description-note" />+ <text macro="secondary-contributors-note" />+ <text macro="container-title-note" />+ <text macro="container-contributors-note" />+ </group>+ <text macro="locators-note" />+ <text macro="collection-title" prefix=", " />+ <text macro="issue-note" />+ <text macro="locators-newspaper" prefix=", " />+ <text macro="point-locators"/>+ <text macro="access-note" prefix=", " />+ </else>+ </choose>+ </layout>+ </citation>+ <bibliography + entry-spacing="0"+ et-al-min="11"+ et-al-use-first="7"+ hanging-indent="true"+ subsequent-author-substitute="---">+ <sort>+ <key macro="sort-key" />+ <key variable="issued" />+ </sort>+ <layout suffix=".">+ <choose>+ <if type="legal_case">+ <text macro="legal-case-first"/>+ </if>+ <else>+ <group delimiter=". ">+ <text macro="contributors" />+ <text macro="title" />+ <text macro="description" />+ <text macro="secondary-contributors" />+ <group delimiter=", ">+ <text macro="container-title" />+ <text macro="container-contributors" />+ <text macro="locators-chapter" />+ </group>+ </group>+ <text macro="locators" />+ <text macro="collection-title" prefix=". " />+ <text macro="issue" />+ <text macro="locators-newspaper" prefix=", " />+ <text macro="locators-journal" />+ <text macro="access" prefix=". " />+ </else>+ </choose>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Jones",+ "given": "Colin"+ }+ ],+ "editor": [+ {+ "family": "Lucas",+ "given": "Colin"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1991+ ]+ ]+ },+ "publisher": "Clarendon Press",+ "publisher-place": "Oxford",+ "title": "Bourgeois Revolution Revivified: 1789 and Social Change",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_LegislationCrash.txt view
@@ -0,0 +1,119 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry"><i>Arrêté du 23 mars 1992 relatif au programme des études conduisant au diplôme d’État d’infirmier</i>, 1992. </div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="never" default-locale="fr-FR">+ <info>+ <title>ISO-690 (author-date, French)</title>+ <id>http://www.zotero.org/styles/iso690-author-date-fr</id>+ <link href="http://www.zotero.org/styles/iso690-author-date-fr" rel="self"/>+ <link href="https://forums.zotero.org/discussion/23511" rel="documentation"/>+ <author>+ <name>Laure Mellifluo</name>+ <email>laure.melli@gmail.com</email>+ </author>+ <author>+ <name>Raphael Grolimund</name>+ <email>raphael.grolimund@epfl.ch</email>+ </author>+ <author>+ <name>Michel Hardegger</name>+ <email>hardegger@gmail.com</email>+ </author>+ <contributor>+ <name>Pierre-Amiel Giraud</name>+ <email>pierre-amiel.giraud@u-bordeaux3.fr</email>+ </contributor>+ <category citation-format="author-date"/>+ <category field="generic-base"/>+ <summary>Style based on ISO 690:2010(F), V1.1</summary>+ <updated>2013-05-31T20:00:00+01:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale>+ <terms>+ <term name="no date">[sans date]</term>+ <term name="in">in</term>+ <term name="online">en ligne</term>+ <term name="accessed">consulté le</term>+ <term name="retrieved">disponible</term>+ <term name="from">à l'adresse</term>+ <term name="translator" form="short">trad.</term>+ <term name="editor" form="short">éd.</term>+ </terms>+ </locale>+ <macro name="title">+ <text variable="title" font-style="italic" suffix=", "/>+ <date variable="issued" suffix=". " form="text" date-parts="year"/>+ </macro>+ <citation>+ <layout>+ <text value="BOGUS"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name/>+ <substitute>+ <text macro="title"/>+ </substitute>+ </names>+ <date variable="issued" date-parts="year-month-day" form="text"/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "accessed": {+ "date-parts": [+ [+ "2017",+ 8,+ 29+ ]+ ]+ },+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1992",+ 3,+ 23+ ]+ ]+ },+ "title": "Arrêté du 23 mars 1992 relatif au programme des études conduisant au diplôme d'État d'infirmier",+ "type": "legislation"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_MatchedAuthorAndDate.txt view
@@ -0,0 +1,374 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">Brown, J. 2006a, August. <b><i>Tijdschrift voor praktijkondersteuning</i></b>. http://dx.doi.org/10.1007/bf03074904.</div>+ <div class="csl-entry">Brown, J. 2006b, August. <b><i>Huisarts en Wetenschap</i></b>. http://dx.doi.org/10.1007/bf03084836.</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="never" default-locale="en-US">+ <info>+ <title>Academy of Management Review</title>+ <title-short>AMR</title-short>+ <id>http://www.zotero.org/styles/academy-of-management-review</id>+ <link href="http://www.zotero.org/styles/academy-of-management-review" rel="self"/>+ <link href="http://aom.org/uploadedFiles/Publications/AMR/AMR%20Style%20Guide%202014.pdf" rel="documentation"/>+ <author>+ <name>Sebastian Karcher</name>+ </author>+ <contributor>+ <name>Bruce D'Arcus</name>+ </contributor>+ <contributor>+ <name>Curtis M. Humphrey</name>+ </contributor>+ <contributor>+ <name>Richard Karnesky</name>+ <email>karnesky+zotero@gmail.com</email>+ <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>+ </contributor>+ <contributor>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </contributor>+ <contributor>+ <name>Brenton M. Wiernik</name>+ <email>zotero@wiernik.org</email>+ </contributor>+ <category citation-format="author-date"/>+ <category field="social_science"/>+ <issn>0363-7425</issn>+ <eissn>1930-3807</eissn>+ <updated>2015-01-11T22:02:33+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text term="in" text-case="capitalize-first" suffix=" "/>+ <names variable="editor translator" delimiter=", " suffix=", ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=" (" text-case="capitalize-first" suffix=")"/>+ </names>+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if type="chapter paper-conference" match="none">+ <names variable="editor translator" delimiter=", " prefix=" (" suffix=")">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="capitalize-first"/>+ </names>+ </if>+ </choose>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=" (" suffix=")" text-case="capitalize-first"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="symbol" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <choose>+ <if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <text variable="title" form="short" font-style="italic"/>+ </if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <choose>+ <if variable="page" match="none">+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix="https://doi.org/"/>+ </if>+ <else-if variable="URL">+ <text variable="URL"/>+ <choose>+ <if variable="issued" match="none">+ <date variable="accessed" prefix=", ">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </if>+ </choose>+ </else-if>+ <else-if variable="issued" match="any">+ <text variable="status" text-case="capitalize-first"/>+ </else-if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if variable="container-title" match="none">+ <text variable="title" font-style="italic" font-weight="bold"/>+ </if>+ <else>+ <text variable="title"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <choose>+ <if type="report" match="any">+ <group delimiter=", ">+ <group>+ <text variable="genre" text-case="capitalize-first"/>+ <text variable="number" prefix=" no. "/>+ </group>+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </group>+ </if>+ <else-if type="thesis manuscript" match="any">+ <group delimiter=", ">+ <text variable="genre"/>+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </else-if>+ <else-if type="article-journal article-magazine" match="none">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="event">+ <choose>+ <if variable="event">+ <choose>+ <if variable="genre" match="none">+ <text term="presented at" text-case="capitalize-first" suffix=" "/>+ <text variable="event"/>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="genre" text-case="capitalize-first"/>+ <text term="presented at"/>+ <text variable="event"/>+ </group>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issued">+ <choose>+ <if variable="issued">+ <group prefix=" " suffix=".">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <choose>+ <if type="article-journal bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="none">+ <date variable="issued">+ <date-part prefix=", " name="month"/>+ <date-part prefix=" " name="day"/>+ </date>+ </if>+ </choose>+ </group>+ </if>+ <else-if variable="status">+ <text variable="status" text-case="capitalize-first" prefix=" " suffix="."/>+ </else-if>+ <else>+ <text prefix=" " term="no date" suffix="." form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="issued-year">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else-if variable="status">+ <text variable="status"/>+ </else-if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short"/>+ </group>+ </if>+ <else>+ <text variable="edition"/>+ </else>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal article-magazine article-newspaper paper-conference" match="any">+ <group prefix=", " delimiter=": ">+ <group>+ <text variable="volume"/>+ <text variable="issue" prefix="(" suffix=")"/>+ </group>+ <text variable="page"/>+ </group>+ </if>+ <else-if type="bill book chapter graphic legal_case legislation motion_picture report song" match="any">+ <text macro="edition" prefix=" (" suffix=")"/>+ <group prefix=", ">+ <text term="volume" form="short" text-case="lowercase" suffix=" "/>+ <number variable="volume" form="numeric"/>+ </group>+ <text variable="page" prefix=": "/>+ </else-if>+ </choose>+ </macro>+ <macro name="citation-locator">+ <group>+ <text variable="locator" prefix=" "/>+ </group>+ </macro>+ <citation et-al-min="6" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" collapse="year">+ <sort>+ <key macro="author"/>+ <key macro="issued-year"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <text macro="author-short"/>+ <text macro="issued-year"/>+ </group>+ <text macro="citation-locator" prefix=":"/>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="6" et-al-use-first="5" entry-spacing="0" line-spacing="2">+ <sort>+ <key macro="author"/>+ <key macro="issued-year"/>+ </sort>+ <layout>+ <group suffix=".">+ <text macro="author" suffix="."/>+ <text macro="issued" suffix=" "/>+ <group delimiter=". ">+ <text macro="title"/>+ <group>+ <text macro="container-contributors"/>+ <text macro="secondary-contributors"/>+ <choose>+ <if type="article-journal article-magazine article-newspaper" match="any">+ <text variable="container-title" font-style="italic" text-case="title" font-weight="bold"/>+ </if>+ <else>+ <text variable="container-title" font-style="italic" font-weight="bold"/>+ </else>+ </choose>+ </group>+ </group>+ <text macro="locators"/>+ <group delimiter=", " prefix=". ">+ <text macro="event"/>+ <text macro="publisher"/>+ </group>+ <text macro="access" prefix=". "/>+ </group>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "ISSN": "1872-4078",+ "URL": "http://dx.doi.org/10.1007/bf03074904",+ "author": [+ {+ "family": "Brown",+ "given": "Jeff"+ }+ ],+ "container-title": "Tijdschrift voor praktijkondersteuning",+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2006,+ 8+ ]+ ]+ }+ },+ {+ "ISSN": "0018-7070",+ "URL": "http://dx.doi.org/10.1007/bf03084836",+ "author": [+ {+ "family": "Brown",+ "given": "Jeff"+ }+ ],+ "container-title": "Huisarts en Wetenschap",+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 2006,+ 8+ ]+ ]+ }+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_MissingItemInJoin.txt view
@@ -0,0 +1,287 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+<i>Aalto</i>, Book One, S. 100 This.<i>Álvarez</i>, Book Two, S. 200<i>Álvarez</i>, Film One, 300+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1",+ "locator": "100",+ "suffix": " This."+ },+ {+ "id": "ITEM-2",+ "locator": "200"+ },+ {+ "id": "ITEM-3",+ "locator": "300"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" version="1.0" class="note" default-locale="de-DE">+ <info>+ <title>Meine juristische Zitierweise M. K.</title>+ <id>http://www.zotero.org/styles/juristische-zitierweise-deutsch</id>+ <link href="http://www.zotero.org/styles/juristische-zitierweise-deutsch" rel="self"/>+ <author>+ <name>MK</name>+ </author>+ <category citation-format="note"/>+ <category field="law"/>+ <summary>Juristische Zitierweise nach Stüber www.niederle-media.de/Zitieren.pdf</summary>+ <updated>2012-09-28T02:06:38+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <macro name="author-and-editor">+ <names variable="author">+ <name/>+ <substitute>+ <names variable="editor"/>+ </substitute>+ </names>+ </macro>+ <citation et-al-min="4" et-al-use-first="1">+ <layout>+ <choose>+ <if type="article-journal">+ <names variable="author" prefix="" font-style="italic">+ <name delimiter="/" name-as-sort-order="all" sort-separator=", " form="short"/>+ </names>+ <text variable="container-title" prefix=", " suffix=" " form="short"/>+ <date variable="issued" prefix="" suffix=", ">+ <date-part name="year" form="long" prefix="" suffix=""/>+ <date-part name="month" form="numeric" prefix="" suffix=""/>+ <date-part name="day" form="ordinal" prefix="" suffix=""/>+ </date>+ <text variable="page-first" prefix=""/>+ <text variable="locator" prefix=", " suffix=""/>+ </if>+ <else-if type="bill">+ <text variable="title" prefix="" suffix=", " form="short"/>+ <text variable="locator" prefix="S. " suffix=""/>+ </else-if>+ <else-if type="legal_case" match="any">+ <choose>+ <!-- is the case published in a journal? -->+ <if variable="container-title">+ <text variable="authority" suffix=" "/>+ <text variable="container-title" form="short" suffix=" "/>+ <text variable="volume" suffix=", "/>+ <text variable="page"/>+ <text variable="locator" prefix=", " suffix=""/>+ </if>+ <else>+ <text variable="authority" suffix=", "/>+ <text variable="genre" suffix=" v. "/>+ <date form="numeric" variable="issued" suffix=" – "/>+ <text variable="number"/>+ </else>+ </choose>+ <choose>+ <if variable="title-short">+ <text variable="title-short" prefix=" – "/>+ </if>+ </choose>+ </else-if>+ <else-if type="thesis">+ <names variable="author" font-style="italic">+ <name delimiter="/" name-as-sort-order="all" sort-separator=", " form="short"/>+ </names>+ <text variable="title" prefix=", " suffix="" form="short"/>+ <text variable="locator" prefix=", S. " suffix=""/>+ </else-if>+ <else-if type="book">+ <names variable="author" font-style="italic">+ <name delimiter="/" name-as-sort-order="all" sort-separator=", " form="short"/>+ </names>+ <text variable="title" prefix=", " suffix="" form="short"/>+ <choose>+ <if locator="page">+ <text variable="locator" prefix=", S. " suffix=""/>+ </if>+ <else-if locator="paragraph">+ <text variable="locator" prefix="" suffix=""/>+ </else-if>+ </choose>+ </else-if>+ <else-if type="chapter">+ <names variable="author" prefix="" suffix="" font-style="italic">+ <name delimiter="/" name-as-sort-order="all" sort-separator=", " form="short"/>+ </names>+ <text variable="title" prefix=", " suffix=""/>+ <text variable="container-title" prefix=", in: " suffix=", " form="short"/>+ <text variable="page-first" prefix="S. " suffix=""/>+ <text variable="locator" prefix=", " suffix=""/>+ </else-if>+ <else-if type="entry-dictionary">+ <names variable="author" prefix="" suffix="" font-style="italic">+ <name delimiter="/" name-as-sort-order="all" sort-separator=", " form="short"/>+ </names>+ <names variable="editor" prefix=", in: " suffix="">+ <name delimiter="/" form="short"/>+ </names>+ <text variable="title" prefix=", " suffix=", " form="short"/>+ <text variable="page-first" prefix="S. " suffix=" "/>+ <text variable="locator" prefix="" suffix=""/>+ </else-if>+ <else-if type="entry-encyclopedia">+ + <text value="in: " prefix="" suffix=""/>+ <text variable="title" prefix="" suffix=", " form="short"/>+ <text variable="locator" suffix=""/>+ </else-if>+ <else>+ <names variable="author" prefix="" font-style="italic">+ <name delimiter="; " name-as-sort-order="all" sort-separator=", " form="short"/>+ </names>+ <text variable="title" prefix=", " suffix=", "/>+ <text variable="locator" suffix=""/>+ </else>+ </choose>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key macro="author-and-editor"/>+ </sort>+ <layout>+ <choose>+ <if type="article-journal">+ <names variable="author" prefix="" suffix=": " font-style="italic">+ <name delimiter="/ " name-as-sort-order="all" sort-separator=", " form="long"/>+ </names>+ <text variable="title" prefix="" suffix=", "/>+ <text variable="container-title" prefix="" suffix=" "/>+ <date variable="issued" prefix="" suffix=", ">+ <date-part name="year" form="long" prefix="" suffix=""/>+ <date-part name="month" form="numeric" prefix="" suffix=""/>+ <date-part name="day" form="ordinal" prefix="" suffix=""/>+ </date>+ <text variable="page" prefix="S. " suffix="."/>+ </if>+ <else-if type="book">+ <names variable="author" prefix="" font-style="italic">+ <name delimiter="/" name-as-sort-order="all" sort-separator=", " form="long"/>+ </names>+ <text variable="title" prefix=": " suffix=", "/>+ <text variable="edition" prefix="" suffix=", "/>+ <text variable="publisher-place" prefix="" suffix=" "/>+ <date variable="issued" prefix="" suffix=". ">+ <date-part name="year" form="long" prefix="" suffix=""/>+ </date>+ </else-if>+ <else-if type="entry-dictionary">+ <names variable="editor" prefix="" suffix=" " font-style="italic">+ <name delimiter="/" name-as-sort-order="all" sort-separator=", " form="long"/>+ </names>+ <text value=" (Hrsg.)" prefix="" suffix=": "/>+ <text variable="container-title" prefix=" " suffix=", "/>+ <text variable="edition" prefix="" suffix=", "/>+ <text variable="publisher-place" prefix="" suffix=" "/>+ <date variable="issued" prefix="" suffix="">+ <date-part name="year" form="long" prefix="" suffix="."/>+ </date>+ </else-if>+ <else-if type="chapter">+ <names variable="author" prefix="" suffix=": " font-style="italic">+ <name delimiter="/" name-as-sort-order="all" sort-separator=", " form="long"/>+ </names>+ <text variable="title" prefix=" " suffix=", in: "/>+ <names variable="editor" prefix="" suffix=" (Hrsg.): " font-style="italic">+ <name delimiter="/" name-as-sort-order="all" sort-separator=", " form="long"/>+ </names>+ <text variable="container-title" prefix="" suffix=", "/>+ <text variable="publisher-place" prefix="" suffix=" "/>+ <date variable="issued" prefix="" suffix="">+ <date-part name="year" form="long" prefix="" suffix=", "/>+ </date>+ <text variable="page" prefix="S. " suffix="."/>+ </else-if>+ <else-if type="thesis">+ <names variable="author" prefix="" font-style="italic">+ <name delimiter="/" name-as-sort-order="all" sort-separator=", " form="long"/>+ </names>+ <text variable="title" prefix=": " suffix=", Diss. jur., "/>+ <text variable="publisher-place" prefix="" suffix=" "/>+ <date variable="issued" prefix="" suffix=" (Zit.: ">+ <date-part name="year" form="long" prefix="" suffix=""/>+ </date>+ <text value="Bearbeiter," prefix="" suffix=" " font-style="italic"/>+ <text variable="title" prefix="" suffix="" form="short"/>+ <text value=")." prefix="" suffix=" "/>+ </else-if>+ <else-if type="entry-encyclopedia">+ <names variable="editor" prefix="" suffix=" (Hrsg.): " font-style="italic">+ <name delimiter="/" name-as-sort-order="all" sort-separator=", " form="long"/>+ </names>+ <text variable="title" prefix="" suffix=", "/>+ <text variable="edition" prefix="" suffix=", "/>+ <text variable="publisher-place" prefix="" suffix=" "/>+ <date variable="issued" prefix="" suffix=" (Zit.: ">+ <date-part name="year" form="long" prefix="" suffix=""/>+ </date>+ <text value="Bearbeiter," prefix="" suffix=" " font-style="italic"/>+ <text value="in: " prefix="" suffix=" "/>+ <text variable="title" prefix="" suffix="" form="short"/>+ <text value=")." prefix="" suffix=" "/>+ </else-if>+ </choose>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-1",+ "title": "Book One",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Álvarez",+ "given": "Ajax"+ }+ ],+ "id": "ITEM-2",+ "title": "Book Two",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Álvarez",+ "given": "Ajax"+ }+ ],+ "id": "ITEM-3",+ "title": "Film One",+ "type": "motion_picture"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_MovePunctuationInsideQuotesForLocator.txt view
@@ -0,0 +1,748 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Jennifer J. Davis, “Men of Taste: Gender and Authority in the French Culinary Trades, 1730-1830” (Ph.D. diss., Pennsylvania State University, History, 2004), s.v. “gargoyle.”+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1",+ "label": "sub verbo",+ "locator": "\"gargoyle\""+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <title>Chicago Manual of Style (Full Note with Bibliography)</title>+ <id>http://www.zotero.org/styles/chicago-fullnote-bibliography</id>+ <link rel="self" href="http://www.zotero.org/styles/chicago-fullnote-bibliography" />+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation" />+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </contributor>+ <contributor>+ <name>Elena Razlogova</name>+ <email>elena.razlogova@gmail.com</email>+ </contributor>+ <summary>Chicago format with full notes and bibliography</summary>+ <category field="generic-base" />+ <category citation-format="numeric" />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="editor-translator">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <names delimiter=", " variable="editor">+ <label form="verb-short" suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names delimiter=", " variable="translator">+ <label form="verb-short" suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="secondary-contributors-note">+ <choose>+ <if match="none" type="chapter">+ <text macro="editor-translator" />+ </if>+ </choose>+ </macro>+ <macro name="container-contributors-note">+ <choose>+ <if type="chapter">+ <text macro="editor-translator" />+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if match="none" type="chapter">+ <group delimiter=". ">+ <choose>+ <if variable="author">+ <names delimiter=". " variable="editor">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names delimiter=". " variable="translator">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <names delimiter=", " variable="editor">+ <label form="verb" suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names delimiter=", " variable="translator">+ <label form="verb" suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="editor-note">+ <names variable="editor">+ <name and="text" delimiter=", " sort-separator=", " />+ <label form="short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="translator-note">+ <names variable="translator">+ <name and="text" delimiter=", " sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="recipient-note">+ <names delimiter=", " variable="recipient">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="contributors-note">+ <names variable="author">+ <name and="text" delimiter=", " sort-separator=", " />+ <substitute>+ <text macro="editor-note" />+ <text macro="translator-note" />+ </substitute>+ </names>+ <text macro="recipient-note" />+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="recipient">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ <else>+ <text term="letter" text-case="capitalize-first" />+ </else>+ </choose>+ </if>+ </choose>+ <text macro="recipient-note" prefix=" " />+ </macro>+ <macro name="contributors">+ <names variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <substitute>+ <text macro="editor" />+ <text macro="translator" />+ </substitute>+ </names>+ <text macro="recipient" prefix=". " />+ </macro>+ <macro name="recipient-short">+ <names variable="recipient">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " form="short" />+ </names>+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name and="text" delimiter=", " form="short" />+ <substitute>+ <names variable="editor" />+ <names variable="translator" />+ </substitute>+ </names>+ <text macro="recipient-short" />+ </macro>+ <macro name="contributors-sort">+ <names variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="all" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ <substitute>+ <names variable="editor" />+ <names variable="translator" />+ </substitute>+ </names>+ </macro>+ <macro name="interviewer-note">+ <names delimiter=", " variable="interviewer">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="interviewer">+ <names delimiter=", " variable="interviewer">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="title-note">+ <choose>+ <if match="none" variable="title">+ <text variable="genre" />+ </if>+ <else-if type="book">+ <text font-style="italic" variable="title" />+ </else-if>+ <else>+ <text quotes="true" variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if match="none" variable="title">+ <choose>+ <if match="none" type="personal_communication">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ </if>+ <else-if type="book">+ <text font-style="italic" variable="title" />+ </else-if>+ <else>+ <text quotes="true" variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="title-short">+ <choose>+ <if match="none" variable="title">+ <choose>+ <if type="interview">+ <text term="interview" text-case="lowercase" />+ </if>+ <else-if match="any" type="manuscript speech">+ <text form="short" variable="genre" />+ </else-if>+ <else-if type="personal_communication">+ <text macro="issued" />+ </else-if>+ </choose>+ </if>+ <else-if type="book">+ <text font-style="italic" form="short" variable="title" />+ </else-if>+ <else>+ <text form="short" quotes="true" variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="description-note">+ <group delimiter=", ">+ <text macro="interviewer-note" />+ <text variable="medium" />+ <choose>+ <if match="none" variable="title"/>+ <else-if match="any" type="thesis speech"/>+ <else>+ <text variable="genre" />+ </else>+ </choose>+ </group>+ </macro>+ <macro name="description">+ <group delimiter=", ">+ <group delimiter=". ">+ <text macro="interviewer" />+ <text text-case="capitalize-first" variable="medium" />+ </group>+ <choose>+ <if match="none" variable="title"/>+ <else-if match="any" type="thesis speech"/>+ <else>+ <text text-case="capitalize-first" variable="genre" />+ </else>+ </choose>+ </group>+ </macro>+ <macro name="container-title-note">+ <choose>+ <if type="chapter">+ <text suffix=" " term="in" text-case="lowercase" />+ </if>+ </choose>+ <text font-style="italic" variable="container-title" />+ </macro>+ <macro name="container-title">+ <choose>+ <if type="chapter">+ <text suffix=" " term="in" text-case="capitalize-first" />+ </if>+ </choose>+ <text font-style="italic" variable="container-title" />+ </macro>+ <macro name="collection-title">+ <text variable="collection-title" />+ <text prefix=" " variable="collection-number" />+ </macro>+ <macro name="edition-note">+ <choose>+ <if match="any" type="book chapter">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number form="ordinal" variable="edition" />+ <text form="short" suffix="." term="edition" />+ </group>+ </if>+ <else>+ <text suffix="." variable="edition" />+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if match="any" type="book chapter">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number form="ordinal" variable="edition" />+ <text form="short" suffix="." term="edition" />+ </group>+ </if>+ <else>+ <text suffix="." text-case="capitalize-first" variable="edition" />+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-note">+ <choose>+ <if type="article-journal">+ <text prefix=" " variable="volume" />+ <text prefix=", no. " variable="issue" />+ </if>+ <else-if match="any" type="book chapter">+ <group delimiter=", " prefix=", ">+ <group>+ <text form="short" suffix=". " term="volume" />+ <number form="numeric" variable="volume" />+ </group>+ <choose>+ <if match="none" variable="locator">+ <group>+ <number form="numeric" variable="number-of-volumes" />+ <text form="short" plural="true" prefix=" " suffix="." term="volume" />+ </group>+ </if>+ </choose>+ <text macro="edition-note" />+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <text prefix=" " variable="volume" />+ <text prefix=", no. " variable="issue" />+ </if>+ <else-if match="any" type="book">+ <group delimiter=". " prefix=". ">+ <group>+ <text form="short" suffix=". " term="volume" text-case="capitalize-first" />+ <number form="numeric" variable="volume" />+ </group>+ <group>+ <number form="numeric" variable="number-of-volumes" />+ <text form="short" plural="true" prefix=" " suffix="." term="volume" />+ </group>+ <text macro="edition" />+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-newspaper">+ <choose>+ <if type="article-newspaper">+ <group delimiter=", ">+ <group>+ <text suffix=" " variable="edition" />+ <text prefix=" " term="edition" />+ </group>+ <group>+ <text form="short" suffix=". " term="section" />+ <text variable="section" />+ </group>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="event">+ <group>+ <text suffix=" " term="presented at" />+ <text variable="event" />+ </group>+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place" />+ <text variable="publisher" />+ </group>+ </macro>+ <macro name="issued">+ <choose>+ <if match="any" type="graphic report">+ <date variable="issued">+ <date-part name="month" suffix=" " />+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </if>+ <else-if match="any" type="book chapter thesis">+ <date variable="issued">+ <date-part name="year" />+ </date>+ </else-if>+ <else>+ <date variable="issued">+ <date-part name="month" suffix=" " />+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </else>+ </choose>+ </macro>+ <macro name="point-locators-subsequent">+ <group>+ <choose>+ <if locator="page" match="none">+ <label form="short" suffix=" " variable="locator" />+ </if>+ </choose>+ <text variable="locator" />+ </group>+ </macro>+ <macro name="point-locators">+ <choose>+ <if match="none" variable="locator">+ <text macro="pages" />+ </if>+ <else-if type="article-journal">+ <text prefix=": " variable="locator" />+ </else-if>+ <else>+ <text macro="point-locators-subsequent" prefix=", " />+ </else>+ </choose>+ </macro>+ <macro name="pages">+ <choose>+ <if type="article-journal">+ <text prefix=": " variable="page" />+ </if>+ <else-if type="chapter">+ <text prefix=", " variable="page" />+ </else-if>+ </choose>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter">+ <text suffix=":" variable="volume" />+ <text variable="page" />+ </if>+ </choose>+ </macro>+ <macro name="locators-journal">+ <choose>+ <if type="article-journal">+ <text prefix=": " variable="page" />+ </if>+ </choose>+ </macro>+ <macro name="archive-note">+ <group delimiter=", ">+ <text variable="archive_location" />+ <text variable="archive" />+ <text variable="archive-place" />+ </group>+ </macro>+ <macro name="archive">+ <group delimiter=". ">+ <text text-case="capitalize-first" variable="archive_location" />+ <text variable="archive" />+ <text variable="archive-place" />+ </group>+ </macro>+ <macro name="issue-note">+ <choose>+ <if type="article-journal">+ <text macro="issued" prefix=" (" suffix=")" />+ </if>+ <else-if match="any" variable="publisher-place publisher">+ <group delimiter=", " prefix=" (" suffix=")">+ <group delimiter=" ">+ <choose>+ <if match="none" variable="title"/>+ <else-if match="any" type="thesis speech">+ <text variable="genre" />+ </else-if>+ </choose>+ <text macro="event" />+ </group>+ <text macro="publisher" />+ <text macro="issued" />+ </group>+ </else-if>+ <else>+ <text macro="issued" prefix=", " />+ </else>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="article-journal">+ <text macro="issued" prefix=" (" suffix=")" />+ </if>+ <else-if type="speech">+ <choose>+ <if match="none" variable="title"> </if>+ <else>+ <text prefix=". " text-case="capitalize-first" variable="genre" />+ </else>+ </choose>+ <text macro="event" prefix=" " />+ <text prefix=", " variable="event-place" />+ <text macro="issued" prefix=", " />+ </else-if>+ <else-if match="any" variable="publisher-place publisher">+ <group delimiter=", " prefix=". ">+ <choose>+ <if type="thesis">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ <text macro="publisher" />+ <text macro="issued" />+ </group>+ </else-if>+ <else>+ <text macro="issued" prefix=", " />+ </else>+ </choose>+ </macro>+ <macro name="access-note">+ <group delimiter=", ">+ <choose>+ <if match="any" type="graphic report">+ <text macro="archive-note" />+ </if>+ <else-if match="none" type="book thesis chapter article-journal article-newspaper article-magazine">+ <text macro="archive-note" />+ </else-if>+ </choose>+ <text prefix="doi:" variable="DOI" />+ <text variable="URL" />+ </group>+ </macro>+ <macro name="access">+ <group delimiter=". ">+ <choose>+ <if match="any" type="graphic report">+ <text macro="archive" />+ </if>+ <else-if match="none" type="book thesis chapter article-journal article-newspaper article-magazine">+ <text macro="archive" />+ </else-if>+ </choose>+ <text variable="URL" />+ </group>+ </macro>+ <macro name="sort-key">+ <text macro="contributors-sort" suffix=" " />+ <text suffix=" " variable="title" />+ <text variable="genre" />+ </macro>+ <macro name="legal-case-first">+ <group delimiter=", ">+ <text variable="title"/>+ <group delimiter=" ">+ <text variable="volume"/>+ <text variable="container-title"/>+ <text variable="page"/>+ <group prefix="(" suffix=")" delimiter=" ">+ <text variable="authority" form="short"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </group>+ </group>+ </macro>+ <citation + disambiguate-add-names="true"+ et-al-min="4"+ et-al-subsequent-min="4"+ et-al-subsequent-use-first="1"+ et-al-use-first="1">+ <layout delimiter="; " prefix="" suffix=".">+ <choose>+ <if type="legal_case">+ <text macro="legal-case-first"/>+ </if>+ <else-if position="ibid-with-locator">+ <group delimiter=", ">+ <text suffix="." term="ibid"/>+ <text macro="point-locators-subsequent" />+ </group>+ </else-if>+ <else-if position="ibid">+ <text suffix="." term="ibid"/>+ </else-if>+ <else-if position="subsequent">+ <group delimiter=", ">+ <text macro="contributors-short" />+ <text macro="title-short" />+ <text macro="point-locators-subsequent" />+ </group>+ </else-if>+ <else>+ <group delimiter=", ">+ <text macro="contributors-note" />+ <text macro="title-note" />+ <text macro="description-note" />+ <text macro="secondary-contributors-note" />+ <text macro="container-title-note" />+ <text macro="container-contributors-note" />+ </group>+ <text macro="locators-note" />+ <text macro="collection-title" prefix=", " />+ <text macro="issue-note" />+ <text macro="locators-newspaper" prefix=", " />+ <text macro="point-locators"/>+ <text macro="access-note" prefix=", " />+ </else>+ </choose>+ </layout>+ </citation>+ <bibliography + entry-spacing="0"+ et-al-min="11"+ et-al-use-first="7"+ hanging-indent="true"+ subsequent-author-substitute="---">+ <sort>+ <key macro="sort-key" />+ <key variable="issued" />+ </sort>+ <layout suffix=".">+ <choose>+ <if type="legal_case">+ <text macro="legal-case-first"/>+ </if>+ <else>+ <group delimiter=". ">+ <text macro="contributors" />+ <text macro="title" />+ <text macro="description" />+ <text macro="secondary-contributors" />+ <group delimiter=", ">+ <text macro="container-title" />+ <text macro="container-contributors" />+ <text macro="locators-chapter" />+ </group>+ </group>+ <text macro="locators" />+ <text macro="collection-title" prefix=". " />+ <text macro="issue" />+ <text macro="locators-newspaper" prefix=", " />+ <text macro="locators-journal" />+ <text macro="access" prefix=". " />+ </else>+ </choose>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Davis",+ "given": "Jennifer J."+ }+ ],+ "genre": "Ph.D. diss.",+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2004+ ]+ ]+ },+ "publisher": "Pennsylvania State University, History",+ "title": "Men of Taste: Gender and Authority in the French Culinary Trades, 1730-1830",+ "type": "thesis"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_NoCaseEscape.txt view
@@ -0,0 +1,471 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">++ <div class="csl-block">Aalto, Alan</div>++ <div class="csl-left-margin"> N.d.</div><div class="csl-right-inline">“‘PIAAC-Longitudinal (PIAAC-L) 2015.’”</div>+ </div>+ <div class="csl-entry"> + <div class="csl-left-margin">N.d.</div><div class="csl-right-inline">“PIAAC-Longitudinal (PIAAC-Lx) 2015.”</div>+ </div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" default-locale="en-US">+ <info>+ <title>American Anthropological Association</title>+ <title-short>AAA</title-short>+ <id>http://www.zotero.org/styles/american-anthropological-association</id>+ <link href="http://www.zotero.org/styles/american-anthropological-association" rel="self"/>+ <link href="http://www.aaanet.org/publications/style_guide.pdf" rel="documentation"/>+ <author>+ <name>Sebastian Karcher</name>+ </author>+ <contributor>+ <name>Mark Dingemanse</name>+ <email>mark.dingemanse@mpi.nl</email>+ </contributor>+ <category citation-format="author-date"/>+ <category field="anthropology"/>+ <summary>Citation style for the American Anthropological Association - Support from the Society for Cultural Anthropology is thankfully acknowledged</summary>+ <updated>2012-09-27T22:06:38+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <macro name="secondary-contributors">+ <choose>+ <if type="chapter paper-conference" match="none">+ <!--<group delimiter=". ">+ <names variable="editor translator" delimiter=", ">+ <name and="text" delimiter=", "/>+ <label form="short" prefix=", "/>+ </names>+ </group> -->+ <group delimiter=". ">+ <names variable="editor" delimiter=", ">+ <name and="text" delimiter=", "/>+ <label form="short" prefix=", "/>+ </names>+ <names variable="translator" delimiter=", ">+ <name and="text" delimiter=", "/>+ <label form="short" prefix=", "/>+ </names>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference" match="any">+ <group delimiter=". " prefix=" ">+ <names variable="editor" delimiter=", ">+ <name and="text" delimiter=", "/>+ <label form="short" prefix=", "/>+ </names>+ <names variable="translator" delimiter=", ">+ <name and="text" delimiter=", "/>+ <label form="short" prefix=", "/>+ </names>+ </group>+ <!-- <group delimiter=", ">+ <names variable="editor translator" delimiter=", ">+ <name and="text" delimiter=", "/>+ <label form="short" prefix=", "/>+ </names>+ </group> -->+ </if>+ </choose>+ </macro>+ <macro name="recipient">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ <else>+ <text term="letter" text-case="capitalize-first"/>+ </else>+ </choose>+ </if>+ </choose>+ <names variable="recipient" delimiter=", ">+ <label form="verb" prefix=" " suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="contributors">+ <choose>+ <if type="motion_picture" match="none">+ <names variable="author">+ <name and="text" name-as-sort-order="first" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ <text macro="recipient"/>+ </if>+ <else>+ <names variable="author">+ <name and="text" name-as-sort-order="first" sort-separator=", " delimiter=", " delimiter-precedes-last="always" suffix=", dir."/>+ <label form="short" prefix=", "/>+ <substitute>+ <text macro="title"/>+ </substitute>+ </names>+ </else>+ </choose>+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="interviewer">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" prefix=" " text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="archive">+ <choose>+ <if variable="archive archive_location" match="any">+ <group delimiter=". ">+ <text variable="archive_location" text-case="capitalize-first"/>+ <text variable="archive"/>+ <text variable="archive-place"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="access">+ <choose>+ <if variable="URL">+ <group delimiter=", ">+ <text variable="URL"/>+ <group delimiter=" ">+ <text term="accessed"/>+ <date variable="accessed">+ <date-part name="month" form="long"/>+ <date-part name="day" prefix=" "/>+ <date-part name="year" prefix=", "/>+ </date>+ </group>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if variable="title" match="none">+ <choose>+ <if type="personal_communication" match="none">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ </choose>+ </if>+ <else>+ <group delimiter=", ">+ <text variable="title" text-case="title"/>+ <group>+ <choose>+ <if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <group>+ <text term="volume" form="short"/>+ <number variable="volume" form="numeric"/>+ </group>+ </if>+ </choose>+ </group>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <text variable="volume" prefix=" "/>+ <text variable="issue" prefix="(" suffix=")"/>+ </if>+ </choose>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter paper-conference" match="any">+ <group delimiter=" ">+ <label variable="page" form="short" text-case="capitalize-first" prefix=" "/>+ <text variable="page"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="locators-article">+ <choose>+ <if type="article-newspaper article-journal article-magazine" match="any">+ <text variable="page" prefix=": "/>+ </if>+ </choose>+ </macro>+ <macro name="point-locators">+ <group>+ <choose>+ <if locator="page" match="none">+ <label variable="locator" form="short" suffix=" "/>+ </if>+ </choose>+ <text variable="locator"/>+ </group>+ </macro>+ <macro name="container-prefix">+ <text term="in" text-case="capitalize-first" font-style="italic"/>+ </macro>+ <macro name="container-title">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text macro="container-prefix" suffix=" "/>+ </if>+ </choose>+ <text variable="container-title" text-case="title"/>+ </macro>+ <macro name="publisher">+ <choose>+ <if type="motion_picture" match="none">+ <group delimiter=": ">+ <choose>+ <if type="thesis" match="none">+ <text variable="publisher-place"/>+ </if>+ </choose>+ <text variable="publisher"/>+ </group>+ </if>+ <else>+ <group delimiter=". ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="date-reference">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="date-bibliography">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short" text-case="capitalize-first"/>+ </else>+ </choose>+ </macro>+ <macro name="day-month">+ <date variable="issued">+ <date-part name="month"/>+ <date-part name="day" prefix=" "/>+ </date>+ </macro>+ <macro name="collection-title">+ <text variable="collection-title" text-case="title"/>+ <text variable="collection-number" prefix=", "/>+ </macro>+ <macro name="event">+ <group delimiter=" ">+ <text term="presented at" prefix=" "/>+ <text variable="event"/>+ </group>+ </macro>+ <macro name="description">+ <group delimiter=". ">+ <text macro="interviewer"/>+ <text variable="medium" text-case="capitalize-first"/>+ </group>+ <choose>+ <if variable="title" match="none"/>+ <else-if type="thesis manuscript" match="any"/>+ <else>+ <group delimiter=", ">+ <text variable="genre" text-case="capitalize-first"/>+ <choose>+ <if type="report">+ <text variable="number"/>+ </if>+ </choose>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="speech">+ <group delimiter=", ">+ <choose>+ <if variable="genre">+ <text macro="event" prefix=" "/>+ </if>+ <else>+ <text macro="event" prefix=". Paper "/>+ </else>+ </choose>+ <text variable="event-place"/>+ <text macro="day-month"/>+ </group>+ </if>+ <else-if type="article-newspaper article-magazine" match="any">+ <text macro="day-month" prefix=", "/>+ </else-if>+ <else-if type="interview broadcast" match="any">+ <group prefix=". " delimiter=", ">+ <text variable="publisher"/>+ <text macro="day-month"/>+ </group>+ </else-if>+ <else>+ <group prefix=". " delimiter=", ">+ <choose>+ <if type="thesis manuscript" match="any">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ </choose>+ <text macro="archive"/>+ <text macro="publisher"/>+ </group>+ </else>+ </choose>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true">+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=":">+ <group delimiter=" ">+ <text macro="contributors-short"/>+ <text macro="date-reference"/>+ </group>+ <text macro="point-locators"/>+ </group>+ </layout>+ </citation>+ <bibliography et-al-min="6" et-al-use-first="3" subsequent-author-substitute="" entry-spacing="0">+ <sort>+ <key macro="contributors"/>+ <key variable="issued"/>+ </sort>+ <layout suffix=".">+ <group display="block">+ <text macro="contributors"/>+ </group>+ <group display="left-margin">+ <text macro="date-bibliography" prefix=" "/>+ <date variable="original-date" prefix="[" suffix="]">+ <date-part name="year"/>+ </date>+ </group>+ <group display="right-inline">+ <group delimiter=". ">+ <text macro="title"/>+ <text macro="description"/>+ <text macro="secondary-contributors"/>+ <text macro="container-title"/>+ <text macro="edition"/>+ <text macro="container-contributors"/>+ </group>+ <text macro="locators-chapter"/>+ <text macro="locators"/>+ <text macro="collection-title" prefix=". "/>+ <text macro="issue"/>+ <text macro="locators-article"/>+ <text macro="access" prefix=". "/>+ </group>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-1",+ "title": "'\"PIAAC-Longitudinal (PIAAC-L) 2015\"'",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-2",+ "title": "<span class=\"nocase\">\"PIAAC-Longitudinal (PIAAC-Lx) 2015\"</span>",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_NoEventInNestedMacroWithOldProcessor.txt view
@@ -0,0 +1,141 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++This turned out to be a very roundabout method of identifying a simple error in the CSL here:++http://forums.zotero.org/discussion/11576/problems-with-paperconference-and-speech/#Comment_61711++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">My Anonymous Paper. Paper presented at Big Event, Bogus.</div>+ <div class="csl-entry">My Anonymous Speech. Speech delivered at Other Big Event, Bogus.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="title">+ <text variable="title"/>+ </macro>+ <macro name="day-month">+ <text value="Bogus"/>+ </macro>+ <macro name="publisher">+ <text value="Bogus"/>+ </macro>+ <macro name="contributors">+ <text value="Bogus"/>+ </macro>+ <macro name="event">+ <choose>+ <if variable="event">+ <choose>+ <if type="paper-conference">+ <text value="paper presented at" text-case="capitalize-first" suffix=" "/>+ <text variable="event"/>+ </if>+ <else-if type="speech">+ <text value="speech delivered at" text-case="capitalize-first" suffix=" "/>+ <text variable="event"/>+ </else-if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="paper-conference speech" match="any">+ <group prefix=". " delimiter=", ">+ <text macro="event"/>+ <text variable="event-place"/>+ <text macro="day-month"/>+ </group>+ </if>+ <else-if type="article-journal">+ <text macro="day-month" prefix=" (" suffix=")"/>+ </else-if>+ <else-if type="article-newspaper article-magazine" match="any">+ <text macro="day-month" prefix=", "/>+ </else-if>+ <else-if type="legal_case"> </else-if>+ <else>+ <group prefix=". " delimiter=", ">+ <choose>+ <if type="thesis">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ </choose>+ <text macro="publisher"/>+ <text macro="day-month"/>+ </group>+ </else>+ </choose>+ </macro>+ <citation>+ <layout>+ <text value="Bogus"/>+ </layout>+ </citation>+ <bibliography+ hanging-indent="true"+ et-al-min="11"+ et-al-use-first="7"+ subsequent-author-substitute="———"+ entry-spacing="0">+ <sort>+ <key macro="contributors"/>+ <key variable="issued"/>+ </sort>+ <layout suffix=".">+ <!-- text macro="contributors" suffix=". "/ -->+ <!-- text macro="date" suffix=". "/ -->+ <text macro="title"/>+ <!-- text macro="description"/ -->+ <!-- text macro="secondary-contributors" prefix=". "/ -->+ <!-- text macro="container-title" prefix=". "/ -->+ <!-- text macro="container-contributors"/ -->+ <!-- text macro="locators-chapter"/ -->+ <!-- text macro="edition" prefix=". "/ -->+ <!-- text macro="locators"/ -->+ <!-- text macro="collection-title" prefix=". "/ -->+ <text macro="issue"/>+ <!-- text macro="locators-article"/ -->+ <!-- text macro="access" prefix=". Available at: "/ -->+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "event": "Big Event",+ "id": "ITEM-1",+ "title": "My Anonymous Paper",+ "type": "paper-conference"+ },+ {+ "event": "Other Big Event",+ "id": "ITEM-2",+ "title": "My Anonymous Speech",+ "type": "speech"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_NoTitle.txt view
@@ -0,0 +1,365 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">ecs. (n.d.). .</div>+ <div class="csl-entry">Family01, G. (n.d.). XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.</div>+</div>+<<===== RESULT =====<<++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>American Psychological Association 6th Edition</title>+ <id>http://www.zotero.org/styles/apa</id>+ <link href="http://www.zotero.org/styles/apa" rel="self"/>+ <link href="http://owl.english.purdue.edu/owl/resource/560/01/" rel="documentation"/>+ <author>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </author>+ <contributor>+ <name>Bruce D'Arcus</name>+ </contributor>+ <contributor>+ <name>Curtis M. Humphrey</name>+ </contributor>+ <contributor>+ <name>Richard Karnesky</name>+ <email>karnesky+zotero@gmail.com</email>+ <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>+ </contributor>+ <contributor>+ <name>Sebastian Karcher</name>+ </contributor>+ <category field="psychology"/>+ <category field="generic-base"/>+ <category citation-format="author-date"/>+ <updated>2010-01-27T20:08:03+00:00</updated>+ <rights>This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>+ </info>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text term="in" text-case="capitalize-first" suffix=" "/>+ <names variable="editor translator" delimiter=", " suffix=", ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=" (" text-case="capitalize-first" suffix=".)" strip-periods="true"/>+ </names>+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if type="chapter paper-conference" match="none">+ <names variable="editor translator" delimiter=", " prefix=" (" suffix=")">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="capitalize-first" suffix="." strip-periods="true"/>+ </names>+ </if>+ </choose>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=" (" suffix=".)" text-case="capitalize-first" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="symbol" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" form="short" font-style="italic"/>+ </if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <choose>+ <if type="thesis">+ <choose>+ <if variable="archive" match="any">+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="archive" suffix="."/>+ <text variable="archive_location" prefix=" (" suffix=")"/>+ </group>+ </if>+ <else>+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </else>+ </choose>+ </if>+ <else>+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix="doi:"/>+ </if>+ <else>+ <choose>+ <if type="webpage">+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <date variable="accessed" suffix=", ">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ <group>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </group>+ </if>+ <else>+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </else>+ </choose>+ </else>+ </choose>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if type="report thesis" match="any">+ <text variable="title" font-style="italic"/>+ <group prefix=" (" suffix=")">+ <text variable="genre"/>+ <text variable="number" prefix=" No. "/>+ </group>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song manuscript speech" match="any">+ <text variable="title" font-style="italic"/>+ </else-if>+ <else>+ <text variable="title"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <choose>+ <if type="report" match="any">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </if>+ <else-if type="thesis" match="any">+ <group delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </else-if>+ <else>+ <choose>+ <if variable="event" match="none">+ <text variable="genre" suffix=", "/>+ </if>+ </choose>+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="event">+ <choose>+ <if variable="event">+ <choose>+ <if variable="genre" match="none">+ <text term="presented at" text-case="capitalize-first" suffix=" "/>+ <text variable="event"/>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="genre" text-case="capitalize-first"/>+ <text term="presented at"/>+ <text variable="event"/>+ </group>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issued">+ <choose>+ <if variable="issued">+ <group prefix=" (" suffix=").">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song article-journal chapter paper-conference" match="none">+ <date variable="issued">+ <date-part prefix=", " name="month"/>+ <date-part prefix=" " name="day"/>+ </date>+ </if>+ </choose>+ </group>+ </if>+ <else>+ <text prefix=" (" term="no date" suffix=")." form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="issued-year">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short" strip-periods="true"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal article-magazine article-newspaper" match="any">+ <group prefix=", " delimiter=", ">+ <group>+ <text variable="volume" font-style="italic"/>+ <text variable="issue" prefix="(" suffix=")"/>+ </group>+ <text variable="page"/>+ </group>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <group prefix=" (" suffix=")" delimiter=", ">+ <text macro="edition"/>+ <group>+ <text term="volume" form="short" plural="true" text-case="capitalize-first" suffix=". " strip-periods="true"/>+ <number variable="number-of-volumes" form="numeric" prefix="1-"/>+ </group>+ <group>+ <text term="volume" form="short" text-case="capitalize-first" suffix=". " strip-periods="true"/>+ <number variable="volume" form="numeric"/>+ </group>+ <group>+ <label variable="page" form="short" suffix=" "/>+ <text variable="page"/>+ </group>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="citation-locator">+ <group>+ <label variable="locator" form="short"/>+ <text variable="locator" prefix=" "/>+ </group>+ </macro>+ <citation et-al-min="6" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" collapse="year">+ <sort>+ <key macro="author"/>+ <key macro="issued-year"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <text macro="author-short"/>+ <text macro="issued-year"/>+ <text macro="citation-locator"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="8" et-al-use-first="7" entry-spacing="0" line-spacing="2">+ <sort>+ <key macro="author"/>+ <key macro="issued-year" sort="ascending"/>+ </sort>+ <layout>+ <group suffix=".">+ <text macro="author" suffix="."/>+ <text macro="issued" suffix=" "/>+ <group delimiter=". ">+ <text macro="title"/>+ <group>+ <text macro="container-contributors"/>+ <text macro="secondary-contributors"/>+ <group delimiter=", ">+ <text variable="container-title" font-style="italic"/>+ <text variable="collection-title"/>+ </group>+ </group>+ </group>+ <text macro="locators"/>+ <group delimiter=", " prefix=". ">+ <text macro="event"/>+ <text macro="publisher"/>+ </group>+ </group>+ <text macro="access" prefix=". "/>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Family01",+ "given": "Given01"+ }+ ],+ "id": "ITEM-1",+ "title": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",+ "type": "article-journal"+ },+ {+ "id": "ITEM-2",+ "title": "ecs",+ "type": "article-journal"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_NumberAffixEscape.txt view
@@ -0,0 +1,47 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+(<sup>a</sup>2)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <group prefix="(" suffix=")">+ <number variable="edition" prefix="ª"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "edition": "2",+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_NumberInMacroWithVerticalAlign.txt view
@@ -0,0 +1,59 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++Formerly: <sup><i>2</i></sup>; <sup><i>3</i>–<i>5</i></sup>++Revised per discussion @ https://discourse.citationstyles.org/t/formatting-attributes-and-hyphen/1518+++>>===== RESULT =====>>+<sup><i>2</i></sup>; <sup><i>3–5</i></sup>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="edition-mac">+ <number variable="edition" font-style="italic"/>+ </macro>+ <citation>+ <layout delimiter="; ">+ <text macro="edition-mac" vertical-align="sup"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "edition": "2",+ "id": "ITEM-1",+ "title": "His Anonymous Life",+ "type": "book"+ },+ {+ "edition": "3-5",+ "id": "ITEM-2",+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_OldMhraDisambiguationFailure.txt view
@@ -0,0 +1,499 @@+>>== MODE ==>>+citation+<<== MODE ==<<+++>>== RESULT ==>>+>>[0] John Doe, <i>Book A</i>, 2000; John Doe, <i>Book B</i>, 2000.+>>[1] Doe, Book A; Doe, Book B.+<<== RESULT ==<<+++>>== CITATIONS ==>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-2",+ "citationItems": [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ],+ "properties": {+ "noteIndex": 2+ }+ },+ [+ [+ "CITATION-1",+ 1+ ]+ ],+ []+ ]+]+<<== CITATIONS ==<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0">+ <info>+ <title>Modern Humanities Research Association (Note with Bibliography)</title>+ <id>http://www.zotero.org/styles/mhra</id>+ <link href="http://www.zotero.org/styles/mhra" rel="self"/>+ <link href="http://www.mhra.org.uk/Publications/Books/StyleGuide/download.shtml" rel="documentation"/>+ <author>+ <name>Rintze Zelle</name>+ <uri>http://forums.zotero.org/account/831/</uri>+ </author>+ <contributor>+ <name>Sebastian Karcher</name>+ </contributor>+ <summary>MHRA format with full notes and bibliography</summary>+ <category field="generic-base"/>+ <category citation-format="note"/>+ <updated>2009-12-15T12:42:52+00:00</updated>+ </info>+ <locale xml:lang="en">+ <terms>+ <term name="et-al">and others</term>+ <term name="editor" form="verb-short">ed. by</term>+ <term name="edition" form="short">edn</term>+ <term name="translator" form="verb-short">trans. by</term>+ </terms>+ </locale>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", " suffix="." strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title-note"/>+ </substitute>+ </names>+ </macro>+ <macro name="contributors-note">+ <names variable="author">+ <name and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="never"/>+ </names>+ <text macro="recipient-note"/>+ </macro>+ <macro name="title-note">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else>+ <text variable="title" prefix="‘" suffix="’"/>+ </else>+ </choose>+ </macro>+ <macro name="editor-translator">+ <group delimiter=", ">+ <names variable="editor" delimiter=", ">+ <label form="verb-short" text-case="lowercase" suffix=" " strip-periods="true"/>+ <name and="text" delimiter=", " delimiter-precedes-last="never"/>+ </names>+ <choose>+ <if variable="author editor" match="any">+ <names variable="translator" delimiter=", ">+ <label form="verb-short" text-case="lowercase" suffix=" " strip-periods="true"/>+ <name and="text" delimiter=", " delimiter-precedes-last="never"/>+ </names>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="collection-title">+ <text variable="collection-title"/>+ <text variable="collection-number" prefix=", "/>+ </macro>+ <macro name="locators-note">+ <choose>+ <if type="article-journal">+ <text variable="volume"/>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <group delimiter=", ">+ <text macro="edition-note"/>+ <group>+ <number variable="number-of-volumes" form="numeric"/>+ <text term="volume" form="short" prefix=" " plural="true" strip-periods="true"/>+ </group>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="volume">+ <choose>+ <if type="article-journal">+ <text variable="volume"/>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <group delimiter=", ">+ <text macro="edition-note"/>+ <group>+ <number variable="number-of-volumes" form="numeric"/>+ <text term="volume" form="short" prefix=" " plural="true" strip-periods="true"/>+ </group>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="issue-note">+ <choose>+ <if type="article-journal">+ <choose>+ <if variable="volume">+ <text macro="issued" prefix=" (" suffix=")"/>+ </if>+ <else>+ <text macro="issued" prefix=", "/>+ </else>+ </choose>+ </if>+ <else-if variable="publisher-place publisher" match="any">+ <group prefix=" (" suffix=")" delimiter=", ">+ <group delimiter=" ">+ <choose>+ <if variable="title" match="none"/>+ <else-if type="thesis speech" match="any">+ <text variable="genre" prefix="unpublished "/>+ </else-if>+ </choose>+ <text macro="event"/>+ </group>+ <text macro="publisher"/>+ <text macro="issued"/>+ </group>+ </else-if>+ <else>+ <text macro="issued" prefix=", "/>+ </else>+ </choose>+ </macro>+ <macro name="locators-specific-note">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <choose>+ <if is-numeric="volume">+ <number variable="volume" form="roman" font-variant="small-caps"/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="container-title-note">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text term="in" text-case="lowercase" suffix=" "/>+ </if>+ </choose>+ <text variable="container-title" font-style="italic"/>+ </macro>+ <macro name="edition-note">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition"/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="editor-note">+ <names variable="editor">+ <name and="text" sort-separator=", " delimiter=", "/>+ <label form="short" prefix=", " suffix="." strip-periods="true"/>+ </names>+ </macro>+ <macro name="translator-note">+ <names variable="translator">+ <name and="text" sort-separator=", " delimiter=", "/>+ <label form="verb-short" prefix=", " suffix="." strip-periods="true"/>+ </names>+ </macro>+ <macro name="recipient-note">+ <names variable="recipient" delimiter=", ">+ <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="recipient-short">+ <names variable="recipient">+ <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>+ <name form="short" and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name form="short" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="never"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ <text macro="recipient-short"/>+ </macro>+ <macro name="interviewer-note">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="locators-newspaper">+ <choose>+ <if type="article-newspaper">+ <group delimiter=", ">+ <group>+ <text variable="edition" suffix=" "/>+ <text term="edition" prefix=" "/>+ </group>+ <group>+ <text term="section" suffix=" "/>+ <text variable="section"/>+ </group>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="event">+ <group>+ <text term="presented at" suffix=" "/>+ <text variable="event"/>+ </group>+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </macro>+ <macro name="issued">+ <choose>+ <if type="graphic report article-newspaper" match="any">+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song thesis chapter paper-conference" match="any">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </else-if>+ <else>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </else>+ </choose>+ </macro>+ <macro name="pages">+ <choose>+ <if type="article-journal">+ <text variable="page" prefix=", "/>+ </if>+ <else>+ <choose>+ <if variable="volume">+ <text variable="page" prefix=", "/>+ </if>+ <else>+ <label variable="page" form="short" prefix=", " suffix=" "/>+ <text variable="page"/>+ </else>+ </choose>+ </else>+ </choose>+ </macro>+ <macro name="point-locators">+ <text macro="pages"/>+ <choose>+ <if variable="page">+ <group prefix=" (" suffix=")">+ <label variable="locator" form="short" suffix=" "/>+ <text variable="locator"/>+ </group>+ </if>+ <else>+ <label variable="locator" form="short" prefix=", " suffix=" "/>+ <text variable="locator"/>+ </else>+ </choose>+ </macro>+ <macro name="archive-note">+ <group delimiter=", ">+ <text variable="archive_location"/>+ <text variable="archive"/>+ <text variable="archive-place"/>+ </group>+ </macro>+ <macro name="access-note">+ <group delimiter=", ">+ <choose>+ <if type="graphic report" match="any">+ <text macro="archive-note" prefix=", "/>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song article-journal article-magazine article-newspaper thesis chapter paper-conference" match="none">+ <text macro="archive-note" prefix=", "/>+ </else-if>+ </choose>+ </group>+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix=" <doi:" suffix=">"/>+ </if>+ <else>+ <text variable="URL" prefix=" <" suffix=">"/>+ <choose>+ <if variable="accessed">+ <group prefix=" [" suffix="]">+ <text term="accessed" text-case="lowercase"/>+ <date variable="accessed">+ <date-part name="day" prefix=" "/>+ <date-part name="month" prefix=" "/>+ <date-part name="year" prefix=" "/>+ </date>+ </group>+ </if>+ </choose>+ </else>+ </choose>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" et-al-subsequent-min="4" et-al-subsequent-use-first="1" disambiguate-add-names="true" disambiguate-add-givenname="true" givenname-disambiguation-rule="by-cite">+ <layout prefix="" suffix="." delimiter="; ">+ <choose>+ <if position="subsequent">+ <group delimiter=", ">+ <text macro="contributors-short"/>+ <choose>+ <if disambiguate="true">+ <text variable="title" form="short"/>+ </if>+ </choose>+ </group>+ <text macro="locators-specific-note" prefix=", "/>+ <text macro="point-locators"/>+ </if>+ <else>+ <group delimiter=", ">+ <text macro="contributors-note"/>+ <text macro="title-note"/>+ <text macro="container-title-note"/>+ <text macro="editor-translator"/>+ <text macro="collection-title"/>+ <text macro="locators-note"/>+ </group>+ <text macro="issue-note"/>+ <text macro="locators-specific-note" prefix=", "/>+ <text macro="locators-newspaper" prefix=", "/>+ <text macro="point-locators"/>+ <text macro="access-note"/>+ </else>+ </choose>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="6" et-al-use-first="6" subsequent-author-substitute="---">+ <sort>+ <key macro="author"/>+ <key variable="title"/>+ </sort>+ <layout suffix=".">+ <group delimiter=", ">+ <text macro="author"/>+ <text macro="title-note"/>+ <text macro="container-title-note"/>+ <text macro="editor-translator"/>+ <text macro="collection-title"/>+ <text macro="volume"/>+ </group>+ <text macro="issue-note"/>+ <text macro="locators-specific-note" prefix=", "/>+ <text macro="locators-newspaper" prefix=", "/>+ <text macro="pages"/>+ <text macro="access-note"/>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "title": "Book A",+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "type": "book"+ },+ {+ "id": "ITEM-2", + "title": "Book B",+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_OverwriteCitationItems.txt view
@@ -0,0 +1,138 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+>>[0] Title Four; Title Five+..[1] Title Two; Title Three+<<===== RESULT =====<<+++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-2",+ "citationItems": [+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [+ [+ "CITATION-1",+ 0+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-4"+ },+ {+ "id": "ITEM-5"+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [],+ [+ [+ "CITATION-2",+ 0+ ]+ ]+ ]+]+<<===== CITATIONS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="in-text"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; ">+ <text variable="title" />+ </layout>+ </citation>+ <bibliography>+ <layout>+ <text variable="title" />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "title": "Title One",+ "id": "ITEM-1", + "type": "book"+ }, + {+ "title": "Title Two",+ "id": "ITEM-2", + "type": "book"+ }, + {+ "title": "Title Three",+ "id": "ITEM-3", + "type": "book"+ }, + {+ "title": "Title Four",+ "id": "ITEM-4", + "type": "book"+ }, + {+ "title": "Title Five",+ "id": "ITEM-5", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_ProcessorHang1.txt view
@@ -0,0 +1,400 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+(Philpott, Arendt, et al. 2008)+(Philpott, Perfecto, et al. 2008<i>a</i>)+(Philpott, Perfecto, et al. 2008<i>b</i>)+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" default-locale="en-US" page-range-format="expanded">+ <info>+ <title>Northeastern Naturalist</title>+ <id>http://www.zotero.org/styles/northeastern-naturalist</id>+ <link href="http://www.zotero.org/styles/northeastern-naturalist" rel="self"/>+ <link href="http://www.zotero.org/styles/the-journal-of-wildlife-management" rel="template"/>+ <link href="http://www.eaglehill.us/programs/journals/nena/NENAauthor.pdf" rel="documentation"/>+ <author>+ <name>Sebastian Karcher</name>+ </author>+ <category citation-format="author-date"/>+ <category field="biology"/>+ <issn>1092-6194</issn>+ <eissn>1938-5307</eissn>+ <updated>2012-09-27T22:06:38+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <macro name="author">+ <names variable="author" suffix=".">+ <name sort-separator=", " initialize-with="." and="text" name-as-sort-order="first" delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=" (" suffix=")" text-case="capitalize-first"/>+ <substitute>+ <names variable="editor"/>+ <text variable="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name sort-separator=" " initialize-with="." and="text" delimiter=", "/>+ <label form="short" prefix=" (" suffix=")" text-case="capitalize-first"/>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", " initialize-with="."/>+ <substitute>+ <names variable="editor"/>+ <text variable="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="year-date">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="year-suffix" font-style="italic"/>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="chapter-info">+ <group delimiter=" ">+ <choose>+ <if type="chapter paper-conference" match="any">+ <group delimiter=" ">+ <label variable="page" text-case="capitalize-first" form="short"/>+ <text variable="page" suffix=","/>+ <text term="in" font-style="italic" text-case="capitalize-first"/>+ </group>+ </if>+ </choose>+ <text macro="editor"/>+ </group>+ </macro>+ <macro name="container">+ <choose>+ <if type="article-journal article-magazine" match="any">+ <group delimiter=" ">+ <text variable="container-title"/>+ <group delimiter=":">+ <text variable="volume"/>+ <text variable="page"/>+ </group>+ </group>+ </if>+ <else-if type="article-newspaper">+ <text variable="container-title"/>+ <date variable="issued" delimiter=" ">+ <date-part name="day"/>+ <date-part name="month"/>+ <date-part name="year"/>+ </date>+ <text variable="section" prefix="; section "/>+ <text variable="page" prefix=":"/>+ </else-if>+ <else>+ <text variable="container-title"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <group delimiter=", ">+ <group delimiter=" ">+ <text variable="collection-title"/>+ <text variable="collection-number"/>+ </group>+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="long-ordinal" text-case="capitalize-first"/>+ <text term="edition"/>+ </group>+ </if>+ <else>+ <text variable="edition"/>+ </else>+ </choose>+ </macro>+ <macro name="volume">+ <choose>+ <if type="article-journal article-magazine" match="none">+ <choose>+ <if variable="volume">+ <group delimiter=" ">+ <text term="volume" text-case="capitalize-first" form="short"/>+ <text variable="volume"/>+ </group>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="accessed">+ <choose>+ <if variable="URL">+ <group delimiter=". ">+ <text variable="URL" prefix="Available online at "/>+ <group delimiter=" ">+ <text term="accessed" text-case="capitalize-first"/>+ <date variable="accessed" delimiter=" ">+ <date-part name="month" text-case="capitalize-first"/>+ <date-part name="day" suffix=","/>+ <date-part name="year"/>+ </date>+ </group>+ </group>+ </if>+ </choose>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" givenname-disambiguation-rule="by-cite" collapse="year-suffix">+ <sort>+ <key macro="author-short"/>+ <key macro="year-date"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter=", ">+ <group delimiter=":">+ <group delimiter=" ">+ <text macro="author-short"/>+ <text macro="year-date"/>+ </group>+ <text variable="locator"/>+ </group>+ </layout>+ </citation>+ <bibliography entry-spacing="0" hanging-indent="true">+ <sort>+ <key macro="author"/>+ <key macro="year-date"/>+ </sort>+ <layout suffix=".">+ <group delimiter=". ">+ <text macro="author"/>+ <text macro="year-date"/>+ <text variable="title"/>+ <text macro="chapter-info"/>+ <text macro="container"/>+ <text macro="edition"/>+ <text macro="volume"/>+ <text variable="genre"/>+ <text macro="publisher"/>+ <text variable="number-of-pages" suffix=" pp."/>+ <text macro="accessed"/>+ </group>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "DOI": "10.1111/j.1523-1739.2008.01029.x",+ "URL": "http://dx.doi.org/10.1111/j.1523-1739.2008.01029.x",+ "abstract": "Studies have documented biodiversity losses due to intensification of coffee management (reduction in canopy richness and complexity). Nevertheless, questions remain regarding relative sensitivity of different taxa, habitat specialists, and functional groups, and whether implications for biodiversity conservation vary across regions. We quantitatively reviewed data from ant, bird, and tree biodiversity studies in coffee agroecosystems to address the following questions: Does species richness decline with intensification or with individual vegetation characteristics? Are there significant losses of species richness in coffee-management systems compared with forests? Is species loss greater for forest species or for particular functional groups? and Are ants or birds more strongly affected by intensification? Across studies, ant and bird richness declined with management intensification and with changes in vegetation. Species richness of all ants and birds and of forest ant and bird species was lower in most coffee agroecosystems than in forests, but rustic coffee (grown under native forest canopies) had equal or greater ant and bird richness than nearby forests. Sun coffee (grown without canopy trees) sustained the highest species losses, and species loss of forest ant, bird, and tree species increased with management intensity. Losses of ant and bird species were similar, although losses of forest ants were more drastic in rustic coffee. Richness of migratory birds and of birds that forage across vegetation strata was less affected by intensification than richness of resident, canopy, and understory bird species. Rustic farms protected more species than other coffee systems, and loss of species depended greatly on habitat specialization and functional traits. We recommend that forest be protected, rustic coffee be promoted, and intensive coffee farms be restored by augmenting native tree density and richness and allowing growth of epiphytes. We also recommend that future research focus on potential trade-offs between biodiversity conservation and farmer livelihoods stemming from coffee production. Diversos estudios han documentado las p�rdidas de biodiversidad debido a la intensificaci�n del manejo de caf� (disminuci�n de la riqueza y complejidad del dosel). Sin embargo, persisten preguntas sobre la sensibilidad relativa de diferentes taxa, especialistas de h�bitat y grupos funcionales, y s� las implicaciones para la conservaci�n de la biodiversidad var�an entre regiones. Revisamos cuantitativamente los datos de estudios de biodiversidad de hormigas, aves y �rboles en agroecosistemas de caf� para abordar las siguientes preguntas: �La riqueza de especies declina con la intensificaci�n o con las caracter�sticas individuales de la vegetaci�n?�Hay p�rdidas significativas de riqueza de especies en los sistemas cafetaleros en comparaci�n con los bosques?�Es mayor la p�rdida en especies de bosque o en grupos funcionales particulares? y �Las aves o las hormigas son m�s afectadas por la intensificaci�n? En los estudios revisados, la riqueza de hormigas y aves declin� con la intensificaci�n del manejo y con los cambios de vegetaci�n. La riqueza de especies de todas las hormigas y aves y la de especies de hormigas y aves de bosque fue menor en la mayor�a de los agroecosistemas cafetaleros que en los bosques, pero el caf� r�stico (cultivado bajo dosel de bosque nativo) sustent� la mayor p�rdida de especies, y la p�rdida de especies de hormigas, aves y �rboles de bosque aument� con la intensificaci�n del manejo. Las p�rdidas de especies de hormigas y aves fueron similares, aunque las p�rdidas de hormigas de bosque fueron m�s dr�sticas en el caf� r�stico. La riqueza de especies de aves migratorias y de aves que forrajean en varios estratos de vegetaci�n fueron menos afectadas por la intensificaci�n que las especies residentes de dosel y de sotobosque. Las fincas r�sticas protegieron m�s especies que otros sistemas cafetaleros, y la p�rdida de especies dependi� mayormente de la especializaci�n de h�bitat y de los atributos funcionales. Recomendamos que el bosque sea protegido, se promueva el caf� r�stico y se restauren las fincas intensivas mediante el incremento de la densidad y riqueza de �rboles nativos y permitiendo el crecimiento de ep�fitas. Tambi�n recomendamos que las futuras investigaciones enfoquen las compensaciones potenciales entre la conservaci�n de la biodiversidad y la forma de vida de los campesinos que producen caf�.",+ "accessed": {+ "date-parts": [+ [+ "2008",+ 9,+ 25+ ]+ ]+ },+ "author": [+ {+ "family": "Philpott",+ "given": "S. M."+ },+ {+ "family": "Arendt",+ "given": "W. J."+ },+ {+ "family": "Armbrecht",+ "given": "I."+ },+ {+ "family": "Bichier",+ "given": "P."+ },+ {+ "family": "Dietsch",+ "given": "T. V."+ },+ {+ "family": "Gordon",+ "given": "C."+ },+ {+ "family": "Greenberg",+ "given": "R."+ },+ {+ "family": "Perfecto",+ "given": "I."+ },+ {+ "family": "Reynoso-Santos",+ "given": "R."+ },+ {+ "family": "Soto-Pinto",+ "given": "L."+ },+ {+ "family": "Tejeda-Cruz",+ "given": "C."+ },+ {+ "family": "Williams-Linera",+ "given": "G."+ },+ {+ "family": "Valenzuela",+ "given": "J."+ },+ {+ "family": "Zolotoff",+ "given": "J. M."+ }+ ],+ "container-title": "Conservation Biology",+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2008"+ ]+ ]+ },+ "key": "WQDG7EP5",+ "page": "1093-1105",+ "source": "Wiley InterScience",+ "title": "Biodiversity loss in Latin American coffee landscapes: review of the evidence on ants, birds, and trees",+ "title-short": "Biodiversity Loss in Latin American Coffee Landscapes",+ "type": "article-journal",+ "volume": "22"+ },+ {+ "DOI": "10.1603/0046-225X(2008)37[181:BDOPAA]2.0.CO;2",+ "ISSN": "0046-225X",+ "URL": "http://www.bioone.org/doi/abs/10.1603/0046-225X(2008)37%5B181:BDOPAA%5D2.0.CO%3B2",+ "abstract": "Aspects of predator assemblages that alter predator effects on prey have received extensive recent attention. Among other mechanisms, differences in behavior or resource use within predator trophic levels may enhance predator effects on prey, especially if effects of each predator species differ with environmental conditions. We address whether three common ant species (Azteca instabilis F. Smith, Camponotus textor Forel, and Crematogaster spp.) are functionally unique in coffee agroecosystems, asking if each species differs in (1) cooperative foraging behavior, (2) responses to experimentally introduced herbivores, and (3) responses to pest outbreaks. Furthermore, we examined the behaviors and effects of each ant species under different conditions by varying herbivore species, herbivore size, and herbivore density and carrying out observations in different seasons. Ant species significantly differed in foraging behaviors, in effects on individual herbivores, and in responses to pest outbreaks in terms of both type and time of response to herbivores. The behaviors and effects of each ant species differed in the dry and wet seasons and for different herbivore species and sizes. Although A. instabilis generally removed more larvae and more quickly removed larvae, this was not the case under all conditions. The data presented thus support that common ant species in coffee agroecosystems are behaviorally diverse in their responses to herbivores under different conditions. We discuss the implications of these differences in ant behaviors for enhancement of predatory function in light of both multipredator effects and in terms of the potential importance of predator diversity.",+ "author": [+ {+ "family": "Philpott",+ "given": "S. M."+ },+ {+ "family": "Perfecto",+ "given": "I."+ },+ {+ "family": "Vandermeer",+ "given": "J."+ }+ ],+ "container-title": "Environmental Entomology",+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "2008"+ ]+ ]+ },+ "key": "74WGHVRQ",+ "page": "181-191",+ "source": "BioOne",+ "title": "Behavioral diversity of predatory arboreal ants in coffee agroecosystems",+ "type": "article-journal",+ "volume": "37"+ },+ {+ "DOI": "10.1111/j.1365-2656.2008.01358.x",+ "ISSN": "1365-2656",+ "URL": "http://onlinelibrary.wiley.com/doi/10.1111/j.1365-2656.2008.01358.x/abstract",+ "abstract": "Ants are important predators in agricultural systems, and have complex and often strong effects on lower trophic levels. Agricultural intensification reduces habitat complexity, food web diversity and structure, and affects predator communities. Theory predicts that strong top-down cascades are less likely to occur as habitat and food web complexity decrease. * 2To examine relationships between habitat complexity and predator effects, we excluded ants from coffee plants in coffee agroecosystems varying in vegetation complexity. Specifically, we studied the effects of eliminating ants on arthropod assemblages, herbivory, damage by the coffee berry borer and coffee yields in four sites differing in management intensification. We also sampled ant assemblages in each management type to see whether changes in ant assemblages relate to any observed changes in top-down effects. * 3Removing ants did not change total arthropod densities, herbivory, coffee berry borer damage or coffee yields. Ants did affect densities of some arthropod orders, but did not affect densities of different feeding groups. The effects of ants on lower trophic levels did not change with coffee management intensity. * 4Diversity and activity of ants on experimental plants did not change with coffee intensification, but the ant species composition differed. * 5Although variation in habitat complexity may affect trophic cascades, manipulating predatory ants across a range of coffee agroecosystems varying in management intensity did not result in differing effects on arthropod assemblages, herbivory, coffee berry borer attack or coffee yields. Thus, there is no clear pattern that top-down effects of ants in coffee agroecosystems intensify or dampen with decreased habitat complexity.",+ "accessed": {+ "date-parts": [+ [+ "2013",+ 6,+ 10+ ]+ ]+ },+ "author": [+ {+ "family": "Philpott",+ "given": "S. M."+ },+ {+ "family": "Perfecto",+ "given": "I."+ },+ {+ "family": "Vandermeer",+ "given": "J."+ }+ ],+ "container-title": "Journal of Animal Ecology",+ "id": "ITEM-3",+ "issue": "3",+ "issued": {+ "date-parts": [+ [+ "2008"+ ]+ ]+ },+ "key": "95I7USJP",+ "language": "en",+ "page": "505–511",+ "source": "Wiley Online Library",+ "title": "Effects of predatory ants on lower trophic levels across a gradient of coffee management complexity",+ "type": "article-journal",+ "volume": "77"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_SectionAndLocator.txt view
@@ -0,0 +1,69 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Title One, 123+Title Two+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1",+ "locator": "123"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; ">+ <group delimiter=", ">+ <text variable="title"/>+ <text variable="locator"/>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "section": "456",+ "title": "Title One",+ "type": "legislation"+ },+ {+ "id": "ITEM-2",+ "section": "456",+ "title": "Title Two",+ "type": "legislation"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_SelfLink.txt view
@@ -0,0 +1,627 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+[O A. <i>Book Title</i>]+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" default-locale="en" version="1.0" demote-non-dropping-particle="sort-only">+ <info>+ <title>NEMO-Online-en</title>+ <id>http://www.zotero.org/styles/nemo-online</id>+ <author>+ <name>Amine Beyhom, based on Chicago style by Julian Onions</name>+ </author>+ <category citation-format="author-date"/>+ <category field="humanities"/>+ <updated>2011-08-10T08:04:18+03:00</updated>+ <summary>In progress</summary>+ <rights>This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/ </rights>+ </info>+ <locale xml:lang="en">+ <style-options punctuation-in-quote="false"/>+ <terms>+ <term name="editor" form="verb-short">ed.</term>+ <!-- <term name="container-author" form="verb">by</term>-->+ <term name="translator" form="verb-short">trans.</term>+ <term name="anonymous" form="short">o. A.</term> + <term name="editortranslator" form="verb">+ <single>ed. and trans. by</single>+ <multiple>ed. and trans. by</multiple>+ </term>+ <term name="translator" form="short">trans.</term>+ </terms>+ </locale>+ <!-- <locale xml:lang="de"> -->+ <!-- <terms> -->++ <!-- <term name="no date" form="short">o. J.</term> -->+ <!-- <term name="collection-editor" form="short">Hrsg.</term> -->+ <!-- </terms> -->+ <!-- </locale> -->+++ <!-- useful things:+ non breaking space:  + narrow no break space: uni202F /   - but this is not supported widely!+ em dash: —+ + -->+ <!-- definition de la macro "date" qui sera reprise dans le "layout" - intext_date est la variable courte citee dans le texte -->+ <macro name="intext_date">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </macro>+++ <macro name="date">+ <date variable="issued">++ <date-part name="year"/>+ <date-part name="month" form="numeric" prefix="-" range-delimiter="/"/>+ <date-part name="day" prefix="-" range-delimiter="/"/>++ </date>+ </macro>+ <macro name="secondary-contributors">+ <!-- choisir entre differentes possibilites (sinon les options sont prises sequentiellement, ou comme un "assignment" -->+ <choose>+ <if type="chapter paper-conference" match="none">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <names variable="editor">+ <label suffix=" " strip-periods="true"/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ </choose>+ <choose>+ <if variable="author editor" match="any">+ <names variable="translator">+ <label suffix=" " strip-periods="true"/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ </choose>+ <choose>+ <if variable="author editor" match="any">+ <names variable="composer" prefix="Comp. ">+ <label suffix=" " strip-periods="true"/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <!-- definition de la macro "container-contributors" qui pourra etre reprise dans le "layout" -->+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference" match="any">+ <group prefix="," delimiter=", ">+ <choose>+ <if variable="author">+ <names variable="editor">+ <label form="verb-short" prefix=" " text-case="lowercase" suffix=" " strip-periods="false"/>+ <name and="text" delimiter=", "/>+ </names>+ <choose>+ <if variable="container-author">+ <group>+ <names variable="container-author">+ <label form="verb-short" prefix=" " text-case="lowercase" suffix=" " strip-periods="true"/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </if>+ </choose>+ </if>+ </choose>+ <choose>+ <if variable="author editor" match="any">+ <names variable="translator">+ <label form="verb-short" prefix=" " text-case="lowercase" suffix=". " strip-periods="true"/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <!-- definition de la macro "anon" qui permet de formater les publications anonymes avec nom d'auteur sous la forme "Anon." -->+ <macro name="anon">+ <choose>+ <if variable="author editor translator composer " match="none">+ <text term="anonymous" form="short" suffix=". " text-case="capitalize-first" strip-periods="true"/>+ <names variable="author">+ <name/>+ <substitute>+ <names variable="editor"/>+ <text macro="title"/>+ </substitute>+ </names>+ </if>+ </choose>+ </macro>+ <!-- definition de la macro "editor" qui permet de formater les noms des editeurs (d'actes de colloque, par exemple) -->+ <macro name="editor">+ <names variable="editor">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="never"/>+ <label form="short" prefix=", " suffix="." strip-periods="true"/>+ </names>+ </macro>+ <!-- definition de la macro "translator" qui permet de formater les nom des traducteurs -->+ <macro name="translator">+ <names variable="translator">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="never"/>+ <label form="verb-short" prefix=", " suffix="." strip-periods="true"/>+ </names>+ </macro>+ <!-- definition de la macro "recipient" qui permet de formater les nom des personnes a qui est adressee une lettre ou une communication personnelle-->+ <macro name="recipient">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text variable="genre" text-case="capitalize-first"/>+ </if>++ </choose>+ </if>+ </choose>+ <names variable="recipient" delimiter=", ">+ <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="editor-collection">+ <names variable="collection-editor" delimiter=" ; ">+ <name name-as-sort-order="all" sort-separator=", " initialize-with=". " delimiter=" ; "+ delimiter-precedes-last="always" font-variant="small-caps"/>+ <label form="short" prefix=" (" suffix=")"/>+ <!-- needed: Label should appear as suffix to EVERY name...!-->+ </names>+ </macro>+ <!-- definition de la macro "contributors" qui permet de formater les nom des contributeurs (par exemple pour une preface) a un livre ou autre document -->++ <macro name="contributors">+ <names variable="author">+ <name and="text" name-as-sort-order="first" sort-separator=", " delimiter=", " delimiter-precedes-last="never">+ <name-part name="family" font-variant="small-caps"/>+ <name-part name="given" />+ </name>+ <label form="verb-short" prefix=", " suffix="." text-case="lowercase" strip-periods="true"/>+ <substitute>+ <text macro="editor"/>+ <text macro="translator"/>+ </substitute>+ </names>+ <text macro="anon"/>+ <text macro="recipient" prefix=" @ "/>+ </macro>+ <!-- definition de la macro "contributors-short" qui permet de formater les nom des contributeurs (variante "courte" - sans le "recipient" - de la precedente) -->+ <macro name="contributors-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <names variable="recipient"/>+ </substitute>+ </names>+ <text macro="anon"/>+ </macro>+ <!-- definition de la macro "interviewers" qui permet de formater les nom des intervieweurs -->+ <macro name="interviewer">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" prefix=", " suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <!-- definition de la macro "archive" qui permet de formater le nom et le lieu de l'archive qui contient le document, quand elle existe -->+ <macro name="archive">+ <group delimiter=". ">+ <text variable="archive_location" text-case="capitalize-first"/>+ <text variable="archive"/>+ <text variable="archive-place"/>+ </group>+ </macro>+ <!-- d finition de la macro "publication_date" qui permet de formater la date quand le lieu n'existe pas (par defaut) -->+ <macro name="publication_date">+ <group delimiter=". ">+ <text variable="publisher-place" prefix=" ("/>+ <date variable="issued" suffix=")">+ <date-part name="year"/>+ </date>+ </group>+ </macro>+ <!-- definition de la macro "access" qui permet de formater le lieu et l'URL du document quand il sort des normes, ainsi que le DOI "The Digital Object Identifier (DOI ) System is for identifying content objects in the digital environment. DOI names are assigned to any entity for use on digital networks. They are used to provide current information, including where they (or information about them) can be found on the Internet. Information about a digital object may change over time, including where to find it, but its DOI name will not change", cf. http://www.doi.org/ -->+ <macro name="access">+ <group delimiter=". ">+ <choose>+ <if type="graphic report" match="any">+ <text macro="archive"/>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song article-magazine article-newspaper thesis chapter paper-conference" match="none">+ <text macro="archive"/>+ </else-if>+ </choose>+ <!-- <text variable="DOI" prefix="doi :"/> -->+ <text variable="DOI" prefix="doi: "/>+ <choose>+ <if type="manuscript speech webpage entry-encyclopedia motion_picture song paper-conference" match="any">+ <!-- <text variable="URL" prefix="url: "/> -->+ </if>+ </choose>+ <text variable="URL" prefix="url: "/>+ </group>+ </macro>+ <macro name="title">+ <choose>+ <if variable="title" match="none">+ <choose>+ <if type="personal_communication" match="none">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ </choose>+ </if>+ <!-- Titles in italics for books -->+ <else-if type="bill book legal_case motion_picture report song thesis" match="any">+ <text variable="title" font-style="italic"/>+ </else-if>+ <!-- titles between quotes for articles -->+ <else-if type="article-journal article-magazine article-newspaper paper-conference" match="any">+ <text variable="title" quotes="true"/>+ </else-if>+ <!-- titles between quotes for other publications-->+ <else>+ <text variable="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <!-- grouping the number of the edition with the shortened name "ed." -->+ <macro name="edition">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <choose>+ <!-- if the edition is a number, write "number_ed." -->+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <!--else, write the string in "edition" with a "." as a suffix -->+ <else>+ <text term="edition" form="short" suffix=". " strip-periods="true"/>+ <text variable="edition" suffix=""/>++ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators">+ <text variable="issue" prefix=" (" suffix=")"/>+ <text variable="volume" form="short" text-case="capitalize-first" suffix=". " strip-periods="true" prefix=" "/>+ <text variable="number" form="short" text-case="capitalize-first" suffix=". " strip-periods="true" prefix=" "/>+ <choose>++ <if type="article-journal">+ <text variable="volume" form="short" text-case="capitalize-first" suffix=". " strip-periods="true" prefix=" "/>+ <number variable="number" suffix=". " prefix=" "/>+ </if>+ <else-if type="legal_case">+ <text variable="volume" prefix=", "/>+ <text variable="container-title" prefix=" "/>+ <text variable="page" prefix=" "/>+ </else-if>+ <!-- integrating volume numbers in the form "volume(numeric)/volumes(numeric)" -->+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <group prefix=", ">+ <group>+ <text term="volume" form="short" text-case="capitalize-first" suffix=". " strip-periods="true"/>+ <number variable="volume" form="numeric" suffix="/"/>+ </group>+ <group>+ <number variable="number-of-volumes" form="numeric"/>+ <text term="volume" form="short" suffix=", " prefix=" " plural="true"/>+ </group>+ </group>+ </else-if>+ <else-if type="chapter paper-conference" match="any">+ <choose>+ <if variable="page" match="none">+ <group prefix=", ">+ <text term="volume" form="short" text-case="capitalize-first" suffix=". " strip-periods="true"/>+ <number variable="volume" form="numeric"/>+ </group>+ </if>+ </choose>+ </else-if>+ </choose>+ </macro>+ <macro name="volume_locators">+ <choose>+ <if type="article-journal">+ <text variable="volume" text-case="capitalize-first" font-style="italic" prefix=" " />+ </if>+ <else-if type="legal_case">+ <text variable="volume" prefix=", "/>+ <text variable="container-title" prefix=" "/>+ <text variable="page" prefix=" "/>+ </else-if>+ <else-if type="song">+ <text variable="volume" prefix=" (track " suffix=")"/>+ <text variable="container-title" prefix=" "/>+ <text variable="page" prefix=" "/>+ </else-if>+ <!-- integrating volume numbers in the form "volume(numeric)/volumes(numeric)" -->+ <else-if type="bill book graphic legal_case motion_picture report entry-encyclopedia" match="any">+ <group prefix=" ">+ <group>+ <!-- <text term="volume" form="short" suffix=". " strip-periods="true"/> -->+ <number variable="volume" form="numeric" suffix="/" font-style="italic"/>+ </group>+ <group>+ <number variable="number-of-volumes" form="numeric" font-style="italic"/>+ <text term="volume" form="short" suffix=")" prefix=" (" plural="true"/>+ </group>+ </group>+ </else-if>+ <else-if type="chapter paper-conference" match="any">+ <choose>+ <if variable="page" match="none">+ <group prefix=", ">+ <text term="volume" form="short" text-case="capitalize-first" suffix=". " strip-periods="true"/>+ <number variable="volume" form="numeric"/>+ </group>+ </if>+ </choose>+ </else-if>+ </choose>+ <text variable="issue" font-style="italic" prefix=" " suffix=""/>+ </macro>++ <macro name="locators-chapter">+ <choose>+ <if type="chapter paper-conference" match="any">+ <choose>+ <if variable="page">+ <group prefix=", ">+ <text variable="volume" suffix=","/>+ </group>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-article">+ <choose>+ <if type="article-newspaper">+ <group prefix=", " delimiter=", ">+ <group>+ <text variable="edition" suffix=" "/>+ <text term="edition" prefix=" "/>+ </group>+ <group>+ <text term="section" form="short" suffix=". " strip-periods="true"/>+ <text variable="section"/>+ </group>+ </group>+ </if>+ <!-- <else-if type="article-journal">+ <text variable="page" prefix=", "/>+ </else-if> -->+ </choose>+ </macro>+ <macro name="point-locators">+ <choose>+ <if variable="locator">+ <choose>+ <if locator="page" match="none">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <choose>+ <if variable="volume">+ <group>+ <text term="volume" form="short" text-case="lowercase" suffix=". " strip-periods="true"/>+ <number variable="volume" prefix="v. " form="numeric"/>+ <label variable="locator" form="short" prefix=", p. " suffix=" "/>+ </group>+ </if>+ <else>+ <label variable="locator" form="short" prefix=", p. " suffix=" "/>+ </else>+ </choose>+ </if>+ </choose>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <number variable="volume" form="numeric" prefix="v. " suffix=", "/>+ </else-if>+ </choose>+ <text variable="locator" prefix="p. " />+ </if>+ </choose>+ </macro>+ <macro name="container-title">+ <choose>+ <if type="chapter paper-conference" match="any">+ <!-- <text macro="container-prefix" suffix=" "/> -->+ </if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <text variable="container-title" font-style="italic"/>+ </if>+ </choose>+ </macro>+ <macro name="publisher">+ <group delimiter=", ">+ <text variable="publisher"/>+ </group>+ </macro>+ <macro name="day-month">+ <date variable="issued">+ <date-part name="month"/>+ <date-part name="day" prefix=" "/>+ </date>+ </macro>+ <macro name="collection-title">+ <text variable="collection-title" font-style="italic"/>+ <text variable="collection-number" prefix=" "/>+ </macro>+ <macro name="event">+ <group>+ <text term="presented at" suffix=" "/>+ <text variable="event"/>+ </group>+ </macro>+ <macro name="description">+ <choose>+ <if type="interview">+ <group delimiter=", ">+ <text macro="interviewer"/>+ <text variable="medium"/>+ </group>+ </if>+ <else>+ <text variable="medium" prefix=", "/>+ </else>+ </choose>+ <choose>+ <if variable="title" match="none"/>+ <!-- <else-if type="thesis"/> -->+ <else>+ <text variable="genre" text-case="capitalize-first" prefix=", "/>+ </else>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="article-journal">+ <text macro="day-month" prefix=" (" suffix=")"/>+ </if>+ <else-if type="legal_case">+ <text variable="authority" prefix=", "/>+ </else-if>+ <else-if type="speech">+ <group prefix=" " delimiter=", ">+ <text macro="event"/>+ <text macro="day-month"/>+ <text variable="event-place"/>+ </group>+ </else-if>+ <else-if type="article-newspaper article-magazine" match="any">+ <text macro="day-month" prefix=", "/>+ </else-if>+ <else>+ <group prefix=", " delimiter=", ">+ <choose>+ <if type="thesis">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ </choose>+ <text macro="publisher"/>+ <text macro="day-month"/>+ </group>+ </else>+ </choose>+ </macro>++ <citation et-al-min="4" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true">+ <sort>+ <key macro="contributors"/>+ <key variable="issued" sort="ascending"/>+ </sort>+ <layout prefix="[" suffix="]" delimiter=" ; ">+ <group delimiter=", ">+ <group delimiter=", ">+ <text macro="contributors-short"/>+ <text macro="intext_date"/>+ </group>+ <text macro="point-locators"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="5" et-al-use-first="3" entry-spacing="0">+ <sort>+ <key macro="contributors"/>+ <key variable="issued" sort="ascending"/>+ </sort>+ <layout suffix=".">+ <choose>+ <if variable="author editor translator composer" match="none">+ <text macro="contributors" suffix=""/>+ </if>+ </choose>+ <text macro="contributors" suffix=" : "/>+ <text macro="title"/>+ <text macro="description"/>+ <text macro="secondary-contributors" prefix=", "/>+ <text macro="container-title" prefix=", "/>+ <text macro="container-contributors"/>+ <!-- <text macro="locators-chapter"/> -->+ <text macro="edition" prefix=", "/>+ <!-- <text macro="locators"/> -->+ <text macro="collection-title" prefix=", "/>+ <text macro="volume_locators"/>+ <choose>+ <if variable="volume" match="none">+ <text macro="publisher" prefix=", "/>+ </if>+ <else>+ <text macro="publisher" prefix=", "/>+ </else>+ </choose>+ <text macro="locators-article"/>+ <choose>+ <if variable="publisher-place" match="any">+ <text variable="publisher-place" prefix=" |" suffix=", "/>+ <text macro="date" suffix="|"/>+ </if>+ <else-if variable="publisher-place" match="none">+ <text macro="date" prefix=" |" suffix="|"/>+ </else-if>+ </choose>+ <text macro="access" prefix=" [" suffix="]"/>+ <text variable="page" prefix=" p. "/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Book Title",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_SimpleBib.txt view
@@ -0,0 +1,94 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Bang</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0" demote-non-dropping-particle="never" page-range-format="chicago" name-as-sort-order="first" default-locale="en-US-x-sort-ja-alalc97">+ <info>+ <title>JM Chicago Manual of Style 16th edition (full note)</title>+ <id>http://juris-m.github.io/jm-styles/jm-chicago-fullnote-bibliography</id>+ <link href="http://juris-m.github.io/styles/jm-chicago-fullnote-bibliography" rel="self"/>+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </contributor>+ <contributor>+ <name>Elena Razlogova</name>+ <email>elena.razlogova@gmail.com</email>+ </contributor>+ <contributor>+ <name>Frank Bennett</name>+ <email>biercenator@gmail.com</email>+ </contributor>+ <contributor>+ <name>Andrew Dunning</name>+ <email>andrew.dunning@utoronto.ca</email>+ </contributor>+ <category citation-format="note"/>+ <category field="generic-base"/>+ <summary>Chicago format with full notes and bibliography</summary>+ <updated>2015-06-19T22:51:43.905955</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <citation>+ <layout>+ <text value="Boo"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <text value="Bang"/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Malone",+ "given": "Nolan J."+ },+ {+ "literal": "U.S. Bureau of the Census"+ }+ ],+ "id": "ITEM-6",+ "issued": {+ "date-parts": [+ [+ 2001,+ 12,+ 5+ ]+ ]+ },+ "publisher": "Routledge",+ "title": "Evaluating Components of International Migration: Consistency of 2000 Nativity Data",+ "type": "book"+ }+]+<<===== INPUT =====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_SingleQuote.txt view
@@ -0,0 +1,160 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">+ <div class="csl-left-margin">[1]</div><div class="csl-right-inline">“production d ’ eau glacée à condensation à eau avec récupération de chaleur . Modélisation simplifiée dans l ’ optique d ’ un calcul des consommations d ’ énergie d ’ une insta.”</div>+ </div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>IEEE</title>+ <id>http://www.zotero.org/styles/ieee</id>+ <link href="http://www.zotero.org/styles/ieee" rel="self"/>+ <author>+ <name>Michael Berkowitz</name>+ <email>mberkowi@gmu.edu</email>+ </author>+ <contributor>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </contributor>+ <contributor>+ <name>Rintze Zelle</name>+ <uri>http://forums.zotero.org/account/831/</uri>+ </contributor>+ <category field="engineering"/>+ <category field="generic-base"/>+ <category citation-format="numeric"/>+ <updated>2010-02-06T06:35:40+00:00</updated>+ <link href="http://www.ieee.org/portal/cms_docs_iportals/iportals/publications/authors/transjnl/stylemanual.pdf" rel="documentation"/>+ </info>+ <macro name="author">+ <names variable="author">+ <name initialize-with="." delimiter=", " and="text"/>+ <label form="short" prefix=", " text-case="capitalize-first" suffix="." strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name initialize-with="." delimiter=", " and="text" name-as-sort-order="all"/>+ <label form="short" prefix=", " text-case="capitalize-first" suffix="." strip-periods="true"/>+ </names>+ </macro>+ <macro name="title">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else>+ <text variable="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <text variable="publisher-place" suffix=": " prefix=" "/>+ <text variable="publisher" suffix=", "/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </macro>+ <macro name="access">+ <text variable="URL"/>+ </macro>+ <macro name="page">+ <group>+ <label variable="page" form="short" suffix=". " strip-periods="true"/>+ <text variable="page"/>+ </group>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" collapse="citation-number">+ <sort>+ <key variable="citation-number"/>+ </sort>+ <layout delimiter=",">+ <text variable="citation-number" prefix="[" suffix="]"/>+ </layout>+ </citation>+ <bibliography entry-spacing="0" second-field-align="flush">+ <layout suffix=".">+ <text variable="citation-number" prefix="[" suffix="]"/>+ <text macro="author" prefix=" " suffix=", "/>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="publisher"/>+ </group>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=", ">+ <text macro="title"/>+ <text variable="container-title" font-style="italic"/>+ <text macro="editor"/>+ <text macro="publisher"/>+ <text macro="page"/>+ </group>+ </else-if>+ <else-if type="patent">+ <text macro="title" suffix=", "/>+ <text variable="number" prefix="U.S. Patent "/>+ <date variable="issued" prefix=", ">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </else-if>+ <else-if type="thesis">+ <group delimiter=", ">+ <text macro="title"/>+ <text variable="genre"/>+ <text variable="publisher"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ <else>+ <group delimiter=", ">+ <text macro="title"/>+ <text variable="container-title" font-style="italic"/>+ <text variable="volume" prefix=" vol. "/>+ <date variable="issued">+ <date-part name="month" form="short" suffix=". " strip-periods="true"/>+ <date-part name="year"/>+ </date>+ <text macro="page"/>+ </group>+ </else>+ </choose>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "production d ' eau glacée à condensation à eau avec récupération de chaleur . Modélisation simplifiée dans l ’ optique d ’ un calcul des consommations d ’ énergie d ’ une insta"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_SingleQuoteXml.txt view
@@ -0,0 +1,645 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+[Cite with a composer ; O A. "hello" <i>Book Title</i>]+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version='1.0' encoding='utf-8'?>+<style xmlns='http://purl.org/net/xbiblio/csl' class='in-text' default-locale='en' version='1.0' demote-non-dropping-particle='sort-only'>+ <info>+ <title>NEMO-Online-en</title>+ <id>http://www.zotero.org/styles/nemo-online</id>+ <link href='http://www.zotero.org/styles/nemo-online' rel='self'/>+ <author>+ <name>Amine Beyhom, based on Chicago style by Julian Onions</name>+ </author>+ <category citation-format='author-date'/>+ <category field='humanities'/>+ <updated>2011-08-10T08:04:18+03:00</updated>+ <summary>In progress</summary>+ <rights>This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/ </rights>+ </info>+ <locale xml:lang='en'>+ <style-options punctuation-in-quote='false'/>+ <terms>+ <term name='editor' form='verb-short'>ed.</term>+ <!-- <term name='container-author' form='verb'>by</term>-->+ <term name='translator' form='verb-short'>trans.</term>+ <term name='anonymous' form='short'>o. A.</term> + <term name='editortranslator' form='verb'>+ <single>ed. and trans. by</single>+ <multiple>ed. and trans. by</multiple>+ </term>+ <term name='translator' form='short'>trans.</term>+ </terms>+ </locale>+ <!-- <locale xml:lang='de'> -->+ <!-- <terms> -->++ <!-- <term name='no date' form='short'>o. J.</term> -->+ <!-- <term name='collection-editor' form='short'>Hrsg.</term> -->+ <!-- </terms> -->+ <!-- </locale> -->+++ <!-- useful things:+ non breaking space:  + narrow no break space: uni202F /   - but this is not supported widely!+ em dash: —+ + -->+ <!-- definition de la macro 'date' qui sera reprise dans le 'layout' - intext_date est la variable courte citee dans le texte -->+ <macro name='intext_date'>+ <date variable='issued'>+ <date-part name='year'/>+ </date>+ </macro>+++ <macro name='date'>+ <date variable='issued'>++ <date-part name='year'/>+ <date-part name='month' form='numeric' prefix='-' range-delimiter='/'/>+ <date-part name='day' prefix='-' range-delimiter='/'/>++ </date>+ </macro>+ <macro name='secondary-contributors'>+ <!-- choisir entre differentes possibilites (sinon les options sont prises sequentiellement, ou comme un 'assignment' -->+ <choose>+ <if type='chapter paper-conference' match='none'>+ <group delimiter=', '>+ <choose>+ <if variable='author'>+ <names variable='editor'>+ <label suffix=' ' strip-periods='true'/>+ <name and='text' delimiter=', '/>+ </names>+ </if>+ </choose>+ <choose>+ <if variable='author editor' match='any'>+ <names variable='translator'>+ <label suffix=' ' strip-periods='true'/>+ <name and='text' delimiter=', '/>+ </names>+ </if>+ </choose>+ <choose>+ <if variable='author editor' match='any'>+ <names variable='composer' prefix='Comp. '>+ <label suffix=' ' strip-periods='true'/>+ <name and='text' delimiter=', '/>+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <!-- definition de la macro 'container-contributors' qui pourra etre reprise dans le 'layout' -->+ <macro name='container-contributors'>+ <choose>+ <if type='chapter paper-conference' match='any'>+ <group prefix=',' delimiter=', '>+ <choose>+ <if variable='author'>+ <names variable='editor'>+ <label form='verb-short' prefix=' ' text-case='lowercase' suffix=' ' strip-periods='false'/>+ <name and='text' delimiter=', '/>+ </names>+ <choose>+ <if variable='container-author'>+ <group>+ <names variable='container-author'>+ <label form='verb-short' prefix=' ' text-case='lowercase' suffix=' ' strip-periods='true'/>+ <name and='text' delimiter=', '/>+ </names>+ </group>+ </if>+ </choose>+ </if>+ </choose>+ <choose>+ <if variable='author editor' match='any'>+ <names variable='translator'>+ <label form='verb-short' prefix=' ' text-case='lowercase' suffix='. ' strip-periods='true'/>+ <name and='text' delimiter=', '/>+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <!-- definition de la macro 'anon' qui permet de formater les publications anonymes avec nom d'auteur sous la forme 'Anon.' -->+ <macro name='anon'>+ <choose>+ <if variable='author editor translator composer ' match='none'>+ <text term='anonymous' form='short' suffix='. "hello" ' text-case="capitalize-first" strip-periods='true'/>+ <names variable='author'>+ <name/>+ <substitute>+ <names variable='editor'/>+ <text macro='title'/>+ </substitute>+ </names>+ </if>+ <else>+ <text value='Cite with a composer'/>+ </else>+ </choose>+ </macro>+ <!-- definition de la macro 'editor' qui permet de formater les noms des editeurs (d'actes de colloque, par exemple) -->+ <macro name='editor'>+ <names variable='editor'>+ <name name-as-sort-order='first' and='text' sort-separator=', ' delimiter=', ' delimiter-precedes-last='never'/>+ <label form='short' prefix=', ' suffix='.' strip-periods='true'/>+ </names>+ </macro>+ <!-- definition de la macro 'translator' qui permet de formater les nom des traducteurs -->+ <macro name='translator'>+ <names variable='translator'>+ <name name-as-sort-order='first' and='text' sort-separator=', ' delimiter=', ' delimiter-precedes-last='never'/>+ <label form='verb-short' prefix=', ' suffix='.' strip-periods='true'/>+ </names>+ </macro>+ <!-- definition de la macro 'recipient' qui permet de formater les nom des personnes a qui est adressee une lettre ou une communication personnelle-->+ <macro name='recipient'>+ <choose>+ <if type='personal_communication'>+ <choose>+ <if variable='genre'>+ <text variable='genre' text-case='capitalize-first'/>+ </if>++ </choose>+ </if>+ </choose>+ <names variable='recipient' delimiter=', '>+ <label form='verb' prefix=' ' text-case='lowercase' suffix=' '/>+ <name and='text' delimiter=', '/>+ </names>+ </macro>+ <macro name='editor-collection'>+ <names variable='collection-editor' delimiter=' ; '>+ <name name-as-sort-order='all' sort-separator=', ' initialize-with='. ' delimiter=' ; '+ delimiter-precedes-last='always' font-variant='small-caps'/>+ <label form='short' prefix=' (' suffix=')'/>+ <!-- needed: Label should appear as suffix to EVERY name...!-->+ </names>+ </macro>+ <!-- definition de la macro 'contributors' qui permet de formater les nom des contributeurs (par exemple pour une preface) a un livre ou autre document -->++ <macro name='contributors'>+ <names variable='author'>+ <name and='text' name-as-sort-order='first' sort-separator=', ' delimiter=', ' delimiter-precedes-last='never'>+ <name-part name='family' font-variant='small-caps'/>+ <name-part name='given' />+ </name>+ <label form='verb-short' prefix=', ' suffix='.' text-case='lowercase' strip-periods='true'/>+ <substitute>+ <text macro='editor'/>+ <text macro='translator'/>+ </substitute>+ </names>+ <text macro='anon'/>+ <text macro='recipient' prefix=' @ '/>+ </macro>+ <!-- definition de la macro 'contributors-short' qui permet de formater les nom des contributeurs (variante 'courte' - sans le 'recipient' - de la precedente) -->+ <macro name='contributors-short'>+ <names variable='author'>+ <name form='short' and='text' delimiter=', '/>+ <substitute>+ <names variable='editor'/>+ <names variable='translator'/>+ <names variable='recipient'/>+ </substitute>+ </names>+ <text macro='anon'/>+ </macro>+ <!-- definition de la macro 'interviewers' qui permet de formater les nom des intervieweurs -->+ <macro name='interviewer'>+ <names variable='interviewer' delimiter=', '>+ <label form='verb' prefix=', ' suffix=' '/>+ <name and='text' delimiter=', '/>+ </names>+ </macro>+ <!-- definition de la macro 'archive' qui permet de formater le nom et le lieu de l'archive qui contient le document, quand elle existe -->+ <macro name='archive'>+ <group delimiter='. '>+ <text variable='archive_location' text-case='capitalize-first'/>+ <text variable='archive'/>+ <text variable='archive-place'/>+ </group>+ </macro>+ <!-- d finition de la macro 'publication_date' qui permet de formater la date quand le lieu n'existe pas (par defaut) -->+ <macro name='publication_date'>+ <group delimiter='. '>+ <text variable='publisher-place' prefix=' ('/>+ <date variable='issued' suffix=')'>+ <date-part name='year'/>+ </date>+ </group>+ </macro>+ <!-- definition de la macro 'access' qui permet de formater le lieu et l'URL du document quand il sort des normes, ainsi que le DOI 'The Digital Object Identifier (DOI ) System is for identifying content objects in the digital environment. DOI names are assigned to any entity for use on digital networks. They are used to provide current information, including where they (or information about them) can be found on the Internet. Information about a digital object may change over time, including where to find it, but its DOI name will not change', cf. http://www.doi.org/ -->+ <macro name='access'>+ <group delimiter='. '>+ <choose>+ <if type='graphic report' match='any'>+ <text macro='archive'/>+ </if>+ <else-if type='bill book graphic legal_case motion_picture report song article-magazine article-newspaper thesis chapter paper-conference' match='none'>+ <text macro='archive'/>+ </else-if>+ </choose>+ <!-- <text variable='DOI' prefix='doi :'/> -->+ <text variable='DOI' prefix='doi: '/>+ <choose>+ <if type='manuscript speech webpage entry-encyclopedia motion_picture song paper-conference' match='any'>+ <!-- <text variable='URL' prefix='url: '/> -->+ </if>+ </choose>+ <text variable='URL' prefix='url: '/>+ </group>+ </macro>+ <macro name='title'>+ <choose>+ <if variable='title' match='none'>+ <choose>+ <if type='personal_communication' match='none'>+ <text variable='genre' text-case='capitalize-first'/>+ </if>+ </choose>+ </if>+ <!-- Titles in italics for books -->+ <else-if type='bill book legal_case motion_picture report song thesis' match='any'>+ <text variable='title' font-style='italic'/>+ </else-if>+ <!-- titles between quotes for articles -->+ <else-if type='article-journal article-magazine article-newspaper paper-conference' match='any'>+ <text variable='title' quotes='true'/>+ </else-if>+ <!-- titles between quotes for other publications-->+ <else>+ <text variable='title' quotes='true'/>+ </else>+ </choose>+ </macro>+ <!-- grouping the number of the edition with the shortened name 'ed.' -->+ <macro name='edition'>+ <choose>+ <if type='bill book graphic legal_case motion_picture report song chapter paper-conference' match='any'>+ <choose>+ <!-- if the edition is a number, write 'number_ed.' -->+ <if is-numeric='edition'>+ <group delimiter=' '>+ <number variable='edition' form='ordinal'/>+ <text term='edition' form='short' suffix='.' strip-periods='true'/>+ </group>+ </if>+ <!--else, write the string in 'edition' with a '.' as a suffix -->+ <else>+ <text term='edition' form='short' suffix='. ' strip-periods='true'/>+ <text variable='edition' suffix=''/>++ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name='locators'>+ <text variable='issue' prefix=' (' suffix=')'/>+ <text variable='volume' form='short' text-case='capitalize-first' suffix='. ' strip-periods='true' prefix=' '/>+ <text variable='number' form='short' text-case='capitalize-first' suffix='. ' strip-periods='true' prefix=' '/>+ <choose>++ <if type='article-journal'>+ <text variable='volume' form='short' text-case='capitalize-first' suffix='. ' strip-periods='true' prefix=' '/>+ <number variable='number' suffix='. ' prefix=' '/>+ </if>+ <else-if type='legal_case'>+ <text variable='volume' prefix=', '/>+ <text variable='container-title' prefix=' '/>+ <text variable='page' prefix=' '/>+ </else-if>+ <!-- integrating volume numbers in the form 'volume(numeric)/volumes(numeric)' -->+ <else-if type='bill book graphic legal_case motion_picture report song' match='any'>+ <group prefix=', '>+ <group>+ <text term='volume' form='short' text-case='capitalize-first' suffix='. ' strip-periods='true'/>+ <number variable='volume' form='numeric' suffix='/'/>+ </group>+ <group>+ <number variable='number-of-volumes' form='numeric'/>+ <text term='volume' form='short' suffix=', ' prefix=' ' plural='true'/>+ </group>+ </group>+ </else-if>+ <else-if type='chapter paper-conference' match='any'>+ <choose>+ <if variable='page' match='none'>+ <group prefix=', '>+ <text term='volume' form='short' text-case='capitalize-first' suffix='. ' strip-periods='true'/>+ <number variable='volume' form='numeric'/>+ </group>+ </if>+ </choose>+ </else-if>+ </choose>+ </macro>+ <macro name='volume_locators'>+ <choose>+ <if type='article-journal'>+ <text variable='volume' text-case='capitalize-first' font-style='italic' prefix=' ' />+ </if>+ <else-if type='legal_case'>+ <text variable='volume' prefix=', '/>+ <text variable='container-title' prefix=' '/>+ <text variable='page' prefix=' '/>+ </else-if>+ <else-if type='song'>+ <text variable='volume' prefix=' (track ' suffix=')'/>+ <text variable='container-title' prefix=' '/>+ <text variable='page' prefix=' '/>+ </else-if>+ <!-- integrating volume numbers in the form 'volume(numeric)/volumes(numeric)' -->+ <else-if type='bill book graphic legal_case motion_picture report entry-encyclopedia' match='any'>+ <group prefix=' '>+ <group>+ <!-- <text term='volume' form='short' suffix='. ' strip-periods='true'/> -->+ <number variable='volume' form='numeric' suffix='/' font-style='italic'/>+ </group>+ <group>+ <number variable='number-of-volumes' form='numeric' font-style='italic'/>+ <text term='volume' form='short' suffix=')' prefix=' (' plural='true'/>+ </group>+ </group>+ </else-if>+ <else-if type='chapter paper-conference' match='any'>+ <choose>+ <if variable='page' match='none'>+ <group prefix=', '>+ <text term='volume' form='short' text-case='capitalize-first' suffix='. ' strip-periods='true'/>+ <number variable='volume' form='numeric'/>+ </group>+ </if>+ </choose>+ </else-if>+ </choose>+ <text variable='issue' font-style='italic' prefix=' ' suffix=''/>+ </macro>++ <macro name='locators-chapter'>+ <choose>+ <if type='chapter paper-conference' match='any'>+ <choose>+ <if variable='page'>+ <group prefix=', '>+ <text variable='volume' suffix=','/>+ </group>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name='locators-article'>+ <choose>+ <if type='article-newspaper'>+ <group prefix=', ' delimiter=', '>+ <group>+ <text variable='edition' suffix=' '/>+ <text term='edition' prefix=' '/>+ </group>+ <group>+ <text term='section' form='short' suffix='. ' strip-periods='true'/>+ <text variable='section'/>+ </group>+ </group>+ </if>+ <!-- <else-if type='article-journal'>+ <text variable='page' prefix=', '/>+ </else-if> -->+ </choose>+ </macro>+ <macro name='point-locators'>+ <choose>+ <if variable='locator'>+ <choose>+ <if locator='page' match='none'>+ <choose>+ <if type='bill book graphic legal_case motion_picture report song' match='any'>+ <choose>+ <if variable='volume'>+ <group>+ <text term='volume' form='short' text-case='lowercase' suffix='. ' strip-periods='true'/>+ <number variable='volume' prefix='v. ' form='numeric'/>+ <label variable='locator' form='short' prefix=', p. ' suffix=' '/>+ </group>+ </if>+ <else>+ <label variable='locator' form='short' prefix=', p. ' suffix=' '/>+ </else>+ </choose>+ </if>+ </choose>+ </if>+ <else-if type='bill book graphic legal_case motion_picture report song' match='any'>+ <number variable='volume' form='numeric' prefix='v. ' suffix=', '/>+ </else-if>+ </choose>+ <text variable='locator' prefix='p. ' />+ </if>+ </choose>+ </macro>+ <macro name='container-title'>+ <choose>+ <if type='chapter paper-conference' match='any'>+ <!-- <text macro='container-prefix' suffix=' '/> -->+ </if>+ </choose>+ <choose>+ <if type='legal_case' match='none'>+ <text variable='container-title' font-style='italic'/>+ </if>+ </choose>+ </macro>+ <macro name='publisher'>+ <group delimiter=', '>+ <text variable='publisher'/>+ </group>+ </macro>+ <macro name='day-month'>+ <date variable='issued'>+ <date-part name='month'/>+ <date-part name='day' prefix=' '/>+ </date>+ </macro>+ <macro name='collection-title'>+ <text variable='collection-title' font-style='italic'/>+ <text variable='collection-number' prefix=' '/>+ </macro>+ <macro name='event'>+ <group>+ <text term='presented at' suffix=' '/>+ <text variable='event'/>+ </group>+ </macro>+ <macro name='description'>+ <choose>+ <if type='interview'>+ <group delimiter=', '>+ <text macro='interviewer'/>+ <text variable='medium'/>+ </group>+ </if>+ <else>+ <text variable='medium' prefix=', '/>+ </else>+ </choose>+ <choose>+ <if variable='title' match='none'/>+ <!-- <else-if type='thesis'/> -->+ <else>+ <text variable='genre' text-case='capitalize-first' prefix=', '/>+ </else>+ </choose>+ </macro>+ <macro name='issue'>+ <choose>+ <if type='article-journal'>+ <text macro='day-month' prefix=' (' suffix=')'/>+ </if>+ <else-if type='legal_case'>+ <text variable='authority' prefix=', '/>+ </else-if>+ <else-if type='speech'>+ <group prefix=' ' delimiter=', '>+ <text macro='event'/>+ <text macro='day-month'/>+ <text variable='event-place'/>+ </group>+ </else-if>+ <else-if type='article-newspaper article-magazine' match='any'>+ <text macro='day-month' prefix=', '/>+ </else-if>+ <else>+ <group prefix=', ' delimiter=', '>+ <choose>+ <if type='thesis'>+ <text variable='genre' text-case='capitalize-first'/>+ </if>+ </choose>+ <text macro='publisher'/>+ <text macro='day-month'/>+ </group>+ </else>+ </choose>+ </macro>++ <citation et-al-min='4' et-al-use-first='1' disambiguate-add-year-suffix='true' disambiguate-add-names='true' disambiguate-add-givenname='true'>+ <sort>+ <key macro='contributors'/>+ <key variable='issued' sort='ascending'/>+ </sort>+ <layout prefix='[' suffix=']' delimiter=' ; '>+ <group delimiter=', '>+ <group delimiter=', '>+ <text macro='contributors-short'/>+ <text macro='intext_date'/>+ </group>+ <text macro='point-locators'/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent='true' et-al-min='5' et-al-use-first='3' entry-spacing='0'>+ <sort>+ <key macro='contributors'/>+ <key variable='issued' sort='ascending'/>+ </sort>+ <layout suffix='.'>+ <choose>+ <if variable='author editor translator composer' match='none'>+ <text macro='contributors' suffix=''/>+ </if>+ </choose>+ <text macro='contributors' suffix=' : '/>+ <text macro='title'/>+ <text macro='description'/>+ <text macro='secondary-contributors' prefix=', '/>+ <text macro='container-title' prefix=', '/>+ <text macro='container-contributors'/>+ <!-- <text macro='locators-chapter'/> -->+ <text macro='edition' prefix=', '/>+ <!-- <text macro='locators'/> -->+ <text macro='collection-title' prefix=', '/>+ <text macro='volume_locators'/>+ <choose>+ <if variable='volume' match='none'>+ <text macro='publisher' prefix=', '/>+ </if>+ <else>+ <text macro='publisher' prefix=', '/>+ </else>+ </choose>+ <text macro='locators-article'/>+ <choose>+ <if variable='publisher-place' match='any'>+ <text variable='publisher-place' prefix=' |' suffix=', '/>+ <text macro='date' suffix='|'/>+ </if>+ <else-if variable='publisher-place' match='none'>+ <text macro='date' prefix=' |' suffix='|'/>+ </else-if>+ </choose>+ <text macro='access' prefix=' [' suffix=']'/>+ <text variable='page' prefix=' p. '/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Book Title",+ "type": "book"+ },+ {+ "composer": [+ {+ "family": "Smith",+ "given": "Bob"+ }+ ],+ "id": "ITEM-2",+ "title": "Book-2 Title",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_SingletonIfMatchNoneFail.txt view
@@ -0,0 +1,51 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+PhD. diss.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <choose>+ <if match="none" variable="title"/>+ <else-if match="any" type="thesis speech">+ <text variable="genre" />+ </else-if>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "genre": "PhD. diss.",+ "id": "ITEM-1",+ "title": "His Anonymous Life",+ "type": "thesis"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_SmallCapsEscape.txt view
@@ -0,0 +1,454 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">++ <div class="csl-block">Aalto, Alan</div>++ <div class="csl-left-margin"> N.d.</div><div class="csl-right-inline"><span style="font-variant:small-caps;">Here</span>.</div>+ </div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" default-locale="en-US">+ <info>+ <title>American Anthropological Association</title>+ <title-short>AAA</title-short>+ <id>http://www.zotero.org/styles/american-anthropological-association</id>+ <link href="http://www.zotero.org/styles/american-anthropological-association" rel="self"/>+ <link href="http://www.aaanet.org/publications/style_guide.pdf" rel="documentation"/>+ <author>+ <name>Sebastian Karcher</name>+ </author>+ <contributor>+ <name>Mark Dingemanse</name>+ <email>mark.dingemanse@mpi.nl</email>+ </contributor>+ <category citation-format="author-date"/>+ <category field="anthropology"/>+ <summary>Citation style for the American Anthropological Association - Support from the Society for Cultural Anthropology is thankfully acknowledged</summary>+ <updated>2012-09-27T22:06:38+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <macro name="secondary-contributors">+ <choose>+ <if type="chapter paper-conference" match="none">+ <!--<group delimiter=". ">+ <names variable="editor translator" delimiter=", ">+ <name and="text" delimiter=", "/>+ <label form="short" prefix=", "/>+ </names>+ </group> -->+ <group delimiter=". ">+ <names variable="editor" delimiter=", ">+ <name and="text" delimiter=", "/>+ <label form="short" prefix=", "/>+ </names>+ <names variable="translator" delimiter=", ">+ <name and="text" delimiter=", "/>+ <label form="short" prefix=", "/>+ </names>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference" match="any">+ <group delimiter=". " prefix=" ">+ <names variable="editor" delimiter=", ">+ <name and="text" delimiter=", "/>+ <label form="short" prefix=", "/>+ </names>+ <names variable="translator" delimiter=", ">+ <name and="text" delimiter=", "/>+ <label form="short" prefix=", "/>+ </names>+ </group>+ <!-- <group delimiter=", ">+ <names variable="editor translator" delimiter=", ">+ <name and="text" delimiter=", "/>+ <label form="short" prefix=", "/>+ </names>+ </group> -->+ </if>+ </choose>+ </macro>+ <macro name="recipient">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ <else>+ <text term="letter" text-case="capitalize-first"/>+ </else>+ </choose>+ </if>+ </choose>+ <names variable="recipient" delimiter=", ">+ <label form="verb" prefix=" " suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="contributors">+ <choose>+ <if type="motion_picture" match="none">+ <names variable="author">+ <name and="text" name-as-sort-order="first" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ <text macro="recipient"/>+ </if>+ <else>+ <names variable="author">+ <name and="text" name-as-sort-order="first" sort-separator=", " delimiter=", " delimiter-precedes-last="always" suffix=", dir."/>+ <label form="short" prefix=", "/>+ <substitute>+ <text macro="title"/>+ </substitute>+ </names>+ </else>+ </choose>+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="interviewer">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" prefix=" " text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="archive">+ <choose>+ <if variable="archive archive_location" match="any">+ <group delimiter=". ">+ <text variable="archive_location" text-case="capitalize-first"/>+ <text variable="archive"/>+ <text variable="archive-place"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="access">+ <choose>+ <if variable="URL">+ <group delimiter=", ">+ <text variable="URL"/>+ <group delimiter=" ">+ <text term="accessed"/>+ <date variable="accessed">+ <date-part name="month" form="long"/>+ <date-part name="day" prefix=" "/>+ <date-part name="year" prefix=", "/>+ </date>+ </group>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if variable="title" match="none">+ <choose>+ <if type="personal_communication" match="none">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ </choose>+ </if>+ <else>+ <group delimiter=", ">+ <text variable="title" text-case="title"/>+ <group>+ <choose>+ <if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <group>+ <text term="volume" form="short"/>+ <number variable="volume" form="numeric"/>+ </group>+ </if>+ </choose>+ </group>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <text variable="volume" prefix=" "/>+ <text variable="issue" prefix="(" suffix=")"/>+ </if>+ </choose>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter paper-conference" match="any">+ <group delimiter=" ">+ <label variable="page" form="short" text-case="capitalize-first" prefix=" "/>+ <text variable="page"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="locators-article">+ <choose>+ <if type="article-newspaper article-journal article-magazine" match="any">+ <text variable="page" prefix=": "/>+ </if>+ </choose>+ </macro>+ <macro name="point-locators">+ <group>+ <choose>+ <if locator="page" match="none">+ <label variable="locator" form="short" suffix=" "/>+ </if>+ </choose>+ <text variable="locator"/>+ </group>+ </macro>+ <macro name="container-prefix">+ <text term="in" text-case="capitalize-first" font-style="italic"/>+ </macro>+ <macro name="container-title">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text macro="container-prefix" suffix=" "/>+ </if>+ </choose>+ <text variable="container-title" text-case="title"/>+ </macro>+ <macro name="publisher">+ <choose>+ <if type="motion_picture" match="none">+ <group delimiter=": ">+ <choose>+ <if type="thesis" match="none">+ <text variable="publisher-place"/>+ </if>+ </choose>+ <text variable="publisher"/>+ </group>+ </if>+ <else>+ <group delimiter=". ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="date-reference">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="date-bibliography">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short" text-case="capitalize-first"/>+ </else>+ </choose>+ </macro>+ <macro name="day-month">+ <date variable="issued">+ <date-part name="month"/>+ <date-part name="day" prefix=" "/>+ </date>+ </macro>+ <macro name="collection-title">+ <text variable="collection-title" text-case="title"/>+ <text variable="collection-number" prefix=", "/>+ </macro>+ <macro name="event">+ <group delimiter=" ">+ <text term="presented at" prefix=" "/>+ <text variable="event"/>+ </group>+ </macro>+ <macro name="description">+ <group delimiter=". ">+ <text macro="interviewer"/>+ <text variable="medium" text-case="capitalize-first"/>+ </group>+ <choose>+ <if variable="title" match="none"/>+ <else-if type="thesis manuscript" match="any"/>+ <else>+ <group delimiter=", ">+ <text variable="genre" text-case="capitalize-first"/>+ <choose>+ <if type="report">+ <text variable="number"/>+ </if>+ </choose>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="speech">+ <group delimiter=", ">+ <choose>+ <if variable="genre">+ <text macro="event" prefix=" "/>+ </if>+ <else>+ <text macro="event" prefix=". Paper "/>+ </else>+ </choose>+ <text variable="event-place"/>+ <text macro="day-month"/>+ </group>+ </if>+ <else-if type="article-newspaper article-magazine" match="any">+ <text macro="day-month" prefix=", "/>+ </else-if>+ <else-if type="interview broadcast" match="any">+ <group prefix=". " delimiter=", ">+ <text variable="publisher"/>+ <text macro="day-month"/>+ </group>+ </else-if>+ <else>+ <group prefix=". " delimiter=", ">+ <choose>+ <if type="thesis manuscript" match="any">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ </choose>+ <text macro="archive"/>+ <text macro="publisher"/>+ </group>+ </else>+ </choose>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true">+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=":">+ <group delimiter=" ">+ <text macro="contributors-short"/>+ <text macro="date-reference"/>+ </group>+ <text macro="point-locators"/>+ </group>+ </layout>+ </citation>+ <bibliography et-al-min="6" et-al-use-first="3" subsequent-author-substitute="" entry-spacing="0">+ <sort>+ <key macro="contributors"/>+ <key variable="issued"/>+ </sort>+ <layout suffix=".">+ <group display="block">+ <text macro="contributors"/>+ </group>+ <group display="left-margin">+ <text macro="date-bibliography" prefix=" "/>+ <date variable="original-date" prefix="[" suffix="]">+ <date-part name="year"/>+ </date>+ </group>+ <group display="right-inline">+ <group delimiter=". ">+ <text macro="title"/>+ <text macro="description"/>+ <text macro="secondary-contributors"/>+ <text macro="container-title"/>+ <text macro="edition"/>+ <text macro="container-contributors"/>+ </group>+ <text macro="locators-chapter"/>+ <text macro="locators"/>+ <text macro="collection-title" prefix=". "/>+ <text macro="issue"/>+ <text macro="locators-article"/>+ <text macro="access" prefix=". "/>+ </group>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-1",+ "title": "<span style=\"font-variant: small-caps;\">Here</span>",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_SortSecondaryKey.txt view
@@ -0,0 +1,283 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+(Roe, 1995, 1996)+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>Copernicus general format (dev)</title>+ <id>http://www.zotero.org/styles/copernicus</id>+ <link href="http://www.zotero.org/styles/copernicus" rel="self"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name> Didier Voisin </name>+ </contributor>+ <category citation-format="author-date"/>+ <category field="science"/>+ <updated>2010-07-26T02:21:30+00:00</updated>+ <summary>The Copernicus (EGU) generic style</summary>+ <link href="http://publications.copernicus.org/Copernicus_Publications_Reference_Types.pdf" rel="documentation"/>+ <rights>+This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/+</rights>+ </info>+ <macro name="editor">+ <names variable="editor" delimiter=", ">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name and="text" initialize-with=". " delimiter=", "/>+ </names>+ </macro>+ <macro name="anon">+ <text term="anonymous" form="short" text-case="capitalize-first" strip-periods="true"/>+ </macro>+ <macro name="author">+ <names variable="author">+ <name sort-separator=", " initialize-with=". " name-as-sort-order="all" delimiter=", " delimiter-precedes-last="never" and="text"/>+ <label form="short" prefix=", " suffix="." text-case="capitalize-first" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <choose>+ <if variable="URL">+ <text term="online" prefix="[" suffix="]"/>+ <text value=" Available from: "/>+ <text variable="URL"/>+ <group prefix=" (" delimiter=" " suffix=")">+ <text term="accessed" text-case="capitalize-first"/>+ <date variable="accessed">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="title">+ <text variable="title"/>+ </macro>+ <macro name="publisher">+ <group delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </macro>+ <macro name="year-date">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="published-date">+ <choose>+ <if type="article-newspaper">+ <date variable="issued">+ <date-part name="day" form="ordinal" suffix=" "/>+ <date-part name="month" form="long"/>+ </date>+ </if>+ </choose>+ </macro>+ <macro name="pages">+ <text variable="page"/>+ </macro>+ <macro name="refpages">+ <label variable="page" form="short" suffix=". " strip-periods="true"/>+ <text variable="page"/>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <macro name="doi">+ <text variable="DOI" prefix="doi:"/>+ </macro>+ <macro name="container">+ <group delimiter=", ">+ <group delimiter=" ">+ <text term="in" text-case="lowercase"/>+ <text variable="container-title"/>+ </group>+ <group delimiter=" ">+ <text term="volume" form="short" suffix="." strip-periods="true"/>+ <text variable="volume"/>+ </group>+ <text macro="editor"/>+ </group>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" collapse="year">+ <sort>+ <key macro="author"/>+ <key macro="year-date"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <group delimiter=", ">+ <text macro="author-short"/>+ <text macro="year-date"/>+ </group>+ <text variable="locator" prefix="p."/>+ </group>+ </layout>+ </citation>+ <bibliography et-al-min="11" et-al-use-first="11">+ <sort>+ <key macro="author"/>+ <key macro="year-date"/>+ <key variable="title"/>+ </sort>+ <layout>+ <group delimiter=" " suffix=":">+ <text macro="author"/>+ </group>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <group delimiter=", " prefix=" " suffix=".">+ <text macro="title"/>+ <text macro="edition"/>+ <text macro="editor"/>+ <text variable="genre"/>+ <text macro="publisher"/>+ </group>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=", " prefix=" " suffix=".">+ <text macro="title"/>+ <text macro="container"/>+ <text macro="refpages"/>+ <text macro="publisher"/>+ </group>+ </else-if>+ <else-if type="thesis">+ <group delimiter=", " prefix=" " suffix=".">+ <text macro="title"/>+ <text variable="genre"/>+ <text variable="page" suffix=" pp."/>+ <text macro="publisher"/>+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" form="long"/>+ </date>+ </group>+ </else-if>+ <else>+ <group delimiter=", " suffix="," prefix=" ">+ <text macro="title"/>+ <text macro="editor"/>+ </group>+ <group prefix=" ">+ <text variable="container-title" form="short"/>+ <group prefix=", " delimiter=", ">+ <group>+ <text variable="volume"/>+ <text variable="issue" prefix="(" suffix=")"/>+ <text macro="published-date"/>+ </group>+ <text macro="pages"/>+ <text macro="doi"/>+ </group>+ </group>+ </else>+ </choose>+ <text prefix=" " macro="access"/>+ <text macro="year-date" prefix=", " suffix="."/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1996+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 1995+ ]+ ]+ },+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_SortSecondaryKeyBibliography.txt view
@@ -0,0 +1,286 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">Roe, J.:, 1995.</div>+ <div class="csl-entry">Roe, J.:, 1996.</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>Copernicus general format (dev)</title>+ <id>http://www.zotero.org/styles/copernicus</id>+ <link href="http://www.zotero.org/styles/copernicus" rel="self"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name> Didier Voisin </name>+ </contributor>+ <category citation-format="author-date"/>+ <category field="science"/>+ <updated>2010-07-26T02:21:30+00:00</updated>+ <summary>The Copernicus (EGU) generic style</summary>+ <link href="http://publications.copernicus.org/Copernicus_Publications_Reference_Types.pdf" rel="documentation"/>+ <rights>+This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/+</rights>+ </info>+ <macro name="editor">+ <names variable="editor" delimiter=", ">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name and="text" initialize-with=". " delimiter=", "/>+ </names>+ </macro>+ <macro name="anon">+ <text term="anonymous" form="short" text-case="capitalize-first" strip-periods="true"/>+ </macro>+ <macro name="author">+ <names variable="author">+ <name sort-separator=", " initialize-with=". " name-as-sort-order="all" delimiter=", " delimiter-precedes-last="never" and="text"/>+ <label form="short" prefix=", " suffix="." text-case="capitalize-first" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <choose>+ <if variable="URL">+ <text term="online" prefix="[" suffix="]"/>+ <text value=" Available from: "/>+ <text variable="URL"/>+ <group prefix=" (" delimiter=" " suffix=")">+ <text term="accessed" text-case="capitalize-first"/>+ <date variable="accessed">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="title">+ <text variable="title"/>+ </macro>+ <macro name="publisher">+ <group delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </macro>+ <macro name="year-date">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="published-date">+ <choose>+ <if type="article-newspaper">+ <date variable="issued">+ <date-part name="day" form="ordinal" suffix=" "/>+ <date-part name="month" form="long"/>+ </date>+ </if>+ </choose>+ </macro>+ <macro name="pages">+ <text variable="page"/>+ </macro>+ <macro name="refpages">+ <label variable="page" form="short" suffix=". " strip-periods="true"/>+ <text variable="page"/>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <macro name="doi">+ <text variable="DOI" prefix="doi:"/>+ </macro>+ <macro name="container">+ <group delimiter=", ">+ <group delimiter=" ">+ <text term="in" text-case="lowercase"/>+ <text variable="container-title"/>+ </group>+ <group delimiter=" ">+ <text term="volume" form="short" suffix="." strip-periods="true"/>+ <text variable="volume"/>+ </group>+ <text macro="editor"/>+ </group>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" collapse="year">+ <sort>+ <key macro="author"/>+ <key macro="year-date"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <group delimiter=", ">+ <text macro="author-short"/>+ <text macro="year-date"/>+ </group>+ <text variable="locator" prefix="p."/>+ </group>+ </layout>+ </citation>+ <bibliography et-al-min="11" et-al-use-first="11">+ <sort>+ <key macro="author"/>+ <key macro="year-date"/>+ <key variable="title"/>+ </sort>+ <layout>+ <group delimiter=" " suffix=":">+ <text macro="author"/>+ </group>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <group delimiter=", " prefix=" " suffix=".">+ <text macro="title"/>+ <text macro="edition"/>+ <text macro="editor"/>+ <text variable="genre"/>+ <text macro="publisher"/>+ </group>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=", " prefix=" " suffix=".">+ <text macro="title"/>+ <text macro="container"/>+ <text macro="refpages"/>+ <text macro="publisher"/>+ </group>+ </else-if>+ <else-if type="thesis">+ <group delimiter=", " prefix=" " suffix=".">+ <text macro="title"/>+ <text variable="genre"/>+ <text variable="page" suffix=" pp."/>+ <text macro="publisher"/>+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" form="long"/>+ </date>+ </group>+ </else-if>+ <else>+ <group delimiter=", " suffix="," prefix=" ">+ <text macro="title"/>+ <text macro="editor"/>+ </group>+ <group prefix=" ">+ <text variable="container-title" form="short"/>+ <group prefix=", " delimiter=", ">+ <group>+ <text variable="volume"/>+ <text variable="issue" prefix="(" suffix=")"/>+ <text macro="published-date"/>+ </group>+ <text macro="pages"/>+ <text macro="doi"/>+ </group>+ </group>+ </else>+ </choose>+ <text prefix=" " macro="access"/>+ <text macro="year-date" prefix=", " suffix="."/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1996+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 1995+ ]+ ]+ },+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_SortedIeeeItalicsFail.txt view
@@ -0,0 +1,372 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">+ <div class="csl-left-margin">[1]</div><div class="csl-right-inline"> J. Doe, “His Anonymous Article,” <i>Journal of Obscurity</i>, vol. 100, p. 15, Jun. 1965.</div>+ </div>+ <div class="csl-entry">+ <div class="csl-left-margin">[2]</div><div class="csl-right-inline"> G. Everhardt, “His Anonymous Article,” <i>Journal of Obscurity</i>, vol. 100, p. 15, Jun. 1965.</div>+ </div>+ <div class="csl-entry">+ <div class="csl-left-margin">[3]</div><div class="csl-right-inline"> J. Roe, “His Anonymous Article,” <i>Journal of Obscurity</i>, vol. 100, p. 15, Jun. 1965.</div>+ </div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only">+ <info>+ <title>IEEE - modified by Dan Sorin</title>+ <id>IEEE - Dan Sorin</id>+ <link href="http://www.zotero.org/styles/ieee" rel="self"/>+ <author>+ <name>Dan Sorin</name>+ <email>sorin@ee.duke.edu</email>+ </author>+ <category field="engineering"/>+ <category field="generic-base"/>+ <category citation-format="numeric"/>+ <updated>2011-05-12T00:16:08+00:00</updated>+ <rights>+ This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License:+ http://creativecommons.org/licenses/by-sa/3.0/+ </rights>+ <link href="http://www.ieee.org/portal/cms_docs_iportals/iportals/publications/authors/transjnl/stylemanual.pdf" rel="documentation"/>+ <link href="http://www.ieee.org/documents/auinfo07.pdf" rel="documentation"/>+ </info><!-- Macros -->+ <macro name="edition">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" text-case="capitalize-first" suffix="."/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issued">+ <choose>+ <if type="article-journal">+ <date variable="issued">+ <date-part name="month" form="short" suffix=". " strip-periods="true"/>+ <date-part name="year" form="long"/>+ </date>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song thesis chapter paper-conference" match="any">+ <date variable="issued">+ <date-part name="year" form="long"/>+ </date>+ </else-if>+ <else>+ <date variable="issued">+ <date-part name="day" form="numeric-leading-zeros" suffix="-"/>+ <date-part name="month" form="short" suffix="-" strip-periods="true"/>+ <date-part name="year" form="long"/>+ </date>+ </else>+ </choose>+ </macro>+ <macro name="author">+ <names variable="author">+ <name initialize-with=". " delimiter=", " and="text"/>+ <label form="short" prefix=", " text-case="capitalize-first" suffix="." strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name initialize-with=". " delimiter=", " and="text"/>+ <label form="short" prefix=", " text-case="capitalize-first" suffix="." strip-periods="true"/>+ </names>+ </macro>+ <macro name="locators">+ <group delimiter=", ">+ <text macro="edition"/>+ <group delimiter=" ">+ <text term="volume" form="short" suffix="." strip-periods="true"/>+ <number variable="volume" form="numeric"/>+ </group>+ <group delimiter=" ">+ <number variable="number-of-volumes" form="numeric"/>+ <text term="volume" form="short" suffix="." plural="true" strip-periods="true"/>+ </group>+ <group delimiter=" ">+ <text term="issue" form="short" suffix="." strip-periods="true"/>+ <number variable="issue" form="numeric"/>+ </group>+ </group>+ </macro>+ <macro name="title">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else>+ <text variable="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <text variable="publisher-place" suffix=": "/>+ <text variable="publisher"/>+ </if>+ <else>+ <text variable="publisher"/>+ </else>+ </choose>+ </macro>+ <macro name="event">+ <choose>+ <if type="paper-conference">+ <choose><!-- Published Conference Paper -->+ <if variable="container-title">+ <group delimiter=", ">+ <text variable="container-title" prefix="in " font-style="italic"/>+ <text variable="event-place"/>+ </group>+ </if><!-- Unpublished Conference Paper -->+ <else>+ <group delimiter=", ">+ <text variable="event" prefix="presented at the "/>+ <text variable="event-place"/>+ </group>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="access">+ <choose>+ <if type="webpage">+ <choose>+ <if variable="URL">+ <group delimiter=". ">+ <text value="[Online]"/>+ <text variable="URL" prefix="Available: "/>+ <group prefix="[" suffix="]">+ <date variable="accessed" prefix="Accessed: ">+ <date-part name="day" form="numeric-leading-zeros" suffix="-"/>+ <date-part name="month" form="short" suffix="-" strip-periods="true"/>+ <date-part name="year" form="long"/>+ </date>+ </group>+ </group>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="page">+ <group>+ <label variable="page" form="short" suffix=". " strip-periods="true"/>+ <text variable="page"/>+ </group>+ </macro><!-- Citation -->+ <citation et-al-min="7" et-al-use-first="1" collapse="citation-number">+ <sort>+ <key variable="citation-number"/>+ </sort>+ <layout prefix="[" suffix="]" delimiter="], [">+ <text variable="citation-number"/>+ </layout>+ </citation><!-- Bibliography -->+ <bibliography et-al-min="7" et-al-use-first="1" entry-spacing="0" second-field-align="flush">+ <sort>+ <key macro="author"/>+ <key variable="issued"/>+ </sort>+ <layout suffix="."><!-- Citation Number -->+ <text variable="citation-number" prefix="[" suffix="]"/><!-- Author(s) -->+ <text macro="author" prefix=" " suffix=", "/><!-- Rest of Citation -->+ <choose><!-- Specific Formats -->+ <if type="article-journal">+ <group delimiter=", ">+ <text macro="title"/>+ <text variable="container-title" font-style="italic"/>+ <text macro="locators"/>+ <text macro="page"/>+ <text macro="issued"/>+ </group>+ </if>+ <else-if type="paper-conference">+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="event"/>+ <text macro="issued"/>+ <text macro="locators"/>+ <text macro="page"/>+ </group>+ </else-if>+ <else-if type="thesis">+ <group delimiter=", ">+ <text macro="title"/>+ <text variable="genre"/>+ <text macro="publisher"/>+ <text macro="issued"/>+ </group>+ </else-if>+ <else-if type="webpage">+ <group delimiter=", " suffix=". ">+ <text macro="title"/>+ <text variable="container-title" font-style="italic"/>+ <text macro="issued"/>+ </group>+ <text macro="access"/>+ </else-if>+ <else-if type="patent">+ <text macro="title" suffix=", "/>+ <text variable="number" prefix="U.S. Patent "/>+ <text macro="issued"/>+ </else-if><!-- Generic/Fallback Formats -->+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <group delimiter=", " suffix=". ">+ <text macro="title"/>+ <text macro="locators"/>+ </group>+ <group delimiter=", ">+ <text macro="publisher"/>+ <text macro="issued"/>+ <text macro="page"/>+ </group>+ </else-if>+ <else-if type="article-journal article-magazine article-newspaper broadcast interview manuscript map patent personal_communication song speech thesis webpage" match="any">+ <group delimiter=", ">+ <text macro="title"/>+ <text variable="container-title" font-style="italic"/>+ <text macro="locators"/>+ <text macro="publisher"/>+ <text macro="page"/>+ <text macro="issued"/>+ </group>+ </else-if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=", " suffix=", ">+ <text macro="title"/>+ <text variable="container-title" prefix="in " font-style="italic"/>+ <text macro="locators"/>+ </group>+ <text macro="editor" suffix=" "/>+ <group delimiter=", ">+ <text macro="publisher"/>+ <text macro="issued"/>+ <text macro="page"/>+ </group>+ </else-if>+ <else>+ <group delimiter=", " suffix=". ">+ <text macro="title"/>+ <text variable="container-title" font-style="italic"/>+ <text macro="locators"/>+ </group>+ <group delimiter=", ">+ <text macro="publisher"/>+ <text macro="page"/>+ <text macro="issued"/>+ </group>+ </else>+ </choose>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "container-title": "Journal of Obscurity",+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "page": "15",+ "title": "His Anonymous Article",+ "type": "article-journal",+ "volume": "100"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "container-title": "Journal of Obscurity",+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "page": "15",+ "title": "His Anonymous Article",+ "type": "article-journal",+ "volume": "100"+ },+ {+ "author": [+ {+ "family": "Everhardt",+ "given": "Ganzaheit"+ }+ ],+ "container-title": "Journal of Obscurity",+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "page": "15",+ "title": "His Anonymous Article",+ "type": "article-journal",+ "volume": "100"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_StyleError001.txt view
@@ -0,0 +1,361 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry"><i>Anonymous Journal</i>.</div>+ <div class="csl-entry"><i>Anonymous Journal One</i>.</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0" initialize="false" initialize-with-hyphen="false" default-locale="fr-CA">+ <info>+ <title>Université Laval - Département des sciences historiques (French - Canada)</title>+ <id>http://www.zotero.org/styles/universite-laval-departement-des-sciences-historiques</id>+ <link href="http://www.zotero.org/styles/universite-laval-departement-des-sciences-historiques" rel="self"/>+ <link href="http://www.hst.ulaval.ca/services-et-ressources/guides-pedagogiques/" rel="documentation"/>+ <author>+ <name>Charles Mercier-Paquin</name>+ <email>charles.mercier.paquin@gmail.com</email>+ </author>+ <category citation-format="note"/>+ <category field="history"/>+ <summary>Le style bibliographique pour citation et références du Département des sciences historiques de l'Université Laval</summary>+ <updated>2017-10-14T07:50:27+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <macro name="author-bibliography">+ <names variable="author">+ <name and="text" delimiter-precedes-last="never" initialize="false" initialize-with="." name-as-sort-order="first">+ <name-part name="family" text-case="uppercase"/>+ </name>+ <et-al font-style="italic"/>+ <label form="short" prefix=", " text-case="lowercase"/>+ </names>+ </macro>+ <macro name="author-citation">+ <names variable="author">+ <name and="text" initialize="false" initialize-with=". "/>+ <et-al font-style="italic"/>+ </names>+ </macro>+ <macro name="editor-bibliography">+ <names variable="editor">+ <name and="text" delimiter-precedes-et-al="never" delimiter-precedes-last="never" initialize="false" initialize-with="." name-as-sort-order="first">+ <name-part name="family" text-case="uppercase"/>+ <name-part name="given" text-case="capitalize-first"/>+ </name>+ <label form="short" text-case="lowercase" prefix=", "/>+ </names>+ </macro>+ <macro name="editor-citation">+ <names variable="editor">+ <name and="text" delimiter-precedes-et-al="never" delimiter-precedes-last="never" et-al-min="3" et-al-use-first="1" initialize="false" initialize-with=".">+ <name-part name="given" text-case="capitalize-first"/>+ <name-part name="family" text-case="capitalize-first"/>+ </name>+ <label form="short" text-case="lowercase" prefix=", "/>+ </names>+ </macro>+ <macro name="publisher">+ <group delimiter=", ">+ <text variable="publisher-place" prefix=" "/>+ <text variable="publisher"/>+ </group>+ </macro>+ <macro name="access">+ <choose>+ <if variable="URL">+ <choose>+ <if type="article-journal article-newspaper broadcast entry-encyclopedia figure graphic motion_picture patent post post-weblog song webpage" match="any">+ <group delimiter=", ">+ <text variable="URL"/>+ <group delimiter=" ">+ <text value="consulté le"/>+ <date variable="accessed">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ </group>+ </group>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="year-date">+ <choose>+ <if variable="issued original-date">+ <date date-parts="year" form="text" variable="issued">+ <date-part name="year"/>+ </date>+ <date date-parts="year" form="text" variable="original-date" prefix=" (" suffix=")">+ <date-part name="year"/>+ </date>+ </if>+ <else-if type="article-newspaper" match="all" variable="issued">+ <date form="text" variable="issued">+ <date-part name="year"/>+ </date>+ </else-if>+ <else-if match="all" variable="issued">+ <date date-parts="year" form="text" variable="issued"/>+ </else-if>+ </choose>+ </macro>+ <macro name="journal-title">+ <choose>+ <if type="article article-journal article-magazine article-newspaper chapter entry-encyclopedia entry-dictionary entry webpage paper-conference" match="any">+ <text variable="container-title" font-style="italic"/>+ </if>+ </choose>+ </macro>+ <macro name="title">+ <group delimiter=" ">+ <choose>+ <if type="chapter paper-conference article-journal article-magazine article-newspaper webpage thesis entry-dictionary entry-encyclopedia article" match="none">+ <text variable="title" font-style="italic"/>+ </if>+ <else>+ <text variable="title" strip-periods="false" quotes="true"/>+ </else>+ </choose>+ </group>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <macro name="collection">+ <choose>+ <if variable="collection-number">+ <text variable="collection-title" prefix=" Coll. "/>+ <text variable="collection-number" prefix=", "/>+ </if>+ <else>+ <text variable="collection-title" prefix=" Coll. "/>+ </else>+ </choose>+ </macro>+ <macro name="locators">+ <group delimiter=", ">+ <text variable="volume"/>+ <group>+ <text variable="issue"/>+ <choose>+ <if match="any" variable="volume issue">+ <text macro="year-date" prefix=" (" suffix=")"/>+ </if>+ <else>+ <text macro="year-date"/>+ </else>+ </choose>+ </group>+ </group>+ </macro>+ <macro name="pages-bibliography">+ <choose>+ <if type="article article-journal article-magazine article-newspaper entry entry-dictionary entry-encyclopedia chapter paper-conference webpage" match="any">+ <label plural="never" suffix=" " variable="page" form="short"/>+ <text variable="page"/>+ </if>+ <else>+ <text variable="number-of-pages"/>+ <label prefix=" " variable="number-of-pages" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="pages-citation">+ <label plural="never" suffix=" " variable="page" form="short"/>+ <text variable="locator" form="short"/>+ </macro>+ <macro name="thesis">+ <choose>+ <if type="thesis" match="all">+ <choose>+ <if match="all" variable="genre">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ <else>+ <text value="Thèse"/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true">+ <layout delimiter=" ; " suffix=".">+ <choose>+ <if match="all" position="first">+ <group delimiter=", ">+ <text macro="author-citation"/>+ <text macro="title"/>+ <choose>+ <if type="chapter paper-conference webpage entry entry-dictionary entry-encyclopedia" match="any">+ <group delimiter=", ">+ <text macro="editor-citation"/>+ <text macro="journal-title"/>+ </group>+ </if>+ <else-if type="article article-journal article-magazine article-newspaper review" match="none">+ <text macro="edition"/>+ </else-if>+ </choose>+ <choose>+ <if match="all" locator="page">+ <choose>+ <if type="article article-journal article-magazine article-newspaper review" match="any">+ <group delimiter=", ">+ <text macro="journal-title"/>+ <text macro="locators"/>+ <text macro="pages-citation"/>+ </group>+ </if>+ <else>+ <group delimiter=", ">+ <text macro="thesis"/>+ <text macro="publisher"/>+ <text macro="year-date"/>+ <text macro="pages-citation"/>+ </group>+ </else>+ </choose>+ </if>+ <else>+ <choose>+ <if type="article article-journal article-magazine article-newspaper review" match="any">+ <group delimiter=", ">+ <text macro="journal-title"/>+ <text macro="locators"/>+ <text macro="pages-bibliography"/>+ </group>+ </if>+ <else>+ <group delimiter=", ">+ <text macro="thesis"/>+ <text macro="publisher"/>+ <text macro="year-date"/>+ <text macro="pages-bibliography"/>+ </group>+ </else>+ </choose>+ </else>+ </choose>+ <text macro="access"/>+ </group>+ </if>+ <else-if match="all" position="ibid-with-locator">+ <group delimiter=", ">+ <text term="ibid" text-case="capitalize-first" font-style="italic" suffix="."/>+ <text macro="pages-citation"/>+ </group>+ </else-if>+ <else-if match="all" position="ibid" locator="page">+ <text term="ibid" text-case="capitalize-first" font-style="italic" suffix="."/>+ <text macro="pages-citation"/>+ </else-if>+ <else>+ <group delimiter=", ">+ <text macro="author-citation"/>+ <text value="op. cit" font-style="italic" suffix="."/>+ <text macro="year-date"/>+ <text macro="pages-citation"/>+ </group>+ </else>+ </choose>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="3" et-al-use-first="1">+ <sort>+ <key macro="author-bibliography"/>+ <key macro="year-date"/>+ </sort>+ <layout suffix=".">+ <group delimiter=". ">+ <text macro="author-bibliography"/>+ <text macro="title" strip-periods="false" font-weight="normal" vertical-align="baseline"/>+ <choose>+ <if type="chapter paper-conference webpage entry entry-dictionary entry-encyclopedia" match="any">+ <group delimiter=". ">+ <text macro="editor-bibliography"/>+ <text macro="journal-title"/>+ </group>+ </if>+ <else-if type="article article-journal article-magazine article-newspaper review" match="none">+ <text macro="edition"/>+ </else-if>+ </choose>+ <choose>+ <if type="article article-journal article-magazine article-newspaper review" match="any">+ <group delimiter=", ">+ <text macro="journal-title"/>+ <text macro="locators"/>+ <text macro="pages-bibliography"/>+ </group>+ </if>+ <else>+ <group delimiter=", ">+ <text macro="thesis"/>+ <text macro="publisher"/>+ <text macro="year-date"/>+ <text macro="pages-bibliography"/>+ <text macro="collection"/>+ </group>+ </else>+ </choose>+ <text macro="access"/>+ </group>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "container-title": "Anonymous Journal",+ "id": "ITEM-1",+ "journalAbbreviation": "Anon J",+ "type": "article-journal"+ },+ {+ "container-title": "Anonymous Journal One",+ "id": "ITEM-2",+ "journalAbbreviation": "Journal-1",+ "type": "chapter"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_ThesisUniversityAppearsTwice.txt view
@@ -0,0 +1,742 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++Fault reported by Sean Takats.++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Davis, Jennifer J. “Men of Taste: Gender and Authority in the French Culinary Trades, 1730-1830.” Ph.D. diss., Pennsylvania State University, History, 2004.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <title>Chicago Manual of Style (Full Note with Bibliography)</title>+ <id>http://www.zotero.org/styles/chicago-fullnote-bibliography</id>+ <link rel="self" href="http://www.zotero.org/styles/chicago-fullnote-bibliography" />+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation" />+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </contributor>+ <contributor>+ <name>Elena Razlogova</name>+ <email>elena.razlogova@gmail.com</email>+ </contributor>+ <summary>Chicago format with full notes and bibliography</summary>+ <category field="generic-base" />+ <category citation-format="numeric" />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="editor-translator">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <names delimiter=", " variable="editor">+ <label form="verb-short" suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names delimiter=", " variable="translator">+ <label form="verb-short" suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="secondary-contributors-note">+ <choose>+ <if match="none" type="chapter">+ <text macro="editor-translator" />+ </if>+ </choose>+ </macro>+ <macro name="container-contributors-note">+ <choose>+ <if type="chapter">+ <text macro="editor-translator" />+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if match="none" type="chapter">+ <group delimiter=". ">+ <choose>+ <if variable="author">+ <names delimiter=". " variable="editor">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names delimiter=". " variable="translator">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <names delimiter=", " variable="editor">+ <label form="verb" suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names delimiter=", " variable="translator">+ <label form="verb" suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="editor-note">+ <names variable="editor">+ <name and="text" delimiter=", " sort-separator=", " />+ <label form="short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="translator-note">+ <names variable="translator">+ <name and="text" delimiter=", " sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="recipient-note">+ <names delimiter=", " variable="recipient">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="contributors-note">+ <names variable="author">+ <name and="text" delimiter=", " sort-separator=", " />+ <substitute>+ <text macro="editor-note" />+ <text macro="translator-note" />+ </substitute>+ </names>+ <text macro="recipient-note" />+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="recipient">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ <else>+ <text term="letter" text-case="capitalize-first" />+ </else>+ </choose>+ </if>+ </choose>+ <text macro="recipient-note" prefix=" " />+ </macro>+ <macro name="contributors">+ <names variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <substitute>+ <text macro="editor" />+ <text macro="translator" />+ </substitute>+ </names>+ <text macro="recipient" prefix=". " />+ </macro>+ <macro name="recipient-short">+ <names variable="recipient">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " form="short" />+ </names>+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name and="text" delimiter=", " form="short" />+ <substitute>+ <names variable="editor" />+ <names variable="translator" />+ </substitute>+ </names>+ <text macro="recipient-short" />+ </macro>+ <macro name="contributors-sort">+ <names variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="all" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ <substitute>+ <names variable="editor" />+ <names variable="translator" />+ </substitute>+ </names>+ </macro>+ <macro name="interviewer-note">+ <names delimiter=", " variable="interviewer">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="interviewer">+ <names delimiter=", " variable="interviewer">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="title-note">+ <choose>+ <if match="none" variable="title">+ <text variable="genre" />+ </if>+ <else-if type="book">+ <text font-style="italic" variable="title" />+ </else-if>+ <else>+ <text quotes="true" variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if match="none" variable="title">+ <choose>+ <if match="none" type="personal_communication">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ </if>+ <else-if type="book">+ <text font-style="italic" variable="title" />+ </else-if>+ <else>+ <text quotes="true" variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="title-short">+ <choose>+ <if match="none" variable="title">+ <choose>+ <if type="interview">+ <text term="interview" text-case="lowercase" />+ </if>+ <else-if match="any" type="manuscript speech">+ <text form="short" variable="genre" />+ </else-if>+ <else-if type="personal_communication">+ <text macro="issued" />+ </else-if>+ </choose>+ </if>+ <else-if type="book">+ <text font-style="italic" form="short" variable="title" />+ </else-if>+ <else>+ <text form="short" quotes="true" variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="description-note">+ <group delimiter=", ">+ <text macro="interviewer-note" />+ <text variable="medium" />+ <choose>+ <if match="none" variable="title"/>+ <else-if match="any" type="thesis speech"/>+ <else>+ <text variable="genre" />+ </else>+ </choose>+ </group>+ </macro>+ <macro name="description">+ <group delimiter=", ">+ <group delimiter=". ">+ <text macro="interviewer" />+ <text text-case="capitalize-first" variable="medium" />+ </group>+ <choose>+ <if match="none" variable="title"/>+ <else-if match="any" type="thesis speech"/>+ <else>+ <text text-case="capitalize-first" variable="genre" />+ </else>+ </choose>+ </group>+ </macro>+ <macro name="container-title-note">+ <choose>+ <if type="chapter">+ <text suffix=" " term="in" text-case="lowercase" />+ </if>+ </choose>+ <text font-style="italic" variable="container-title" />+ </macro>+ <macro name="container-title">+ <choose>+ <if type="chapter">+ <text suffix=" " term="in" text-case="capitalize-first" />+ </if>+ </choose>+ <text font-style="italic" variable="container-title" />+ </macro>+ <macro name="collection-title">+ <text variable="collection-title" />+ <text prefix=" " variable="collection-number" />+ </macro>+ <macro name="edition-note">+ <choose>+ <if match="any" type="book chapter">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number form="ordinal" variable="edition" />+ <text form="short" suffix="." term="edition" />+ </group>+ </if>+ <else>+ <text suffix="." variable="edition" />+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if match="any" type="book chapter">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number form="ordinal" variable="edition" />+ <text form="short" suffix="." term="edition" />+ </group>+ </if>+ <else>+ <text suffix="." text-case="capitalize-first" variable="edition" />+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-note">+ <choose>+ <if type="article-journal">+ <text prefix=" " variable="volume" />+ <text prefix=", no. " variable="issue" />+ </if>+ <else-if match="any" type="book chapter">+ <group delimiter=", " prefix=", ">+ <group>+ <text form="short" suffix=". " term="volume" />+ <number form="numeric" variable="volume" />+ </group>+ <choose>+ <if match="none" variable="locator">+ <group>+ <number form="numeric" variable="number-of-volumes" />+ <text form="short" plural="true" prefix=" " suffix="." term="volume" />+ </group>+ </if>+ </choose>+ <text macro="edition-note" />+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <text prefix=" " variable="volume" />+ <text prefix=", no. " variable="issue" />+ </if>+ <else-if match="any" type="book">+ <group delimiter=". " prefix=". ">+ <group>+ <text form="short" suffix=". " term="volume" text-case="capitalize-first" />+ <number form="numeric" variable="volume" />+ </group>+ <group>+ <number form="numeric" variable="number-of-volumes" />+ <text form="short" plural="true" prefix=" " suffix="." term="volume" />+ </group>+ <text macro="edition" />+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-newspaper">+ <choose>+ <if type="article-newspaper">+ <group delimiter=", ">+ <group>+ <text suffix=" " variable="edition" />+ <text prefix=" " term="edition" />+ </group>+ <group>+ <text form="short" suffix=". " term="section" />+ <text variable="section" />+ </group>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="event">+ <group>+ <text suffix=" " term="presented at" />+ <text variable="event" />+ </group>+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place" />+ <text variable="publisher" />+ </group>+ </macro>+ <macro name="issued">+ <choose>+ <if match="any" type="graphic report">+ <date variable="issued">+ <date-part name="month" suffix=" " />+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </if>+ <else-if match="any" type="book chapter thesis">+ <date variable="issued">+ <date-part name="year" />+ </date>+ </else-if>+ <else>+ <date variable="issued">+ <date-part name="month" suffix=" " />+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </else>+ </choose>+ </macro>+ <macro name="point-locators-subsequent">+ <group>+ <choose>+ <if locator="page" match="none">+ <label form="short" suffix=" " variable="locator" />+ </if>+ </choose>+ <text variable="locator" />+ </group>+ </macro>+ <macro name="point-locators">+ <choose>+ <if match="none" variable="locator">+ <text macro="pages" />+ </if>+ <else-if type="article-journal">+ <text prefix=": " variable="locator" />+ </else-if>+ <else>+ <text macro="point-locators-subsequent" prefix=", " />+ </else>+ </choose>+ </macro>+ <macro name="pages">+ <choose>+ <if type="article-journal">+ <text prefix=": " variable="page" />+ </if>+ <else-if type="chapter">+ <text prefix=", " variable="page" />+ </else-if>+ </choose>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter">+ <text suffix=":" variable="volume" />+ <text variable="page" />+ </if>+ </choose>+ </macro>+ <macro name="locators-journal">+ <choose>+ <if type="article-journal">+ <text prefix=": " variable="page" />+ </if>+ </choose>+ </macro>+ <macro name="archive-note">+ <group delimiter=", ">+ <text variable="archive_location" />+ <text variable="archive" />+ <text variable="archive-place" />+ </group>+ </macro>+ <macro name="archive">+ <group delimiter=". ">+ <text text-case="capitalize-first" variable="archive_location" />+ <text variable="archive" />+ <text variable="archive-place" />+ </group>+ </macro>+ <macro name="issue-note">+ <choose>+ <if type="article-journal">+ <text macro="issued" prefix=" (" suffix=")" />+ </if>+ <else-if match="any" variable="publisher-place publisher">+ <group delimiter=", " prefix=" (" suffix=")">+ <group delimiter=" ">+ <choose>+ <if match="none" variable="title"/>+ <else-if match="any" type="thesis speech">+ <text variable="genre" />+ </else-if>+ </choose>+ <text macro="event" />+ </group>+ <text macro="publisher" />+ <text macro="issued" />+ </group>+ </else-if>+ <else>+ <text macro="issued" prefix=", " />+ </else>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="article-journal">+ <text macro="issued" prefix=" (" suffix=")" />+ </if>+ <else-if type="speech">+ <choose>+ <if match="none" variable="title"> </if>+ <else>+ <text prefix=". " text-case="capitalize-first" variable="genre" />+ </else>+ </choose>+ <text macro="event" prefix=" " />+ <text prefix=", " variable="event-place" />+ <text macro="issued" prefix=", " />+ </else-if>+ <else-if match="any" variable="publisher-place publisher">+ <group delimiter=", " prefix=". ">+ <choose>+ <if type="thesis">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ <text macro="publisher" />+ <text macro="issued" />+ </group>+ </else-if>+ <else>+ <text macro="issued" prefix=", " />+ </else>+ </choose>+ </macro>+ <macro name="access-note">+ <group delimiter=", ">+ <choose>+ <if match="any" type="graphic report">+ <text macro="archive-note" />+ </if>+ <else-if match="none" type="book thesis chapter article-journal article-newspaper article-magazine">+ <text macro="archive-note" />+ </else-if>+ </choose>+ <text prefix="doi:" variable="DOI" />+ <text variable="URL" />+ </group>+ </macro>+ <macro name="access">+ <group delimiter=". ">+ <choose>+ <if match="any" type="graphic report">+ <text macro="archive" />+ </if>+ <else-if match="none" type="book thesis chapter article-journal article-newspaper article-magazine">+ <text macro="archive" />+ </else-if>+ </choose>+ <text variable="URL" />+ </group>+ </macro>+ <macro name="sort-key">+ <text macro="contributors-sort" suffix=" " />+ <text suffix=" " variable="title" />+ <text variable="genre" />+ </macro>+ <macro name="legal-case-first">+ <group delimiter=", ">+ <text variable="title"/>+ <group delimiter=" ">+ <text variable="volume"/>+ <text variable="container-title"/>+ <text variable="page"/>+ <group prefix="(" suffix=")" delimiter=" ">+ <text variable="authority" form="short"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </group>+ </group>+ </macro>+ <citation + disambiguate-add-names="true"+ et-al-min="4"+ et-al-subsequent-min="4"+ et-al-subsequent-use-first="1"+ et-al-use-first="1">+ <layout delimiter="; " prefix="" suffix=".">+ <choose>+ <if type="legal_case">+ <text macro="legal-case-first"/>+ </if>+ <else-if position="ibid-with-locator">+ <group delimiter=", ">+ <text suffix="." term="ibid"/>+ <text macro="point-locators-subsequent" />+ </group>+ </else-if>+ <else-if position="ibid">+ <text suffix="." term="ibid"/>+ </else-if>+ <else-if position="subsequent">+ <group delimiter=", ">+ <text macro="contributors-short" />+ <text macro="title-short" />+ <text macro="point-locators-subsequent" />+ </group>+ </else-if>+ <else>+ <group delimiter=", ">+ <text macro="contributors-note" />+ <text macro="title-note" />+ <text macro="description-note" />+ <text macro="secondary-contributors-note" />+ <text macro="container-title-note" />+ <text macro="container-contributors-note" />+ </group>+ <text macro="locators-note" />+ <text macro="collection-title" prefix=", " />+ <text macro="issue-note" />+ <text macro="locators-newspaper" prefix=", " />+ <text macro="point-locators"/>+ <text macro="access-note" prefix=", " />+ </else>+ </choose>+ </layout>+ </citation>+ <bibliography + entry-spacing="0"+ et-al-min="11"+ et-al-use-first="7"+ hanging-indent="true"+ subsequent-author-substitute="---">+ <sort>+ <key macro="sort-key" />+ <key variable="issued" />+ </sort>+ <layout suffix=".">+ <choose>+ <if type="legal_case">+ <text macro="legal-case-first"/>+ </if>+ <else>+ <group delimiter=". ">+ <text macro="contributors" />+ <text macro="title" />+ <text macro="description" />+ <text macro="secondary-contributors" />+ <group delimiter=", ">+ <text macro="container-title" />+ <text macro="container-contributors" />+ <text macro="locators-chapter" />+ </group>+ </group>+ <text macro="locators" />+ <text macro="collection-title" prefix=". " />+ <text macro="issue" />+ <text macro="locators-newspaper" prefix=", " />+ <text macro="locators-journal" />+ <text macro="access" prefix=". " />+ </else>+ </choose>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Davis",+ "given": "Jennifer J."+ }+ ],+ "genre": "Ph.D. diss.",+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2004+ ]+ ]+ },+ "publisher": "Pennsylvania State University, History",+ "title": "Men of Taste: Gender and Authority in the French Culinary Trades, 1730-1830",+ "type": "thesis"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_TitleCase.txt view
@@ -0,0 +1,45 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+One but Two or Three yet Four so Five for Six and Seven nor Eight a Nine an Ten the Eleven at Twelve by Thirteen from Fourteen in Fifteen into Sixteen of Seventeen on Eighteen to Nineteen with Twenty up Twenty-One down Twenty-Two as Twenty-Three via Twenty-Four till Twenty-Five onto Twenty-Six over Twenty-Seven.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout suffix=".">+ <text variable="title" text-case="title"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "One but two or three yet four so five for six and seven nor eight a nine an ten the eleven at twelve by thirteen from fourteen in fifteen into sixteen of seventeen on eighteen to nineteen with twenty up twenty-one down twenty-two as twenty-three via twenty-four till twenty-five onto twenty-six over twenty-seven.",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_UndefinedBeforeVal.txt view
@@ -0,0 +1,521 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">Aalto, A. Translated by Boy Beamish.</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" default-locale="en-US">+ <info>+ <title>AMBIO</title>+ <id>http://www.zotero.org/styles/ambio</id>+ <link href="http://www.zotero.org/styles/ambio" rel="self"/>+ <link href="http://www.zotero.org/styles/springer-humanities-author-date" rel="template"/>+ <link href="http://www.springer.com/cda/content/document/cda_downloaddocument/Instructions_for_authors_AMBIO_2013.pdf" rel="documentation"/>+ <author>+ <name>Sebastian Karcher</name>+ </author>+ <category citation-format="author-date"/>+ <category field="biology"/>+ <issn>0044-7447</issn>+ <eissn>1654-7209</eissn>+ <updated>2013-05-10T12:00:00+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale>+ <terms>+ <term name="container-author" form="verb">by</term>+ </terms>+ </locale>+ <macro name="secondary-contributors">+ <choose>+ <if type="chapter paper-conference" match="none">+ <group delimiter=". ">+ <choose>+ <if variable="author">+ <names variable="editor">+ <label form="verb" text-case="capitalize-first" suffix=" " plural="never"/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ </choose>+ <choose>+ <if variable="author editor" match="any">+ <names variable="translator">+ <label form="verb" text-case="capitalize-first" suffix=" " plural="never"/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference" match="any">+ <group prefix=", " delimiter=", ">+ <choose>+ <if variable="author">+ <names variable="container-author editor" delimiter=", ">+ <label form="short" suffix=" " plural="never"/>+ <name and="text" delimiter=", " initialize-with=". "/>+ </names>+ </if>+ </choose>+ <choose>+ <if variable="author editor" match="any">+ <names variable="translator">+ <label form="short" plural="never" suffix=" "/>+ <name and="text" delimiter=", " initialize-with=". "/>+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="recipient">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ <else>+ <text term="letter" text-case="capitalize-first"/>+ </else>+ </choose>+ </if>+ </choose>+ <names variable="recipient" delimiter=", ">+ <label form="verb" prefix=" " suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="contributors">+ <names variable="author">+ <name and="text" name-as-sort-order="first" sort-separator=", " delimiter=", " delimiter-precedes-last="always" initialize-with=". "/>+ <label form="short" plural="never" prefix=", "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ <text macro="recipient"/>+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-count">+ <names variable="author">+ <name form="count"/>+ <substitute>+ <names variable="editor"/>+ </substitute>+ </names>+ </macro>+ <macro name="interviewer">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" prefix=" " text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="archive">+ <group delimiter=". ">+ <text variable="archive_location" text-case="capitalize-first"/>+ <text variable="archive"/>+ <text variable="archive-place"/>+ </group>+ </macro>+ <macro name="access">+ <group delimiter=". ">+ <choose>+ <if type="graphic report" match="any">+ <text macro="archive"/>+ </if>+ <else-if type="article-magazine article-newspaper bill book chapter graphic legal_case legislation motion_picture paper-conference report song thesis" match="none">+ <text macro="archive"/>+ </else-if>+ </choose>+ <text variable="DOI" prefix="doi:"/>+ <choose>+ <if variable="DOI issued" match="none">+ <choose>+ <if variable="URL accessed" match="all">+ <choose>+ <if type="legal_case" match="none">+ <text variable="URL"/>+ </if>+ </choose>+ <group delimiter=" ">+ <text term="accessed" text-case="capitalize-first"/>+ <date variable="accessed" delimiter=" ">+ <date-part name="month"/>+ <date-part name="day"/>+ </date>+ </group>+ </if>+ </choose>+ </if>+ <else-if type="webpage">+ <date variable="issued" delimiter=" ">+ <date-part name="month"/>+ <date-part name="day"/>+ </date>+ </else-if>+ </choose>+ </group>+ </macro>+ <macro name="title">+ <choose>+ <if variable="title" match="none">+ <choose>+ <if type="personal_communication" match="none">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ </choose>+ </if>+ <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </else-if>+ <else>+ <text variable="title"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" " prefix=". ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short"/>+ </group>+ </if>+ <else>+ <text variable="edition" prefix=". "/>+ </else>+ </choose>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" " prefix=", ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short"/>+ </group>+ </if>+ <else>+ <text variable="edition" prefix=", "/>+ </else>+ </choose>+ </else-if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <text variable="volume" prefix=" "/>+ </if>+ <else-if type="legal_case">+ <text variable="volume" prefix=", "/>+ <text variable="container-title" prefix=" "/>+ <text variable="page" prefix=" "/>+ </else-if>+ <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <group prefix=". " delimiter=". ">+ <group>+ <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>+ <number variable="volume" form="numeric"/>+ </group>+ <group>+ <number variable="number-of-volumes" form="numeric"/>+ <text term="volume" form="short" prefix=" " plural="true"/>+ </group>+ </group>+ </else-if>+ <else-if type="chapter paper-conference" match="any">+ <choose>+ <if variable="page" match="none">+ <group prefix=". ">+ <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>+ <number variable="volume" form="numeric"/>+ </group>+ </if>+ </choose>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter paper-conference" match="any">+ <choose>+ <if variable="page">+ <group prefix=", ">+ <text variable="volume" suffix=":"/>+ <text variable="page"/>+ </group>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-article">+ <choose>+ <if type="article-newspaper">+ <group prefix=", " delimiter=", ">+ <group delimiter=" ">+ <text variable="edition"/>+ <text term="edition"/>+ </group>+ <group>+ <text term="section" form="short" suffix=" "/>+ <text variable="section"/>+ </group>+ </group>+ </if>+ <else-if type="article-journal">+ <text variable="page" prefix=": "/>+ </else-if>+ </choose>+ </macro>+ <macro name="point-locators">+ <choose>+ <if variable="locator">+ <choose>+ <if locator="page" match="none">+ <choose>+ <if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <choose>+ <if variable="volume">+ <group>+ <text term="volume" form="short" suffix=" "/>+ <number variable="volume" form="numeric"/>+ <label variable="locator" form="short" prefix=", " suffix=" "/>+ </group>+ </if>+ <else>+ <label variable="locator" form="short" suffix=" "/>+ </else>+ </choose>+ </if>+ <else>+ <label variable="locator" form="short" suffix=" "/>+ </else>+ </choose>+ </if>+ <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <number variable="volume" form="numeric" suffix=":"/>+ </else-if>+ </choose>+ <text variable="locator"/>+ </if>+ </choose>+ </macro>+ <macro name="container-prefix">+ <text term="in" text-case="capitalize-first"/>+ </macro>+ <macro name="container-title">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text macro="container-prefix" suffix=" "/>+ </if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <text variable="container-title" font-style="italic"/>+ </if>+ </choose>+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </macro>+ <macro name="date">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else-if variable="accessed">+ <date variable="accessed">+ <date-part name="year"/>+ </date>+ </else-if>+ </choose>+ </macro>+ <macro name="day-month">+ <date variable="issued">+ <date-part name="month"/>+ <date-part name="day" prefix=" "/>+ </date>+ </macro>+ <macro name="collection-title">+ <text variable="collection-title" text-case="title"/>+ <text variable="collection-number" prefix=" "/>+ </macro>+ <macro name="event">+ <group>+ <text term="presented at" suffix=" "/>+ <text variable="event"/>+ </group>+ </macro>+ <macro name="description">+ <choose>+ <if type="interview">+ <group delimiter=". ">+ <text macro="interviewer"/>+ <text variable="medium" text-case="capitalize-first"/>+ </group>+ </if>+ <else>+ <text variable="medium" text-case="capitalize-first" prefix=". "/>+ </else>+ </choose>+ <choose>+ <if variable="title" match="none"/>+ <else-if type="thesis"/>+ <else>+ <group delimiter=" " prefix=". ">+ <text variable="genre" text-case="capitalize-first"/>+ <choose>+ <if type="report">+ <text variable="number"/>+ </if>+ </choose>+ </group>+ </else>+ </choose>+ <!--This is for computer programs only. Localization new to 1.0.1, so may be missing in many locales-->+ <group delimiter=" " prefix=" (" suffix=")">+ <text term="version"/>+ <text variable="version"/>+ </group>+ </macro>+ <macro name="issue">+ <choose>+ <if type="legal_case">+ <text variable="authority" prefix=". "/>+ </if>+ <else-if type="speech">+ <group prefix=" " delimiter=", ">+ <text macro="event"/>+ <text macro="day-month"/>+ <text variable="event-place"/>+ </group>+ </else-if>+ <else-if type="article-newspaper article-magazine" match="any">+ <text macro="day-month" prefix=", "/>+ </else-if>+ <else>+ <group prefix=". " delimiter=", ">+ <choose>+ <if type="thesis">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ </choose>+ <text macro="publisher"/>+ </group>+ </else>+ </choose>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-givenname="true">+ <sort>+ <key macro="date"/>+ <key macro="contributors-short"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <group delimiter=" ">+ <text macro="contributors-short"/>+ <text macro="date"/>+ </group>+ <text macro="point-locators"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="9" et-al-use-first="8" entry-spacing="0">+ <sort>+ <key macro="contributors" names-min="1" names-use-first="1"/>+ <key macro="author-count" names-min="3" names-use-first="3"/>+ <key macro="contributors" names-min="3" names-use-first="1"/>+ <key macro="date"/>+ <key variable="title"/>+ </sort>+ <layout suffix=".">+ <group delimiter=". ">+ <text macro="contributors"/>+ <text macro="date"/>+ <text macro="title"/>+ </group>+ <text macro="description"/>+ <text macro="secondary-contributors" prefix=". "/>+ <text macro="container-title" prefix=". "/>+ <text macro="container-contributors"/>+ <text macro="edition"/>+ <text macro="locators-chapter"/>+ <text macro="locators"/>+ <text macro="collection-title" prefix=". "/>+ <text macro="issue"/>+ <text macro="locators-article"/>+ <text macro="access" prefix=". "/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-1",+ "translator": [+ {+ "family": "Beamish",+ "given": "Boy"+ }+ ],+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_UndefinedInName.txt view
@@ -0,0 +1,214 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++Original test submitted by Carles Pina.++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">I Test J R.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>Modern Language Association</title>+ <id>http://www.zotero.org/styles/mla</id>+ <link href="http://www.zotero.org/styles/mla" rel="self"/>+ <author>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </author>+ <contributor>+ <name> modified by Christian Werthschulte</name>+ <email>Christian.Werthschulte@rub.de</email>+ </contributor>+ <category field="generic-base"/>+ <category citation-format="author-date"/>+ <updated>2008-08-14T19:52:55+00:00</updated>+ </info>+ <macro name="editor-translator">+ <names variable="editor translator" delimiter=". ">+ <label form="verb-short" text-case="capitalize-first" suffix=". " strip-periods="true"/>+ <name and="symbol" delimiter=", "/>+ </names>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", " suffix="." strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="symbol" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title-short"/>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <group delimiter=" ">+ <date variable="accessed">+ <date-part name="day" suffix=" "/>+ <date-part name="month" form="short" suffix=" "/>+ <date-part name="year"/>+ </date>+ <text variable="URL" prefix="<" suffix=">"/>+ </group>+ </macro>+ <macro name="title">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else>+ <text variable="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="title-short">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" form="short" font-style="italic"/>+ </if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher-year">+ <group delimiter=", ">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" disambiguate-add-names="true" disambiguate-add-givenname="true">+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=" ">+ <choose>+ <if variable="author editor translator" match="any">+ <group delimiter=", ">+ <text macro="author-short"/>+ <choose>+ <if disambiguate="true">+ <text macro="title-short"/>+ </if>+ </choose>+ </group>+ </if>+ <else>+ <text macro="title-short"/>+ </else>+ </choose>+ <text variable="locator"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="4" et-al-use-first="1" line-spacing="2" subsequent-author-substitute="---">+ <sort>+ <key macro="author"/>+ <key variable="title"/>+ </sort>+ <layout>+ <text macro="author" suffix="."/>+ <text macro="title" prefix=" " suffix="."/>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text macro="edition" prefix=" " suffix="."/>+ <text macro="editor-translator" prefix=" " suffix="."/>+ <text macro="publisher-year" prefix=" " suffix="."/>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <group>+ <text variable="container-title" font-style="italic" prefix=" " suffix="."/>+ <text macro="edition" prefix=" " suffix="."/>+ <text macro="editor-translator" prefix=" " suffix="."/>+ <text macro="publisher-year" prefix=" " suffix="."/>+ </group>+ <text variable="page" prefix=" " suffix="."/>+ </else-if>+ <else>+ <group prefix=" " suffix="." delimiter=": ">+ <group delimiter=" ">+ <text macro="editor-translator" suffix="."/>+ <text variable="container-title" font-style="italic"/>+ <choose>+ <if type="article-journal">+ <group delimiter=" ">+ <group delimiter=".">+ <text variable="volume"/>+ <text variable="issue"/>+ </group>+ <date variable="issued" prefix="(" suffix=")">+ <date-part name="year"/>+ </date>+ </group>+ </if>+ <else>+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" form="short" suffix=" "/>+ <date-part name="year"/>+ </date>+ </else>+ </choose>+ </group>+ <text variable="page"/>+ </group>+ </else>+ </choose>+ <text prefix=" " suffix="." macro="access"/>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "given": "I Test J R"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_UndefinedInName2.txt view
@@ -0,0 +1,202 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Kim, B-X, and A-Y Kim.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>American Political Science Association</title>+ <id>http://www.zotero.org/styles/apsa</id>+ <link href="http://www.zotero.org/styles/apsa" rel="self"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <category citation-format="author-date"/>+ <category field="political_science"/>+ <updated>2008-11-22T17:18:47+00:00</updated>+ <summary>The American Political Science Association style.</summary>+ <link href="http://www.ipsonet.org/data/files/APSAStyleManual2006.pdf" rel="documentation"/>+ </info>+ <macro name="editor">+ <names variable="editor" delimiter=", ">+ <label form="short" text-case="lowercase" suffix=". " strip-periods="true"/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", " suffix="." text-case="lowercase" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <text variable="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text variable="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <group delimiter=" ">+ <text value="Available at:"/>+ <text variable="URL"/>+ <group prefix="[" suffix="]">+ <text term="accessed" text-case="capitalize-first" suffix=" "/>+ <date variable="accessed">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </group>+ </group>+ </macro>+ <macro name="title">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else>+ <text variable="title"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </macro>+ <macro name="year-date">+ <group prefix=" ">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </group>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" et-al-subsequent-min="6" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" collapse="year">+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <group delimiter=" ">+ <text macro="author-short"/>+ <text macro="year-date"/>+ </group>+ <text variable="locator"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="4" et-al-use-first="1">+ <sort>+ <key macro="author"/>+ <key variable="title"/>+ </sort>+ <layout>+ <text macro="author" suffix="."/>+ <date variable="issued" prefix=" " suffix=".">+ <date-part name="year"/>+ </date>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <group prefix=" " delimiter=" ">+ <text macro="title" suffix="."/>+ <text macro="edition"/>+ <text macro="editor" suffix="."/>+ </group>+ <text prefix=" " suffix="." macro="publisher"/>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <text macro="title" prefix=" " suffix="." quotes="true"/>+ <group prefix=" " delimiter=" ">+ <text term="in" text-case="capitalize-first"/>+ <text variable="container-title" font-style="italic" suffix=","/>+ <text variable="collection-title" suffix=","/>+ <text macro="editor" suffix="."/>+ <group suffix=".">+ <text macro="publisher"/>+ <group prefix=", ">+ <text variable="page" prefix="p. "/>+ </group>+ </group>+ </group>+ </else-if>+ <else>+ <group prefix=" " delimiter=" " suffix=".">+ <text macro="title" quotes="true"/>+ <text macro="editor"/>+ </group>+ <group prefix=" " suffix=".">+ <text variable="container-title" font-style="italic"/>+ <group prefix=" ">+ <text variable="volume"/>+ <text variable="issue" prefix="(" suffix=")"/>+ </group>+ <text variable="page" prefix=": "/>+ </group>+ </else>+ </choose>+ <text prefix=" " macro="access" suffix="."/>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Kim",+ "given": "B-X"+ },+ {+ "family": "Kim",+ "given": "A-Y"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_UndefinedInName3.txt view
@@ -0,0 +1,396 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++Bug report by Carles Pina.++## 2013-04-17 :: Frank Bennett <biercenator@gmail.com>++ At the time of reporting, the target style had no+ "givenname-disambiguation-rule" set (and MHRA still does not). The+ specification was subsequently revised to required "by-cite"+ disambiguation. Under by-cite disambiguation, the subsequent form in+ the style is "Kim and Kim", without the given names.++>>===== RESULT =====>>+B-X Kim and A-Y Kim.+Kim and Kim, 23.+<<===== RESULT =====<<++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0">+ <info>+ <title>Modern Humanities Research Association (Note without Bibliography)</title>+ <id>http://www.zotero.org/styles/mhra_note_without_bibliography</id>+ <link href="http://www.zotero.org/styles/mhra_note_without_bibliography" rel="self"/>+ <link href="http://www.mhra.org.uk/Publications/Books/StyleGuide/download.shtml" rel="documentation"/>+ <author>+ <name>Rintze Zelle</name>+ <uri>http://forums.zotero.org/account/831/</uri>+ </author>+ <summary>MHRA format with full notes and no bibliography</summary>+ <category field="generic-base"/>+ <category citation-format="note"/>+ <updated>2008-10-28T21:36:13+00:00</updated>+ </info>+ <locale xml:lang="en">+ <terms>+ <term name="et-al">and others</term>+ <term name="editor" form="verb-short">ed. by</term>+ <term name="edition" form="short">edn</term>+ <term name="translator" form="verb-short">trans. by</term>+ </terms>+ </locale>+ <macro name="contributors-note">+ <names variable="author">+ <name and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="never"/>+ </names>+ <text macro="recipient-note"/>+ </macro>+ <macro name="title-note">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else>+ <text variable="title" prefix="‘" suffix="’"/>+ </else>+ </choose>+ </macro>+ <macro name="editor-translator">+ <group delimiter=", ">+ <names variable="editor" delimiter=", ">+ <label form="verb-short" text-case="lowercase" suffix=" " strip-periods="true"/>+ <name and="text" delimiter=", " delimiter-precedes-last="never"/>+ </names>+ <choose>+ <if variable="author editor" match="any">+ <names variable="translator" delimiter=", ">+ <label form="verb-short" text-case="lowercase" suffix=" " strip-periods="true"/>+ <name and="text" delimiter=", " delimiter-precedes-last="never"/>+ </names>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="collection-title">+ <text variable="collection-title"/>+ <text variable="collection-number" prefix=", "/>+ </macro>+ <macro name="locators-note">+ <choose>+ <if type="article-journal">+ <text variable="volume"/>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <group delimiter=", ">+ <text macro="edition-note"/>+ <choose>+ <if variable="locator" match="none">+ <group>+ <number variable="number-of-volumes" form="numeric"/>+ <text term="volume" form="short" prefix=" " plural="true" strip-periods="true"/>+ </group>+ </if>+ </choose>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="issue-note">+ <choose>+ <if type="article-journal">+ <choose>+ <if variable="volume">+ <text macro="issued" prefix=" (" suffix=")"/>+ </if>+ <else>+ <text macro="issued" prefix=", "/>+ </else>+ </choose>+ </if>+ <else-if variable="publisher-place publisher" match="any">+ <group prefix=" (" suffix=")" delimiter=", ">+ <group delimiter=" ">+ <choose>+ <if variable="title" match="none"/>+ <else-if type="thesis speech" match="any">+ <text variable="genre" prefix="unpublished "/>+ </else-if>+ </choose>+ <text macro="event"/>+ </group>+ <text macro="publisher"/>+ <text macro="issued"/>+ </group>+ </else-if>+ <else>+ <text macro="issued" prefix=", "/>+ </else>+ </choose>+ </macro>+ <macro name="locators-specific-note">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <choose>+ <if is-numeric="volume">+ <number variable="volume" form="roman" font-variant="small-caps"/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="container-title-note">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text term="in" text-case="lowercase" suffix=" "/>+ </if>+ </choose>+ <text variable="container-title" font-style="italic"/>+ </macro>+ <macro name="edition-note">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition"/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="editor-note">+ <names variable="editor">+ <name and="text" sort-separator=", " delimiter=", "/>+ <label form="short" prefix=", " suffix="." strip-periods="true"/>+ </names>+ </macro>+ <macro name="translator-note">+ <names variable="translator">+ <name and="text" sort-separator=", " delimiter=", "/>+ <label form="verb-short" prefix=", " suffix="." strip-periods="true"/>+ </names>+ </macro>+ <macro name="recipient-note">+ <names variable="recipient" delimiter=", ">+ <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="recipient-short">+ <names variable="recipient">+ <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>+ <name form="short" and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name form="short" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="never"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ <text macro="recipient-short"/>+ </macro>+ <macro name="interviewer-note">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="locators-newspaper">+ <choose>+ <if type="article-newspaper">+ <group delimiter=", ">+ <group>+ <text variable="edition" suffix=" "/>+ <text term="edition" prefix=" "/>+ </group>+ <group>+ <text term="section" suffix=" "/>+ <text variable="section"/>+ </group>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="event">+ <group>+ <text term="presented at" suffix=" "/>+ <text variable="event"/>+ </group>+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </macro>+ <macro name="issued">+ <choose>+ <if type="graphic report article-newspaper" match="any">+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song thesis chapter paper-conference" match="any">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </else-if>+ <else>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </else>+ </choose>+ </macro>+ <macro name="pages">+ <choose>+ <if type="article-journal">+ <text variable="page" prefix=", "/>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song article-newspaper thesis chapter paper-conference" match="any">+ <label variable="page" form="short" prefix=", " suffix=" "/>+ <text variable="page"/>+ </else-if>+ </choose>+ </macro>+ <macro name="point-locators">+ <choose>+ <if variable="locator" match="none">+ <text macro="pages"/>+ </if>+ <else-if type="article-journal">+ <text variable="locator" prefix=": "/>+ </else-if>+ <else>+ <group prefix=", ">+ <choose>+ <if locator="page" match="none">+ <label variable="locator" form="short" suffix=" "/>+ </if>+ </choose>+ <text variable="locator"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="archive-note">+ <group delimiter=", ">+ <text variable="archive_location"/>+ <text variable="archive"/>+ <text variable="archive-place"/>+ </group>+ </macro>+ <macro name="access-note">+ <group delimiter=", ">+ <choose>+ <if type="graphic report" match="any">+ <text macro="archive-note" prefix=", "/>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song article-journal article-magazine article-newspaper thesis chapter paper-conference" match="none">+ <text macro="archive-note" prefix=", "/>+ </else-if>+ </choose>+ </group>+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix=" <doi:" suffix=">"/>+ </if>+ <else>+ <text variable="URL" prefix=" <" suffix=">"/>+ <group prefix=" [" suffix="]">+ <text term="accessed" text-case="lowercase"/>+ <date variable="accessed">+ <date-part name="day" prefix=" "/>+ <date-part name="month" prefix=" "/>+ <date-part name="year" prefix=" "/>+ </date>+ </group>+ </else>+ </choose>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" et-al-subsequent-min="4" et-al-subsequent-use-first="1" disambiguate-add-names="true" disambiguate-add-givenname="true">+ <layout prefix="" suffix="." delimiter="; ">+ <choose>+ <if position="subsequent">+ <text macro="contributors-short"/>+ <text macro="locators-specific-note" prefix=", "/>+ <text macro="point-locators"/>+ </if>+ <else>+ <group delimiter=", ">+ <text macro="contributors-note"/>+ <text macro="title-note"/>+ <text macro="container-title-note"/>+ <text macro="editor-translator"/>+ <text macro="collection-title"/>+ <text macro="locators-note"/>+ </group>+ <text macro="issue-note"/>+ <text macro="locators-specific-note" prefix=", "/>+ <text macro="locators-newspaper" prefix=", "/>+ <text macro="point-locators"/>+ <text macro="access-note"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>++<<===== CSL =====<<++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1",+ "position": 0+ }+ ],+ [+ {+ "id": "ITEM-1",+ "label": "page",+ "locator": "23",+ "position": 2+ }+ ]+]+<<===== CITATION-ITEMS =====<<++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Kim", + "given": "B-X"+ }, + {+ "family": "Kim", + "given": "A-Y"+ }+ ], + "id": "ITEM-1", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_UndefinedNotString.txt view
@@ -0,0 +1,157 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++This exercises text-case="title". Test by Carles Pina.+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">+ <div class="csl-left-margin">[1]</div><div class="csl-right-inline"><i>FOO BAR</i> <b>n.d.</b></div>+ </div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>Advanced Engineering Materials</title>+ <id>http://www.zotero.org/styles/advanced-engineering-materials</id>+ <link href="http://www.zotero.org/styles/advanced-engineering-materials" rel="self"/>+ <author>+ <name>Richard Karnesky</name>+ <email>karnesky+zotero@gmail.com</email>+ <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>+ </author>+ <category field="engineering"/>+ <!--<category term="materials science"/>-->+ <category field="generic-base"/>+ <category citation-format="numeric"/>+ <updated>2008-10-05T08:50:29+00:00</updated>+ <summary>A style for Wiley-VCH's journal "Advanced Engineering Materials"</summary>+ <issn>1438-1656</issn>+ <link href="http://www3.interscience.wiley.com/journal/67500980/home/2266_guidelines.html" rel="documentation"/>+ <rights>This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License: http://creativecommons.org/licenses/by-sa/3.0/us/</rights>+ </info>+ <macro name="author">+ <names variable="author">+ <label form="short" prefix=", " text-case="capitalize-first" suffix=": " strip-periods="true"/>+ <name initialize-with="." delimiter=", " delimiter-precedes-last="always" name-as-sort-order="all"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <label form="short" text-case="capitalize-first" suffix=": " strip-periods="true"/>+ <name initialize-with="." delimiter=", " delimiter-precedes-last="always" name-as-sort-order="all"/>+ </names>+ </macro>+ <macro name="year-date">+ <group font-weight="bold">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </group>+ </macro>+ <macro name="publisher">+ <group delimiter=", ">+ <text variable="publisher" text-case="capitalize-all"/>+ <text variable="publisher-place" suffix=" " text-case="title"/>+ </group>+ <text macro="year-date"/>+ </macro>+ <citation collapse="citation-number">+ <sort>+ <key variable="citation-number"/>+ </sort>+ <layout vertical-align="sup" prefix="[" suffix="]" delimiter=", ">+ <text variable="citation-number"/>+ </layout>+ </citation>+ <bibliography entry-spacing="0" second-field-align="flush">+ <layout suffix=".">+ <text variable="citation-number" prefix="[" suffix="]"/>+ <text macro="author" prefix=" " suffix=", "/>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <group delimiter=", ">+ <text variable="title" text-case="title" font-style="italic"/>+ <text macro="publisher"/>+ </group>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=", ">+ <group delimiter=" ">+ <text term="in" text-case="lowercase"/>+ <text variable="container-title" form="short" text-case="title" font-style="italic"/>+ <text macro="editor" prefix="(" suffix=")"/>+ </group>+ <text macro="publisher"/>+ <group delimiter=" ">+ <!-- TODO: Change to page-first when Zotero supports it -->+ <text variable="page"/>+ </group>+ </group>+ </else-if>+ <else-if type="patent">+ <group delimiter=", ">+ <text variable="title" text-case="title" font-style="italic"/>+ <text macro="year-date"/>+ <text variable="number" prefix="U.S. Patent "/>+ </group>+ </else-if>+ <else-if type="thesis">+ <group delimiter=", ">+ <text variable="title" text-case="title" font-style="italic"/>+ <text variable="genre"/>+ <text variable="publisher"/>+ <text macro="year-date"/>+ </group>+ </else-if>+ <else>+ <group delimiter=" ">+ <text variable="container-title" form="short" text-case="title" font-style="italic"/>+ <group delimiter=", ">+ <text macro="year-date"/>+ <text variable="volume" font-style="italic"/>+ <!-- TODO: Change to page-first when Zotero supports it -->+ <text variable="page" form="short"/>+ </group>+ </group>+ </else>+ </choose>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "container-title": "FOO BAR",+ "id": "ITEM-1",+ "type": "article-journal"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_UndefinedStr.txt view
@@ -0,0 +1,167 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">+ <div class="csl-left-margin">[1]</div><div class="csl-right-inline"> FamilyName G. n.d.</div>+ </div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>Acta Materialia</title>+ <id>http://www.zotero.org/styles/acta-materialia</id>+ <link href="http://www.zotero.org/styles/acta-materialia" rel="self"/>+ <author>+ <name>Richard Karnesky</name>+ <email>karnesky+zotero@gmail.com</email>+ <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>+ </author>+ <category field="engineering"/>+ <!--<category term="materials science"/>-->+ <category field="generic-base"/>+ <category citation-format="numeric"/>+ <updated>2010-04-24T04:49:00+09:00</updated>+ <summary>A style for Elsevier's journal "Acta Materialia"</summary>+ <issn>1359-6454</issn>+ <link href="http://www.elsevier.com/wps/find/journaldescription.cws_home/221/authorinstructions#Refs" rel="documentation"/>+ <rights>This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License: http://creativecommons.org/licenses/by-sa/3.0/us/</rights>+ </info>+ <macro name="author">+ <names variable="author">+ <name initialize-with="" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="all" sort-separator=" "/>+ <label form="long" prefix=", " text-case="lowercase" suffix="."/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name initialize-with="" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="all" sort-separator=" "/>+ <label form="long" prefix=", " text-case="lowercase" suffix="."/>+ </names>+ </macro>+ <macro name="year-date">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <text variable="publisher-place" suffix=": " text-case="title"/>+ <text variable="publisher" suffix=", "/>+ <text macro="year-date"/>+ </macro>+ <citation collapse="citation-number">+ <sort>+ <key variable="citation-number"/>+ </sort>+ <layout prefix="[" suffix="]" delimiter=",">+ <text variable="citation-number"/>+ </layout>+ </citation>+ <bibliography entry-spacing="0" second-field-align="flush">+ <layout suffix=".">+ <text variable="citation-number" prefix="[" suffix="]"/>+ <text macro="author" prefix=" " suffix=". "/>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <group delimiter=". ">+ <group delimiter=", ">+ <text variable="title" text-case="title"/>+ <text variable="volume" prefix="vol. "/>+ </group>+ <text macro="publisher"/>+ </group>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=". ">+ <text variable="title" text-case="sentence"/>+ <text term="in" text-case="sentence" suffix=":"/>+ <text macro="editor"/>+ <group delimiter=", ">+ <text variable="container-title" form="short" text-case="title"/>+ <text variable="volume" prefix="vol. "/>+ </group>+ <text macro="publisher"/>+ <group delimiter=" ">+ <label variable="page" form="short" suffix="." strip-periods="true"/>+ <text variable="page"/>+ </group>+ </group>+ </else-if>+ <else-if type="patent">+ <group delimiter=", ">+ <group delimiter=". ">+ <text variable="title" text-case="title"/>+ <text variable="number" prefix="U.S. Patent "/>+ </group>+ <text macro="year-date"/>+ </group>+ </else-if>+ <else-if type="thesis">+ <group delimiter=". ">+ <text variable="title" text-case="title"/>+ <text variable="genre"/>+ <group delimiter=", ">+ <text variable="publisher"/>+ <text macro="year-date"/>+ </group>+ </group>+ </else-if>+ <else>+ <group delimiter=":">+ <group delimiter=" ">+ <text variable="container-title" form="short" text-case="sentence"/>+ <group delimiter=";">+ <text macro="year-date"/>+ <text variable="volume"/>+ </group>+ </group>+ <!-- TODO: Change to page-first when Zotero supports it -->+ <text variable="page" form="short"/>+ </group>+ </else>+ </choose>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "FamilyName",+ "given": "GivenName"+ }+ ],+ "id": "ITEM-1",+ "title": "The Title",+ "type": "article-journal"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_UnisaHarvardInitialization.txt view
@@ -0,0 +1,83 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Doe, JQ n.d., </div>+</div>+<<===== RESULT =====<<+++Macros are from a private style "unisa-harvard", forwarded by a user.++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="in-text"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with="" delimiter=", " delimiter-precedes-last="never"/>+ <label form="short" prefix=" (" suffix=")" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ </substitute>+ </names>+ </macro>+ <macro name="year-date">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <citation>+ <layout>+ <text value="BOGUS"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <text macro="author"/>+ <text macro="year-date" prefix=" " suffix=", "/>+ </layout>+ </bibliography>+</style>+++<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John Quiggly"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_YearSuffixInHarvard1.txt view
@@ -0,0 +1,285 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Africa News, 2006a. Burkina Faso: Journalist Case Puts Spotlight On Justice System. <i>Africa News</i>.</div>+ <div class="csl-entry">Africa News, 2010. Niger: Who Really Ousted Tandja, And Why? <i>Africa News</i>.</div>+ <div class="csl-entry">Africa News, 2007. Uganda: Police Protect Besigye Rally. <i>Africa News</i>.</div>+ <div class="csl-entry">Africa News, 2006b. Uganda: UK, US Deploy Observers. <i>Africa News</i>.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>Harvard Reference format 1 (Author-Date)</title>+ <id>http://www.zotero.org/styles/harvard1</id>+ <link href="http://www.zotero.org/styles/harvard1" rel="self"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <category citation-format="author-date"/>+ <category field="generic-base"/>+ <updated>2008-10-29T21:20:42+00:00</updated>+ <summary>The Harvard author-date style</summary>+ <link href="http://libweb.anglia.ac.uk/referencing/harvard.htm" rel="documentation"/>+ </info>+ <macro name="editor">+ <names variable="editor" delimiter=", ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="lowercase" suffix="." strip-periods="true"/>+ </names>+ </macro>+ <macro name="anon">+ <text term="anonymous" form="short" text-case="capitalize-first" strip-periods="true"/>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with="." delimiter-precedes-last="never" delimiter=", "/>+ <label form="short" prefix=" " suffix="." text-case="lowercase" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="symbol" delimiter=", " delimiter-precedes-last="never" initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <group>+ <text value="Available at:" suffix=" "/>+ <text variable="URL"/>+ <group prefix=" [" suffix="]">+ <text term="accessed" text-case="capitalize-first" suffix=" "/>+ <date variable="accessed">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </group>+ </group>+ </macro>+ <macro name="title">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song thesis" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else>+ <text variable="title"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </macro>+ <macro name="year-date">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <macro name="pages">+ <group>+ <label variable="page" form="short" suffix=" "/>+ <text variable="page"/>+ </group>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true">+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <group delimiter=" ">+ <text macro="author-short"/>+ <text macro="year-date"/>+ </group>+ <group>+ <label variable="locator" suffix="." form="short" strip-periods="true"/>+ <text variable="locator"/>+ </group>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="4" et-al-use-first="1">+ <sort>+ <key macro="author"/>+ <key variable="title"/>+ </sort>+ <layout>+ <text macro="author" suffix=","/>+ <date variable="issued" prefix=" " suffix=".">+ <date-part name="year"/>+ </date>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <group prefix=" " delimiter=" " suffix=",">+ <text macro="title"/>+ <text macro="edition"/>+ <text macro="editor"/>+ </group>+ <text prefix=" " suffix="." macro="publisher"/>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <text macro="title" prefix=" " suffix="."/>+ <group prefix=" " delimiter=" ">+ <text term="in" text-case="capitalize-first"/>+ <text macro="editor"/>+ <text variable="container-title" font-style="italic" suffix="."/>+ <text variable="collection-title" suffix="."/>+ <group suffix="." delimiter=", ">+ <text macro="publisher" prefix=" "/>+ <text macro="pages"/>+ </group>+ </group>+ </else-if>+ <else-if type="thesis">+ <group prefix=" " suffix="." delimiter=". ">+ <text macro="title"/>+ <text variable="genre"/>+ <text macro="publisher"/>+ </group>+ </else-if>+ <else>+ <group suffix=".">+ <text macro="title" prefix=" "/>+ <text macro="editor" prefix=" "/>+ </group>+ <group prefix=" " suffix=".">+ <text variable="container-title" font-style="italic"/>+ <group prefix=", ">+ <text variable="volume"/>+ <text variable="issue" prefix="(" suffix=")"/>+ </group>+ <group prefix=", ">+ <label variable="page" suffix="." form="short" strip-periods="true"/>+ <text variable="page"/>+ </group>+ </group>+ </else>+ </choose>+ <text prefix=" " macro="access" suffix="."/>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<++++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "literal": "Africa News"+ }+ ],+ "container-title": "Africa News",+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2006"+ ]+ ]+ },+ "title": "Burkina Faso: Journalist Case Puts Spotlight On Justice System",+ "type": "article-journal"+ },+ {+ "author": [+ {+ "literal": "Africa News"+ }+ ],+ "container-title": "Africa News",+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "2010"+ ]+ ]+ },+ "title": "Niger: Who Really Ousted Tandja, And Why?",+ "type": "article-journal"+ },+ {+ "author": [+ {+ "literal": "Africa News"+ }+ ],+ "container-title": "Africa News",+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ "2007"+ ]+ ]+ },+ "title": "Uganda: Police Protect Besigye Rally",+ "type": "article-journal"+ },+ {+ "author": [+ {+ "literal": "Africa News"+ }+ ],+ "container-title": "Africa News",+ "id": "ITEM-4",+ "issued": {+ "date-parts": [+ [+ "2006"+ ]+ ]+ },+ "title": "Uganda: UK, US Deploy Observers",+ "type": "article-journal"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_YearSuffixLingers.txt view
@@ -0,0 +1,132 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Smith 1990a+Smith 1990b+Jones 1990+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + et-al-min="3"+ et-al-use-first="1"+ et-al-subsequent-min="3"+ et-al-subsequent-use-first="1"+ disambiguate-add-year-suffix="true">+ <layout delimiter="; ">+ <group delimiter=" ">+ <names variable="author">+ <name form="short"/>+ </names>+ <date variable="issued" form="text" date-parts="year"/>+ </group>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key variable="author" />+ <key variable="title" />+ </sort>+ <layout>+ <text value="Ignore me" />+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Jones",+ "given": "Bob"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ },+ "title": "Book C",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_disambiguate.txt view
@@ -0,0 +1,398 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++>>===== RESULT =====>>+(FamilyA & FamilyB, 2003; FamilyA, FamilyC, & FamilyB, 2007)+<<===== RESULT =====<<++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>American Psychological Association 6th Edition</title>+ <id>http://www.zotero.org/styles/apa</id>+ <link href="http://www.zotero.org/styles/apa" rel="self"/>+ <link href="http://owl.english.purdue.edu/owl/resource/560/01/" rel="documentation"/>+ <author>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </author>+ <contributor>+ <name>Bruce D'Arcus</name>+ </contributor>+ <contributor>+ <name>Curtis M. Humphrey</name>+ </contributor>+ <contributor>+ <name>Richard Karnesky</name>+ <email>karnesky+zotero@gmail.com</email>+ <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>+ </contributor>+ <contributor>+ <name>Sebastian Karcher</name>+ </contributor>+ <category field="psychology"/>+ <category field="generic-base"/>+ <category citation-format="author-date"/>+ <updated>2010-01-27T20:08:03+00:00</updated>+ <rights>This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>+ </info>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text term="in" text-case="capitalize-first" suffix=" "/>+ <names variable="editor translator" delimiter=", " suffix=", ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=" (" text-case="capitalize-first" suffix=".)" strip-periods="true"/>+ </names>+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if type="chapter paper-conference" match="none">+ <names variable="editor translator" delimiter=", " prefix=" (" suffix=")">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="capitalize-first" suffix="." strip-periods="true"/>+ </names>+ </if>+ </choose>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=" (" suffix=".)" text-case="capitalize-first" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="symbol" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" form="short" font-style="italic"/>+ </if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <choose>+ <if type="thesis">+ <choose>+ <if variable="archive" match="any">+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="archive" suffix="."/>+ <text variable="archive_location" prefix=" (" suffix=")"/>+ </group>+ </if>+ <else>+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </else>+ </choose>+ </if>+ <else>+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix="doi:"/>+ </if>+ <else>+ <choose>+ <if type="webpage">+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <date variable="accessed" suffix=", ">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ <group>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </group>+ </if>+ <else>+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </else>+ </choose>+ </else>+ </choose>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if type="report thesis" match="any">+ <text variable="title" font-style="italic"/>+ <group prefix=" (" suffix=")">+ <text variable="genre"/>+ <text variable="number" prefix=" No. "/>+ </group>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song manuscript speech" match="any">+ <text variable="title" font-style="italic"/>+ </else-if>+ <else>+ <text variable="title"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <choose>+ <if type="report" match="any">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </if>+ <else-if type="thesis" match="any">+ <group delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </else-if>+ <else>+ <choose>+ <if variable="event" match="none">+ <text variable="genre" suffix=", "/>+ </if>+ </choose>+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="event">+ <choose>+ <if variable="event">+ <choose>+ <if variable="genre" match="none">+ <text term="presented at" text-case="capitalize-first" suffix=" "/>+ <text variable="event"/>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="genre" text-case="capitalize-first"/>+ <text term="presented at"/>+ <text variable="event"/>+ </group>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issued">+ <choose>+ <if variable="issued">+ <group prefix=" (" suffix=").">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song article-journal chapter paper-conference" match="none">+ <date variable="issued">+ <date-part prefix=", " name="month"/>+ <date-part prefix=" " name="day"/>+ </date>+ </if>+ </choose>+ </group>+ </if>+ <else>+ <text prefix=" (" term="no date" suffix=")." form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="issued-year">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short" strip-periods="true"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal article-magazine article-newspaper" match="any">+ <group prefix=", " delimiter=", ">+ <group>+ <text variable="volume" font-style="italic"/>+ <text variable="issue" prefix="(" suffix=")"/>+ </group>+ <text variable="page"/>+ </group>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <group prefix=" (" suffix=")" delimiter=", ">+ <text macro="edition"/>+ <group>+ <text term="volume" form="short" plural="true" text-case="capitalize-first" suffix=". " strip-periods="true"/>+ <number variable="number-of-volumes" form="numeric" prefix="1-"/>+ </group>+ <group>+ <text term="volume" form="short" text-case="capitalize-first" suffix=". " strip-periods="true"/>+ <number variable="volume" form="numeric"/>+ </group>+ <group>+ <label variable="page" form="short" suffix=" "/>+ <text variable="page"/>+ </group>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="citation-locator">+ <group>+ <label variable="locator" form="short"/>+ <text variable="locator" prefix=" "/>+ </group>+ </macro>+ <citation et-al-min="6" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" collapse="year">+ <sort>+ <key macro="author"/>+ <key macro="issued-year"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <text macro="author-short"/>+ <text macro="issued-year"/>+ <text macro="citation-locator"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="8" et-al-use-first="7" entry-spacing="0" line-spacing="2">+ <sort>+ <key macro="author"/>+ <key macro="issued-year" sort="ascending"/>+ </sort>+ <layout>+ <group suffix=".">+ <text macro="author" suffix="."/>+ <text macro="issued" suffix=" "/>+ <group delimiter=". ">+ <text macro="title"/>+ <group>+ <text macro="container-contributors"/>+ <text macro="secondary-contributors"/>+ <group delimiter=", ">+ <text variable="container-title" font-style="italic"/>+ <text variable="collection-title"/>+ </group>+ </group>+ </group>+ <text macro="locators"/>+ <group delimiter=", " prefix=". ">+ <text macro="event"/>+ <text macro="publisher"/>+ </group>+ </group>+ <text macro="access" prefix=". "/>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "FamilyA",+ "given": "GivenA D."+ },+ {+ "family": "FamilyB",+ "given": "GivenB P."+ }+ ],+ "container-title": "Container Title01",+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2003,+ 1+ ]+ ]+ },+ "title": "Title01",+ "type": "article-journal"+ },+ {+ "author": [+ {+ "family": "FamilyA",+ "given": "GivenA D."+ },+ {+ "family": "FamilyC",+ "given": "GivenC1 GivenC2"+ },+ {+ "family": "FamilyB",+ "given": "GivenB P"+ }+ ],+ "container-title": "Container Title02",+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 2007,+ 1+ ]+ ]+ },+ "title": "Title02",+ "type": "article-journal"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_effingBug.txt view
@@ -0,0 +1,67 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Book One, 123 f.; Book Two, 456 f.+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1",+ "locator": "123"+ },+ {+ "id": "ITEM-2",+ "locator": "123"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; ">+ <group delimiter=", ">+ <text variable="title"/>+ <text variable="page" suffix=" f."/>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "page": "123",+ "title": "Book One",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "page": "456",+ "title": "Book Two",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_ikeyOne.txt view
@@ -0,0 +1,369 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++## 2013-04-17 :: Frank Bennett <biercenator@gmail.com>++ I believe that the full name is correct here. With by-cite+ disambiguation, an uncited item in the bibliography that would clash+ with a cite in the document should trigger disambiguation. That's my+ call on this one, anyway.++## 2013-05-09 :: Frank Bennett <biercenator@gmail.com>++ Well, that would have been true if this test resulted in an uncited+ item. But the third operation deletes the initial citation completely.+ The orginal test result "Smith" is correct here.++>>===== RESULT =====>>+>>[0] (Smith)+<<===== RESULT =====<<++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": 4+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-2",+ "citationItems": [+ {+ "id": 5+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [+ [+ "CITATION-1",+ 0+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-2",+ "citationItems": [+ {+ "id": 5+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [],+ []+ ]+]+<<===== CITATIONS =====<<++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>Modern Language Association</title>+ <id>http://www.zotero.org/styles/mla</id>+ <link href="http://www.zotero.org/styles/mla" rel="self"/>+ <author>+ <name>modified by Sebastian Karcher</name>+ <email>karcher@u.northwestern.edu</email>+ </author>+ <contributor>+ <name>modified by Christian Werthschulte</name>+ <email>Christian.Werthschulte@rub.de</email>+ </contributor>+ <contributor>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </contributor>+ <contributor>+ <name>modified by James Johnston</name>+ <email>thejamesjohnston@gmail.com</email>+ </contributor>+ <category field="generic-base"/>+ <category citation-format="author-date"/>+ <link href="http://owl.english.purdue.edu/owl/section/2/11/" rel="documentation"/>+ <updated>2009-11-10T07:33:51+00:00</updated>+ <summary>This style requires the "Include URLs" box to be checked in the Style tab of the Zotero preferences</summary>+ <rights>This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>+ </info>+ <locale xml:lang="en">+ <terms>+ <term name="month-01" form="short">Jan.</term>+ <term name="month-02" form="short">Feb.</term>+ <term name="month-03" form="short">Mar.</term>+ <term name="month-04" form="short">Apr.</term>+ <term name="month-05" form="short">May</term>+ <term name="month-06" form="short">June</term>+ <term name="month-07" form="short">July</term>+ <term name="month-08" form="short">Aug.</term>+ <term name="month-09" form="short">Sept.</term>+ <term name="month-10" form="short">Oct.</term>+ <term name="month-11" form="short">Nov.</term>+ <term name="month-12" form="short">Dec.</term>+ </terms>+ </locale>+ <macro name="editor-translator">+ <names variable="editor translator" delimiter=". ">+ <label form="verb-short" text-case="capitalize-first" suffix=". " strip-periods="true"/>+ <name and="symbol" delimiter=", "/>+ </names>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", " suffix="." strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title-short"/>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <group delimiter=" ">+ <date variable="accessed">+ <date-part name="day" suffix=" "/>+ <date-part name="month" form="short" suffix=" " strip-periods="true"/>+ <date-part name="year"/>+ </date>+ </group>+ </macro>+ <macro name="medium">+ <choose>+ <if type="motion_picture">+ <choose>+ <if variable="medium">+ <text variable="medium" prefix=" "/>+ </if>+ <else>+ <text value="Film" prefix=" "/>+ </else>+ </choose>+ </if>+ <else-if type="song">+ <choose>+ <if variable="medium">+ <text variable="medium" prefix=" "/>+ </if>+ <else>+ <text value="Audio Recording" prefix=" "/>+ </else>+ </choose>+ </else-if>+ <else>+ <choose>+ <if variable="URL DOI" match="any">+ <text variable="archive" prefix=" " suffix=". "/>+ <text value="Web" prefix=" "/>+ <text prefix=". " suffix="." macro="access"/>+ </if>+ <else>+ <text value="Print" prefix=" "/>+ </else>+ </choose>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic" text-case="title"/>+ </if>+ <else>+ <text variable="title" quotes="true" text-case="title"/>+ </else>+ </choose>+ </macro>+ <macro name="title-short">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" form="short" font-style="italic" text-case="title"/>+ </if>+ <else>+ <text variable="title" form="short" quotes="true" text-case="title"/>+ </else>+ </choose>+ </macro>+ <macro name="pages">+ <choose>+ <if variable="page">+ <text variable="page"/>+ </if>+ <else>+ <text value="n. pag"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher-year">+ <group delimiter=", ">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" disambiguate-add-names="true" disambiguate-add-givenname="true">+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=" ">+ <choose>+ <if variable="author editor translator" match="any">+ <group delimiter=", ">+ <text macro="author-short"/>+ <choose>+ <if disambiguate="true">+ <text macro="title-short"/>+ </if>+ </choose>+ </group>+ </if>+ <else>+ <text macro="title-short"/>+ </else>+ </choose>+ <text variable="locator"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="4" et-al-use-first="1" line-spacing="2" entry-spacing="0" subsequent-author-substitute="---">+ <sort>+ <key macro="author"/>+ <key variable="title"/>+ </sort>+ <layout suffix=".">+ <text macro="author" suffix="."/>+ <text macro="title" prefix=" " suffix="."/>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text macro="edition" prefix=" " suffix="."/>+ <text macro="editor-translator" prefix=" " suffix="."/>+ <text macro="publisher-year" prefix=" " suffix="."/>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <group>+ <text variable="container-title" font-style="italic" text-case="title" prefix=" " suffix="."/>+ <text macro="edition" prefix=" " suffix="."/>+ <text macro="editor-translator" prefix=" " suffix="."/>+ <text macro="publisher-year" prefix=" " suffix="."/>+ </group>+ <text variable="page" prefix=" " suffix="."/>+ </else-if>+ <else>+ <group prefix=" " suffix="." delimiter=": ">+ <group delimiter=" ">+ <text macro="editor-translator" suffix="."/>+ <text variable="container-title" font-style="italic" text-case="title"/>+ <choose>+ <if type="article-journal">+ <group delimiter=" ">+ <group delimiter=".">+ <text variable="volume"/>+ <text variable="issue"/>+ </group>+ <date variable="issued" prefix="(" suffix=")">+ <date-part name="year"/>+ </date>+ </group>+ <text macro="pages" prefix=": "/>+ </if>+ <else>+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" form="short" suffix=" " strip-periods="true"/>+ <date-part name="year"/>+ </date>+ <choose>+ <if variable="URL DOI" match="any">+ <text variable="page"/>+ </if>+ <else>+ <text macro="pages" prefix=": "/>+ </else>+ </choose>+ </else>+ </choose>+ </group>+ </group>+ </else>+ </choose>+ <text macro="medium"/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<++>>===== INPUT =====>>+[+ {+ "id": 5,+ "type": "book",+ "title": "Book B",+ "author": [+ {+ "family": "Smith",+ "given": "James"+ }+ ]+ },+ {+ "id": 4,+ "type": "book",+ "title": "Book C",+ "author": [+ {+ "family": "Smith",+ "given": "John"+ }+ ]+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_parenthesis.txt view
@@ -0,0 +1,349 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry"> (2006): 1–7.</div>+</div>+<<===== RESULT =====<<++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0">+ <info>+ <title>Modern Humanities Research Association (Note with Bibliography)</title>+ <id>http://www.zotero.org/styles/mhra</id>+ <link href="http://www.zotero.org/styles/mhra" rel="self"/>+ <link href="http://www.mhra.org.uk/Publications/Books/StyleGuide/download.shtml" rel="documentation"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <category field="history"/>+ <category citation-format="numeric"/>+ <category field="generic-base"/>+ <updated>2008-02-02T00:00:00+00:00</updated>+ </info>+ <macro name="editor-translator">+ <names variable="editor translator" prefix="" suffix="" delimiter=", ">+ <label form="verb-short" prefix=" " text-case="lowercase" suffix=" " strip-periods="true"/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="editor-translator-short">+ <names variable="editor translator" prefix="" suffix="" delimiter=", ">+ <label form="short" prefix=" " text-case="lowercase" suffix=". " strip-periods="true"/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", " suffix="." strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-full">+ <names variable="author">+ <name name-as-sort-order="all" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", " suffix="." strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="long" and="text" delimiter=", "/>+ <label form="short" prefix=", " suffix="." strip-periods="true"/>+ </names>+ </macro>+ <macro name="access">+ <group>+ <text variable="URL"/>+ <group prefix=" (" suffix=")" delimiter=" ">+ <text term="accessed" text-case="lowercase" suffix=" "/>+ <date variable="accessed" suffix=", ">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </group>+ </group>+ </macro>+ <macro name="title">+ <choose>+ <if type="thesis">+ <text variable="title" form="long" quotes="true"/>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" form="long" font-style="italic"/>+ </else-if>+ <else>+ <text variable="title" form="long" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </macro>+ <macro name="pages">+ <choose>+ <if type="article-journal" match="none">+ <label variable="page" form="short" suffix=". " strip-periods="true"/>+ </if>+ </choose>+ <text variable="page"/>+ </macro>+ <macro name="locator">+ <label variable="locator" form="short" suffix=". " strip-periods="true"/>+ <text variable="locator"/>+ </macro>+ <macro name="vols">+ <choose>+ <if variable="number-of-volumes">+ <text variable="number-of-volumes"/>+ <text term="volume" prefix=" " form="short" plural="true" strip-periods="true"/>+ </if>+ </choose>+ </macro>+ <citation>+ <layout suffix="." delimiter="; ">+ <group suffix="">+ <text macro="author-short" suffix=", "/>+ <text macro="title" prefix=""/>+ <choose>+ <if type="thesis">+ <group prefix=" (" delimiter=", " suffix=")">+ <text variable="genre"/>+ <text variable="publisher"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <group prefix=", ">+ <text term="in" text-case="lowercase"/>+ <text variable="container-title" font-style="italic" prefix=" " suffix=","/>+ <text variable="collection-title" prefix=" " suffix=","/>+ <text macro="editor-translator-short"/>+ </group>+ <group prefix=" (" suffix=")" delimiter=", ">+ <text macro="publisher"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <group delimiter=", " prefix=" ">+ <text macro="editor-translator-short"/>+ <text variable="collection-title"/>+ <text variable="edition" suffix=" edn"/>+ <text macro="vols"/>+ </group>+ <group prefix=" (" suffix=")" delimiter=", ">+ <text macro="publisher"/>+ <date variable="issued" prefix=" " suffix="">+ <date-part name="year"/>+ </date>+ </group>+ <text variable="volume" prefix=", "/>+ </else-if>+ <else-if type="article-newspaper article-magazine" match="any">+ <group delimiter=", " prefix=", ">+ <text variable="container-title" font-style="italic"/>+ <text variable="issue" suffix="."/>+ <date variable="issued">+ <date-part name="day" form="numeric" suffix=" "/>+ <date-part name="month" form="long" suffix=" "/>+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ <else-if type="article-journal">+ <group prefix=", " delimiter=", ">+ <text variable="container-title" font-style="italic"/>+ <text macro="publisher"/>+ <text variable="volume" prefix=" "/>+ </group>+ <date variable="issued" prefix=" (" suffix=")">+ <date-part name="year"/>+ </date>+ </else-if>+ <else>+ <group delimiter=", " prefix=". ">+ <text variable="container-title" font-style="italic"/>+ <text variable="issue" prefix=", " suffix="."/>+ <date variable="issued">+ <date-part name="month" form="long"/>+ <date-part name="day" form="numeric" prefix=" " suffix=", "/>+ <date-part name="year"/>+ </date>+ </group>+ </else>+ </choose>+ <group prefix=", " delimiter=" ">+ <text macro="pages"/>+ <text macro="locator" prefix="(" suffix=")"/>+ </group>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="6" et-al-use-first="6" subsequent-author-substitute="---">+ <sort>+ <key macro="author"/>+ <key variable="title"/>+ </sort>+ <layout suffix=".">+ <text macro="author" suffix=","/>+ <choose>+ <if type="thesis">+ <group suffix=".">+ <text macro="title" prefix=" "/>+ </group>+ <group delimiter=", " prefix=" ">+ <text variable="genre"/>+ <text variable="publisher"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <text macro="title" prefix=" "/>+ <group prefix=", ">+ <text term="in" text-case="lowercase"/>+ <text variable="container-title" font-style="italic" prefix=" " suffix=","/>+ <text variable="collection-title" prefix=" " suffix=","/>+ <text macro="editor-translator-short"/>+ </group>+ <group prefix=" (" suffix=")" delimiter=", ">+ <text macro="publisher"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ <else-if type="article-journal">+ <group suffix=".">+ <text macro="title" prefix=" "/>+ <text macro="editor-translator" prefix=" "/>+ </group>+ <group prefix=" " suffix="">+ <text variable="container-title" font-style="italic" prefix=" "/>+ <text variable="volume" prefix=" "/>+ <text variable="issue" prefix=", no. "/>+ <date variable="issued" prefix=" (" suffix=")">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ <text variable="page" prefix=": "/>+ </group>+ </else-if>+ <else-if type="article-newspaper article-magazine" match="any">+ <group suffix=".">+ <text macro="title" prefix=" "/>+ <text macro="editor-translator" prefix=" "/>+ </group>+ <group delimiter=", " prefix=" ">+ <text variable="container-title" font-style="italic"/>+ <text variable="issue" suffix="."/>+ <date variable="issued">+ <date-part name="month" form="long"/>+ <date-part name="day" form="numeric" prefix=" " suffix=", "/>+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ <else-if type="paper-conference">+ <group suffix=".">+ <text macro="title" prefix=" "/>+ <text macro="editor-translator" prefix=" "/>+ </group>+ <group suffix="">+ <text value="paper presented at" text-case="capitalize-first"/>+ <text variable="event" prefix=" "/>+ <text variable="event-place" prefix=", "/>+ <date variable="event-date">+ <date-part name="month" form="long"/>+ <date-part name="day" form="numeric" prefix=" " suffix=", "/>+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <group suffix=".">+ <text macro="title" prefix=" " suffix="."/>+ </group>+ <group delimiter=", " prefix=" ">+ <text macro="editor-translator-short"/>+ <text variable="collection-title"/>+ <text variable="edition" suffix=" edn"/>+ <text macro="vols"/>+ </group>+ <group prefix=" (" suffix=")" delimiter=", ">+ <text macro="publisher"/>+ <date variable="issued" prefix=" " suffix="">+ <date-part name="year"/>+ </date>+ </group>+ <text variable="volume" prefix=", "/>+ </else-if>+ <else>+ <group suffix=".">+ <text macro="title" prefix=" "/>+ <text macro="editor-translator" prefix=" "/>+ </group>+ <group prefix=" " suffix="">+ <text variable="container-title" font-style="italic"/>+ <group prefix=", ">+ <text variable="volume" font-style="italic"/>+ <text variable="issue" prefix="(" suffix=")"/>+ </group>+ <text variable="page" prefix=", "/>+ </group>+ </else>+ </choose>+ <text prefix=" " macro="access"/>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2006+ ]+ ]+ },+ "page": "1-7",+ "type": "article-journal"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_parseName.txt view
@@ -0,0 +1,88 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">van Happel, Eduard 2008</div>+ <div class="csl-entry">Hoppel, Gustav von 2008</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ demote-non-dropping-particle="display-and-sort"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Bogus"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <group delimiter=" ">+ <names variable="author">+ <name name-as-sort-order="all"/>+ </names>+ <date variable="issued" form="text" date-parts="year"/>+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "\"van Happel\"",+ "given": "Eduard"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2008,+ 1+ ]+ ]+ },+ "type": "article-journal"+ },+ {+ "author": [+ {+ "family": "von Hoppel",+ "given": "Gustav"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 2008,+ 1+ ]+ ]+ },+ "type": "article-journal"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/bugreports_undefinedCrash.txt view
@@ -0,0 +1,165 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+(1)+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>American Society for Microbiology</title>+ <id>http://www.zotero.org/styles/asm-journals</id>+ <link href="http://www.zotero.org/styles/asm-journals" rel="self"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Rintze Zelle</name>+ <uri>http://forums.zotero.org/account/831/</uri>+ </contributor>+ <contributor>+ <name>Richard Karnesky</name>+ <email>karnesky+zotero@gmail.com</email>+ <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>+ </contributor>+ <category citation-format="numeric"/>+ <category field="biology"/>+ <updated>2008-05-07T12:08:52+00:00</updated>+ <summary>Style for all American Society for Microbiology journals.</summary>+ <link href="http://aem.asm.org/cgi/content/full/74/1/1#References." rel="documentation"/>+ <rights>This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>+ </info>+ <macro name="author">+ <names variable="author" suffix=".">+ <name sort-separator=" " initialize-with=". " and="text" font-weight="bold" name-as-sort-order="first" delimiter=", " delimiter-precedes-last="always"/>+ </names>+ </macro>+ <macro name="issued">+ <group prefix=" " suffix=".">+ <choose>+ <if type="patent">+ <date variable="issued">+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </else>+ </choose>+ </group>+ </macro>+ <macro name="chapter-specifics">+ <choose>+ <if type="chapter paper-conference" match="any">+ <label variable="page" form="short" plural="never" prefix=", " suffix=" "/>+ <text variable="page"/>+ <text term="in" text-case="capitalize-first" prefix=". " suffix=" " font-style="italic"/>+ <names variable="editor" delimiter=", " suffix=", ">+ <name initialize-with="." delimiter=", " delimiter-precedes-last="always" and="text"/>+ <label form="short" prefix=" (" suffix=".)" strip-periods="true"/>+ </names>+ </if>+ </choose>+ </macro>+ <macro name="patent-specifics">+ <text variable="number" prefix=". U.S. Patent "/>+ </macro>+ <macro name="container-title">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <text variable="container-title"/>+ </if>+ <else>+ <text variable="container-title" form="short" prefix=". "/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" " prefix=", ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <group delimiter=", " prefix=". ">+ <text variable="genre"/>+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <group prefix=" " delimiter=":">+ <text variable="volume" font-weight="bold"/>+ <text variable="page"/>+ </group>+ </if>+ </choose>+ </macro>+ <citation collapse="citation-number">+ <sort>+ <key variable="citation-number"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter=", ">+ <text variable="citation-number"/>+ </layout>+ </citation>+ <bibliography entry-spacing="0" second-field-align="flush">+ <sort>+ <key variable="author"/>+ <key variable="title"/>+ </sort>+ <layout suffix=".">+ <text variable="citation-number" suffix=". "/>+ <text macro="author"/>+ <text macro="issued"/>+ <text variable="title" prefix=" "/>+ <text macro="chapter-specifics"/>+ <text macro="patent-specifics"/>+ <text macro="container-title"/>+ <text macro="edition"/>+ <text macro="publisher"/>+ <text macro="locators"/>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "FamilyName"+ }+ ],+ "id": "ITEM-1",+ "title": "Title",+ "type": "article"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/collapse_AuthorCollapse.txt view
@@ -0,0 +1,85 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+(Smith 1900, 2000)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ collapse="year">+ <layout prefix="(" suffix=")" delimiter=", ">+ <group delimiter=" ">+ <names variable="author">+ <name form="short"/>+ </names>+ <date variable="issued">+ <date-part name="year" />+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1900+ ]+ ]+ },+ "title": "Ignore me 1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ },+ "title": "Ignore me 2",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/collapse_AuthorCollapseDifferentAuthorsOneWithEtAl.txt view
@@ -0,0 +1,89 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+(Smith 1900, Smith et al. 2000)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ collapse="year"+ et-al-min="2"+ et-al-use-first="1">+ <layout prefix="(" suffix=")" delimiter=", ">+ <group delimiter=" ">+ <names variable="author">+ <name form="short"/>+ </names>+ <date variable="issued">+ <date-part name="year" />+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1900+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ },+ {+ "family": "Jones",+ "given": "Rodney"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ },+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/collapse_AuthorCollapseNoDate.txt view
@@ -0,0 +1,98 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++You wouldn't want to do this in an actual style, of course -- a "no date"+term should be supplied for the first of the three cites here, to prevent+confusion.++>>===== RESULT =====>>+(Smith, 1900, 2000)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ collapse="year">+ <layout prefix="(" suffix=")" delimiter=", ">+ <group delimiter=" ">+ <names variable="author">+ <name form="short"/>+ </names>+ <date variable="issued">+ <date-part name="year" />+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "id": "ITEM-3",+ "title": "Ignore me 3",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1900+ ]+ ]+ },+ "title": "Ignore me 1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ },+ "title": "Ignore me 2",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/collapse_AuthorCollapseNoDateSorted.txt view
@@ -0,0 +1,114 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+(Smith 325AD, 2000, [CSL STYLE ERROR: reference with no printed form.])+<<===== RESULT =====<<++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ }+ ]+]+<<===== CITATION-ITEMS =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ collapse="year">+ <sort>+ <key variable="issued"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter=", ">+ <group delimiter=" ">+ <names variable="author">+ <name form="short"/>+ </names>+ <date variable="issued">+ <date-part name="year" />+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ 325+ ]+ ]+ }, + "title": "Ignore me 1", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-2", + "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ }, + "title": "Ignore me 2", + "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-3", + "title": "Ignore me 3", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/collapse_ChicagoAfterCollapse.txt view
@@ -0,0 +1,829 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+(Whittaker 1967, 1975; Wiens 1989a, 1989b)+(Wong 1999, 328; 2000, 475; Garcia 1998, 67)+(Whittaker 1967; Wiens 1989b)+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-4"+ }+ ],+ [+ {+ "id": "ITEM-5",+ "locator": 328+ },+ {+ "id": "ITEM-6",+ "locator": 475+ },+ {+ "id": "ITEM-7",+ "locator": 67+ }+ ],+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-4"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="display-and-sort" page-range-format="chicago">+ <info>+ <title>Chicago Manual of Style 17th edition (author-date)</title>+ <id>http://www.zotero.org/styles/chicago-author-date</id>+ <link href="http://www.zotero.org/styles/chicago-author-date" rel="self"/>+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Sebastian Karcher</name>+ </contributor>+ <contributor>+ <name>Richard Karnesky</name>+ <email>karnesky+zotero@gmail.com</email>+ <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>+ </contributor>+ <contributor>+ <name>Andrew Dunning</name>+ <email>andrew.dunning@utoronto.ca</email>+ <uri>https://orcid.org/0000-0003-0464-5036</uri>+ </contributor>+ <category citation-format="author-date"/>+ <category field="generic-base"/>+ <summary>The author-date variant of the Chicago style</summary>+ <updated>2018-01-24T12:00:00+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale xml:lang="en">+ <terms>+ <term name="editor" form="verb-short">ed.</term>+ <term name="container-author" form="verb">by</term>+ <term name="translator" form="verb-short">trans.</term>+ <term name="editortranslator" form="verb">+ <single>edited and translated by</single>+ <multiple>edited and translated by</multiple>+ </term>+ <term name="translator" form="short">trans.</term>+ </terms>+ </locale>+ <macro name="secondary-contributors">+ <choose>+ <if type="chapter paper-conference" match="none">+ <group delimiter=". ">+ <names variable="editor translator" delimiter=". ">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ <names variable="director" delimiter=". ">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference" match="any">+ <group prefix=", " delimiter=", ">+ <names variable="container-author" delimiter=", ">+ <label form="verb" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ <names variable="editor translator" delimiter=", ">+ <label form="verb" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", "/>+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", "/>+ </names>+ </macro>+ <macro name="recipient">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ <else>+ <text term="letter" text-case="capitalize-first"/>+ </else>+ </choose>+ </if>+ </choose>+ <names variable="recipient" delimiter=", ">+ <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="substitute-title">+ <choose>+ <if type="article-magazine article-newspaper review review-book" match="any">+ <text macro="container-title"/>+ </if>+ </choose>+ </macro>+ <macro name="contributors">+ <group delimiter=". ">+ <names variable="author">+ <name and="text" name-as-sort-order="first" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <names variable="director"/>+ <text macro="substitute-title"/>+ <text macro="title"/>+ </substitute>+ </names>+ <text macro="recipient"/>+ </group>+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <names variable="director"/>+ <text macro="substitute-title"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="interviewer">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" prefix=" " text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="archive">+ <group delimiter=". ">+ <text variable="archive_location" text-case="capitalize-first"/>+ <text variable="archive"/>+ <text variable="archive-place"/>+ </group>+ </macro>+ <macro name="access">+ <group delimiter=". ">+ <choose>+ <if type="graphic report" match="any">+ <text macro="archive"/>+ </if>+ <else-if type="article-journal bill book chapter legal_case legislation motion_picture paper-conference" match="none">+ <text macro="archive"/>+ </else-if>+ </choose>+ <choose>+ <if type="webpage post-weblog" match="any">+ <date variable="issued" form="text"/>+ </if>+ </choose>+ <choose>+ <if variable="issued" match="none">+ <group delimiter=" ">+ <text term="accessed" text-case="capitalize-first"/>+ <date variable="accessed" form="text"/>+ </group>+ </if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix="https://doi.org/"/>+ </if>+ <else>+ <text variable="URL"/>+ </else>+ </choose>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="title">+ <choose>+ <if variable="title" match="none">+ <choose>+ <if type="personal_communication" match="none">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ </choose>+ </if>+ <else-if type="bill book graphic legislation motion_picture song" match="any">+ <text variable="title" text-case="title" font-style="italic"/>+ <group prefix=" (" suffix=")" delimiter=" ">+ <text term="version"/>+ <text variable="version"/>+ </group>+ </else-if>+ <else-if variable="reviewed-author">+ <choose>+ <if variable="reviewed-title">+ <group delimiter=". ">+ <text variable="title" text-case="title" quotes="true"/>+ <group delimiter=", ">+ <text variable="reviewed-title" text-case="title" font-style="italic" prefix="Review of "/>+ <names variable="reviewed-author">+ <label form="verb-short" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </group>+ </if>+ <else>+ <group delimiter=", ">+ <text variable="title" text-case="title" font-style="italic" prefix="Review of "/>+ <names variable="reviewed-author">+ <label form="verb-short" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </else>+ </choose>+ </else-if>+ <else-if type="legal_case interview patent" match="any">+ <text variable="title"/>+ </else-if>+ <else>+ <text variable="title" text-case="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" " prefix=". ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" text-case="capitalize-first" prefix=". "/>+ </else>+ </choose>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" " prefix=", ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short"/>+ </group>+ </if>+ <else>+ <text variable="edition" prefix=", "/>+ </else>+ </choose>+ </else-if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <choose>+ <if variable="volume">+ <text variable="volume" prefix=" "/>+ <group prefix=" (" suffix=")">+ <choose>+ <if variable="issue">+ <text variable="issue"/>+ </if>+ <else>+ <date variable="issued">+ <date-part name="month"/>+ </date>+ </else>+ </choose>+ </group>+ </if>+ <else-if variable="issue">+ <group delimiter=" " prefix=", ">+ <text term="issue" form="short"/>+ <text variable="issue"/>+ <date variable="issued" prefix="(" suffix=")">+ <date-part name="month"/>+ </date>+ </group>+ </else-if>+ <else>+ <date variable="issued" prefix=", ">+ <date-part name="month"/>+ </date>+ </else>+ </choose>+ </if>+ <else-if type="legal_case">+ <text variable="volume" prefix=", "/>+ <text variable="container-title" prefix=" "/>+ <text variable="page" prefix=" "/>+ </else-if>+ <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <group prefix=". " delimiter=". ">+ <group>+ <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>+ <number variable="volume" form="numeric"/>+ </group>+ <group>+ <number variable="number-of-volumes" form="numeric"/>+ <text term="volume" form="short" prefix=" " plural="true"/>+ </group>+ </group>+ </else-if>+ <else-if type="chapter paper-conference" match="any">+ <choose>+ <if variable="page" match="none">+ <group prefix=". ">+ <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>+ <number variable="volume" form="numeric"/>+ </group>+ </if>+ </choose>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter paper-conference" match="any">+ <choose>+ <if variable="page">+ <group prefix=", ">+ <text variable="volume" suffix=":"/>+ <text variable="page"/>+ </group>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-article">+ <choose>+ <if type="article-newspaper">+ <group prefix=", " delimiter=", ">+ <group delimiter=" ">+ <text variable="edition"/>+ <text term="edition"/>+ </group>+ <group>+ <text term="section" form="short" suffix=" "/>+ <text variable="section"/>+ </group>+ </group>+ </if>+ <else-if type="article-journal">+ <choose>+ <if variable="volume issue" match="any">+ <text variable="page" prefix=": "/>+ </if>+ <else>+ <text variable="page" prefix=", "/>+ </else>+ </choose>+ </else-if>+ </choose>+ </macro>+ <macro name="point-locators">+ <choose>+ <if variable="locator">+ <choose>+ <if locator="page" match="none">+ <choose>+ <if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <choose>+ <if variable="volume">+ <group>+ <text term="volume" form="short" suffix=" "/>+ <number variable="volume" form="numeric"/>+ <label variable="locator" form="short" prefix=", " suffix=" "/>+ </group>+ </if>+ <else>+ <label variable="locator" form="short" suffix=" "/>+ </else>+ </choose>+ </if>+ <else>+ <label variable="locator" form="short" suffix=" "/>+ </else>+ </choose>+ </if>+ <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <number variable="volume" form="numeric" suffix=":"/>+ </else-if>+ </choose>+ <text variable="locator"/>+ </if>+ </choose>+ </macro>+ <macro name="container-prefix">+ <text term="in" text-case="capitalize-first"/>+ </macro>+ <macro name="container-title">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text macro="container-prefix" suffix=" "/>+ </if>+ </choose>+ <choose>+ <if type="webpage">+ <text variable="container-title" text-case="title"/>+ </if>+ <else-if type="legal_case" match="none">+ <group delimiter=" ">+ <text variable="container-title" text-case="title" font-style="italic"/>+ <choose>+ <if type="post-weblog">+ <text value="(blog)"/>+ </if>+ </choose>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </macro>+ <macro name="date">+ <choose>+ <if variable="issued">+ <group delimiter=" ">+ <date variable="original-date" form="text" date-parts="year" prefix="(" suffix=")"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </if>+ <else-if variable="status">+ <text variable="status" text-case="capitalize-first"/>+ </else-if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="date-in-text">+ <choose>+ <if variable="issued">+ <group delimiter=" ">+ <date variable="original-date" form="text" date-parts="year" prefix="[" suffix="]"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </if>+ <else-if variable="status">+ <text variable="status"/>+ </else-if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="day-month">+ <date variable="issued">+ <date-part name="month"/>+ <date-part name="day" prefix=" "/>+ </date>+ </macro>+ <macro name="collection-title">+ <choose>+ <if match="none" type="article-journal">+ <choose>+ <if match="none" is-numeric="collection-number">+ <group delimiter=", ">+ <text variable="collection-title" text-case="title"/>+ <text variable="collection-number"/>+ </group>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="collection-title" text-case="title"/>+ <text variable="collection-number"/>+ </group>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="collection-title-journal">+ <choose>+ <if type="article-journal">+ <group delimiter=" ">+ <text variable="collection-title"/>+ <text variable="collection-number"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="event">+ <group>+ <text term="presented at" suffix=" "/>+ <text variable="event"/>+ </group>+ </macro>+ <macro name="description">+ <choose>+ <if type="interview">+ <group delimiter=". ">+ <text macro="interviewer"/>+ <text variable="medium" text-case="capitalize-first"/>+ </group>+ </if>+ <else-if type="patent">+ <group delimiter=" " prefix=". ">+ <text variable="authority"/>+ <text variable="number"/>+ </group>+ </else-if>+ <else>+ <text variable="medium" text-case="capitalize-first" prefix=". "/>+ </else>+ </choose>+ <choose>+ <if variable="title" match="none"/>+ <else-if type="thesis personal_communication speech" match="any"/>+ <else>+ <group delimiter=" " prefix=". ">+ <text variable="genre" text-case="capitalize-first"/>+ <choose>+ <if type="report">+ <text variable="number"/>+ </if>+ </choose>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="legal_case">+ <text variable="authority" prefix=". "/>+ </if>+ <else-if type="speech">+ <group prefix=". " delimiter=", ">+ <group delimiter=" ">+ <text variable="genre" text-case="capitalize-first"/>+ <text macro="event"/>+ </group>+ <text variable="event-place"/>+ <text macro="day-month"/>+ </group>+ </else-if>+ <else-if type="article-newspaper article-magazine personal_communication" match="any">+ <date variable="issued" form="text" prefix=", "/>+ </else-if>+ <else-if type="patent">+ <group delimiter=", " prefix=", ">+ <group delimiter=" ">+ <!--Needs Localization-->+ <text value="filed"/>+ <date variable="submitted" form="text"/>+ </group>+ <group delimiter=" ">+ <choose>+ <if variable="issued submitted" match="all">+ <text term="and"/>+ </if>+ </choose>+ <!--Needs Localization-->+ <text value="issued"/>+ <date variable="issued" form="text"/>+ </group>+ </group>+ </else-if>+ <else>+ <group prefix=". " delimiter=", ">+ <choose>+ <if type="thesis">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ </choose>+ <text macro="publisher"/>+ </group>+ </else>+ </choose>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" givenname-disambiguation-rule="primary-name" collapse="year" after-collapse-delimiter="; ">+ <layout prefix="(" suffix=")" delimiter=", ">+ <group delimiter=", ">+ <choose>+ <if variable="issued accessed" match="any">+ <group delimiter=" ">+ <text macro="contributors-short"/>+ <text macro="date-in-text"/>+ </group>+ </if>+ <!---comma before forthcoming and n.d.-->+ <else>+ <group delimiter=", ">+ <text macro="contributors-short"/>+ <text macro="date-in-text"/>+ </group>+ </else>+ </choose>+ <text macro="point-locators"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="11" et-al-use-first="7" subsequent-author-substitute="———" entry-spacing="0">+ <sort>+ <key macro="contributors"/>+ <key variable="issued"/>+ <key variable="title"/>+ </sort>+ <layout suffix=".">+ <group delimiter=". ">+ <text macro="contributors"/>+ <text macro="date"/>+ <text macro="title"/>+ </group>+ <text macro="description"/>+ <text macro="secondary-contributors" prefix=". "/>+ <text macro="container-title" prefix=". "/>+ <text macro="container-contributors"/>+ <text macro="edition"/>+ <text macro="locators-chapter"/>+ <text macro="collection-title-journal" prefix=", " suffix=", "/>+ <text macro="locators"/>+ <text macro="collection-title" prefix=". "/>+ <text macro="issue"/>+ <text macro="locators-article"/>+ <text macro="access" prefix=". "/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Whittaker",+ "given": "Phil"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1967+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Whittaker",+ "given": "Phil"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 1975+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Wiens",+ "given": "Walter"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ 1989+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Wiens",+ "given": "Walter"+ }+ ],+ "id": "ITEM-4",+ "issued": {+ "date-parts": [+ [+ 1989+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Wong",+ "given": "Richard"+ }+ ],+ "id": "ITEM-5",+ "issued": {+ "date-parts": [+ [+ 1999+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Wong",+ "given": "Richard"+ }+ ],+ "id": "ITEM-6",+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Garcia",+ "given": "Randy"+ }+ ],+ "id": "ITEM-7",+ "issued": {+ "date-parts": [+ [+ 1998+ ]+ ]+ },+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/collapse_CitationNumberRangesInsert.txt view
@@ -0,0 +1,142 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++This test confirms that the symptoms described here have been+addressed: http://forums.zotero.org/discussion/3579+++>>===== RESULT =====>>+..[0] [1]+>>[1] [1]–[4]+<<===== RESULT =====<<++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-2",+ "citationItems": [+ {+ "id": "ITEM-4"+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [],+ [+ [+ "CITATION-1",+ 0+ ]+ ]+ ],+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-4"+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [+ [+ "CITATION-2",+ 0+ ]+ ],+ []+ ]+]+<<===== CITATIONS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + collapse="citation-number">+ <sort>+ <key variable="citation-number" />+ </sort>+ <layout delimiter=", ">+ <text prefix="[" suffix="]" variable="citation-number" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "title": "Paper 1", + "type": "book"+ }, + {+ "id": "ITEM-2", + "title": "Paper 2", + "type": "book"+ }, + {+ "id": "ITEM-3", + "title": "Paper 3", + "type": "book"+ },+ {+ "id": "ITEM-4", + "title": "Paper 4", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/collapse_CitationNumberRangesMixed.txt view
@@ -0,0 +1,131 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+([1]–[7])+([1]–[3], [5]–[7])+<<===== RESULT =====<<++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-4"+ },+ {+ "id": "ITEM-5"+ },+ {+ "id": "ITEM-6"+ },+ {+ "id": "ITEM-7"+ }+ ],+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-5"+ },+ {+ "id": "ITEM-6"+ },+ {+ "id": "ITEM-7"+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + collapse="citation-number">+ <sort>+ <key variable="citation-number" />+ </sort>+ <layout delimiter=", " prefix="(" suffix=")">+ <text prefix="[" suffix="]" variable="citation-number" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "title": "Paper 1", + "type": "book"+ }, + {+ "id": "ITEM-2", + "title": "Paper 2", + "type": "book"+ }, + {+ "id": "ITEM-3", + "title": "Paper 3", + "type": "book"+ },+ {+ "id": "ITEM-4", + "title": "Paper 4", + "type": "book"+ },+ {+ "id": "ITEM-5", + "title": "Paper 5", + "type": "book"+ },+ {+ "id": "ITEM-6", + "title": "Paper 6", + "type": "book"+ },+ {+ "id": "ITEM-7", + "title": "Paper 7", + "type": "book"+ }+]+<<===== INPUT =====<<+ū++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/collapse_CitationNumberRangesMixed2.txt view
@@ -0,0 +1,167 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+([1]–[11])+([1], [3]–[5], [7], [9]–[11])+<<===== RESULT =====<<++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-4"+ },+ {+ "id": "ITEM-5"+ },+ {+ "id": "ITEM-6"+ },+ {+ "id": "ITEM-7"+ },+ {+ "id": "ITEM-8"+ },+ {+ "id": "ITEM-9"+ },+ {+ "id": "ITEM-10"+ },+ {+ "id": "ITEM-11"+ }+ ],+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-4"+ },+ {+ "id": "ITEM-5"+ },+ {+ "id": "ITEM-7"+ },+ {+ "id": "ITEM-9"+ },+ {+ "id": "ITEM-10"+ },+ {+ "id": "ITEM-11"+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + collapse="citation-number">+ <sort>+ <key variable="citation-number" />+ </sort>+ <layout delimiter=", " prefix="(" suffix=")">+ <text prefix="[" suffix="]" variable="citation-number" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "title": "Paper 1", + "type": "book"+ }, + {+ "id": "ITEM-2", + "title": "Paper 2", + "type": "book"+ }, + {+ "id": "ITEM-3", + "title": "Paper 3", + "type": "book"+ },+ {+ "id": "ITEM-4", + "title": "Paper 4", + "type": "book"+ },+ {+ "id": "ITEM-5", + "title": "Paper 5", + "type": "book"+ },+ {+ "id": "ITEM-6", + "title": "Paper 6", + "type": "book"+ },+ {+ "id": "ITEM-7", + "title": "Paper 7", + "type": "book"+ },+ {+ "id": "ITEM-8", + "title": "Paper 8", + "type": "book"+ },+ {+ "id": "ITEM-9", + "title": "Paper 9", + "type": "book"+ },+ {+ "id": "ITEM-10", + "title": "Paper 10", + "type": "book"+ },+ {+ "id": "ITEM-11", + "title": "Paper 11", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/collapse_CitationNumberRangesMixed3.txt view
@@ -0,0 +1,132 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+([1]–[8])+([1], [4], [6]–[8])+<<===== RESULT =====<<++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-4"+ },+ {+ "id": "ITEM-5"+ },+ {+ "id": "ITEM-6"+ },+ {+ "id": "ITEM-7"+ },+ {+ "id": "ITEM-8"+ }+ ],+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-4"+ },+ {+ "id": "ITEM-6"+ },+ {+ "id": "ITEM-7"+ },+ {+ "id": "ITEM-8"+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + collapse="citation-number">+ <sort>+ <key variable="citation-number" />+ </sort>+ <layout delimiter=", " prefix="(" suffix=")">+ <text prefix="[" suffix="]" variable="citation-number" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "title": "Paper 1", + "type": "book"+ }, + {+ "id": "ITEM-2", + "title": "Paper 2", + "type": "book"+ }, + {+ "id": "ITEM-3", + "title": "Paper 3", + "type": "book"+ },+ {+ "id": "ITEM-4", + "title": "Paper 4", + "type": "book"+ },+ {+ "id": "ITEM-5", + "title": "Paper 5", + "type": "book"+ },+ {+ "id": "ITEM-6", + "title": "Paper 6", + "type": "book"+ },+ {+ "id": "ITEM-7", + "title": "Paper 7", + "type": "book"+ },+ {+ "id": "ITEM-8", + "title": "Paper 8", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/collapse_CitationNumberRangesOneOnly.txt view
@@ -0,0 +1,60 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">[1].</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + collapse="citation-number">+ <layout>+ <text value="BOGUS"/>+ </layout>+ </citation>+ <bibliography>+ <layout suffix=".">+ <text variable="citation-number" prefix="[" suffix="]"/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Paper 1",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/collapse_CitationNumberRangesWithAffixes.txt view
@@ -0,0 +1,69 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+<b>([1]–[3])</b>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + collapse="citation-number">+ <layout delimiter="," font-weight="bold" prefix="(" suffix=")">+ <text variable="citation-number" prefix="[" suffix="]"/>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Paper 1",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "title": "Paper 2",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "title": "Paper 3",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/collapse_CitationNumberRangesWithAffixesGrouped.txt view
@@ -0,0 +1,85 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+<b>([1]–[3])</b>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="citation-locator">+ <group delimiter=" ">+ <choose>+ <if locator="page">+ <label variable="locator" form="short"/>+ </if>+ <else>+ <label variable="locator" form="short" text-case="capitalize-first"/>+ </else>+ </choose>+ <text variable="locator"/>+ </group>+ </macro>+ <citation + collapse="citation-number">+ <layout delimiter="," font-weight="bold" prefix="(" suffix=")">+ <group prefix="[" suffix="]" delimiter=", ">+ <text variable="citation-number"/>+ <text macro="citation-locator"/>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Paper 1",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "title": "Paper 2",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "title": "Paper 3",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/collapse_CitationNumberRangesWithAffixesGroupedLocator.txt view
@@ -0,0 +1,86 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+<b>([1],[2, p. 23],[3])</b>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2",+ "label": "page",+ "locator": 23+ },+ {+ "id": "ITEM-3"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="citation-locator">+ <group delimiter=" ">+ <choose>+ <if locator="page">+ <label variable="locator" form="short"/>+ </if>+ <else>+ <label variable="locator" form="short" text-case="capitalize-first"/>+ </else>+ </choose>+ <text variable="locator"/>+ </group>+ </macro>+ <citation + collapse="citation-number">+ <layout delimiter="," font-weight="bold" prefix="(" suffix=")">+ <group prefix="[" suffix="]" delimiter=", ">+ <text variable="citation-number"/>+ <text macro="citation-locator"/>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Paper 1",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "title": "Paper 2"+ },+ {+ "id": "ITEM-3",+ "title": "Paper 3",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/collapse_CitationNumberRangesWithAffixesNoCollapse.txt view
@@ -0,0 +1,59 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+<b>([1],[2],[3])</b>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <sort>+ <key variable="citation-number" />+ </sort>+ <layout delimiter="," font-weight="bold" prefix="(" suffix=")">+ <text prefix="[" suffix="]" variable="citation-number" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "Paper 1",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "title": "Paper 2",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "title": "Paper 3",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/collapse_NumericDuplicate.txt view
@@ -0,0 +1,82 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+(1,2,2–4)+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-4"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="in-text"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation collapse="citation-number">+ <sort>+ <key variable="citation-number"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter=",">+ <text variable="citation-number"/>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Book One",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "title": "Book Two",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "title": "Book Three",+ "type": "book"+ },+ {+ "id": "ITEM-4",+ "title": "Book Four",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/collapse_NumericDuplicate2.txt view
@@ -0,0 +1,87 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+(1–3,3–5)+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-4"+ },+ {+ "id": "ITEM-5"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="in-text"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation collapse="citation-number">+ <layout prefix="(" suffix=")" delimiter=",">+ <text variable="citation-number"/>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Book One",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "title": "Book Two",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "title": "Book Three",+ "type": "book"+ },+ {+ "id": "ITEM-4",+ "title": "Book Four",+ "type": "book"+ },+ {+ "id": "ITEM-5",+ "title": "Book Five",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/collapse_TrailingDelimiter.txt view
@@ -0,0 +1,217 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+(Condit et al. 2000, 1995, 1998; Connell 1971, Cortes & Hunziker 1971)+<<===== RESULT =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-4"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-5"+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="creator-key">+ <names variable="author">+ <name name-as-sort-order="all" sort-separator=", " />+ </names>+ </macro>+ <citation + after-collapse-delimiter="; "+ collapse="year-suffix"+ disambiguate-add-year-suffix="true"+ et-al-min="3"+ et-al-use-first="1"+ year-suffix-delimiter=", ">+ <sort>+ <key macro="creator-key" />+ </sort>+ <layout delimiter=", " prefix="(" suffix=")">+ <group delimiter=" ">+ <names variable="author">+ <name and="symbol" delimiter=", " form="short" />+ <et-al prefix=" " />+ </names>+ <date variable="issued">+ <date-part name="year" />+ </date>+ </group>+ <text variable="year-suffix" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Condit", + "given": "John"+ }, + {+ "family": "Doe", + "given": "John"+ }, + {+ "family": "Roe", + "given": "Jane"+ }, + {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ }, + "title": "Book A", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Condit", + "given": "John"+ }, + {+ "family": "Doe", + "given": "John"+ }, + {+ "family": "Roe", + "given": "Jane"+ }, + {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-2", + "issued": {+ "date-parts": [+ [+ "1995"+ ]+ ]+ }, + "title": "Book B", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Condit", + "given": "John"+ }, + {+ "family": "Doe", + "given": "John"+ }, + {+ "family": "Roe", + "given": "Jane"+ }, + {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-3", + "issued": {+ "date-parts": [+ [+ "1998"+ ]+ ]+ }, + "title": "Book C", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Connell", + "given": "John"+ }+ ], + "id": "ITEM-4", + "issued": {+ "date-parts": [+ [+ "1971"+ ]+ ]+ }, + "title": "Book D", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Cortes", + "given": "John"+ }, + {+ "family": "Hunziker", + "given": "John"+ }+ ], + "id": "ITEM-5", + "issued": {+ "date-parts": [+ [+ "1971"+ ]+ ]+ }, + "title": "Book E", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/collapse_YearSuffixCollapse.txt view
@@ -0,0 +1,207 @@+# CSL test file: testYearSuffix001.txt+# Rintze Zelle circa 2009.04.10++>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+Smith 2000a–e, 2001+Smith 2000a,c–e, 2001+<<===== RESULT =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-4"+ },+ {+ "id": "ITEM-5"+ },+ {+ "id": "ITEM-6"+ }+ ],+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-4"+ },+ {+ "id": "ITEM-5"+ },+ {+ "id": "ITEM-6"+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + collapse="year-suffix-ranged"+ disambiguate-add-year-suffix="true"+ year-suffix-delimiter=",">+ <layout delimiter=", ">+ <group delimiter=" ">+ <names variable="author">+ <name form="short" />+ </names>+ <date variable="issued">+ <date-part name="year" />+ </date>+ </group>+ <text variable="year-suffix" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ }, + "title": "Paper 1", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-2", + "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ }, + "title": "Paper 2", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-3", + "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ }, + "title": "Paper 3", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-4", + "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ }, + "title": "Paper 4", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-5", + "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ }, + "title": "Paper 5", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-6", + "issued": {+ "date-parts": [+ [+ "2001"+ ]+ ]+ }, + "title": "Paper 6", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/collapse_YearSuffixCollapseNoRange.txt view
@@ -0,0 +1,204 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+Smith 2000a,b,c,d,e, 2001+Smith 2000a,c,d,e, 2001+<<===== RESULT =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-4"+ },+ {+ "id": "ITEM-5"+ },+ {+ "id": "ITEM-6"+ }+ ],+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-4"+ },+ {+ "id": "ITEM-5"+ },+ {+ "id": "ITEM-6"+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + collapse="year-suffix"+ disambiguate-add-year-suffix="true"+ year-suffix-delimiter=",">+ <layout delimiter=", ">+ <group delimiter=" ">+ <names variable="author">+ <name form="short" />+ </names>+ <date variable="issued">+ <date-part name="year" />+ </date>+ </group>+ <text variable="year-suffix" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ }, + "title": "Paper 1", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-2", + "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ }, + "title": "Paper 2", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-3", + "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ }, + "title": "Paper 3", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-4", + "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ }, + "title": "Paper 4", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-5", + "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ }, + "title": "Paper 5", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-6", + "issued": {+ "date-parts": [+ [+ "2001"+ ]+ ]+ }, + "title": "Paper 6", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/collapse_YearSuffixCollapseNoYearSuffixDelimiter.txt view
@@ -0,0 +1,205 @@+# Based on Rintze Zelle circa 2009.04.10++>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+Smith 2000a–e;2001+Smith 2000a;c–e;2001+<<===== RESULT =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-4"+ },+ {+ "id": "ITEM-5"+ },+ {+ "id": "ITEM-6"+ }+ ],+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-4"+ },+ {+ "id": "ITEM-5"+ },+ {+ "id": "ITEM-6"+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + collapse="year-suffix-ranged"+ disambiguate-add-year-suffix="true">+ <layout delimiter=";">+ <group delimiter=" ">+ <names variable="author">+ <name form="short" />+ </names>+ <date variable="issued">+ <date-part name="year" />+ </date>+ </group>+ <text variable="year-suffix" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ }, + "title": "Paper 1", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-2", + "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ }, + "title": "Paper 2", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-3", + "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ }, + "title": "Paper 3", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-4", + "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ }, + "title": "Paper 4", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-5", + "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ }, + "title": "Paper 5", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-6", + "issued": {+ "date-parts": [+ [+ "2001"+ ]+ ]+ }, + "title": "Paper 6", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/collapse_YearSuffixImplicitCollapseNoYearSuffixDelimiter.txt view
@@ -0,0 +1,204 @@+# Based on Rintze Zelle circa 2009.04.10++>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+Smith 2000a–e;2001+Smith 2000a;c–e;2001+<<===== RESULT =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-4"+ },+ {+ "id": "ITEM-5"+ },+ {+ "id": "ITEM-6"+ }+ ],+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-4"+ },+ {+ "id": "ITEM-5"+ },+ {+ "id": "ITEM-6"+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + collapse="year-suffix-ranged"+ disambiguate-add-year-suffix="true">+ <layout delimiter=";">+ <group delimiter=" ">+ <names variable="author">+ <name form="short" />+ </names>+ <date variable="issued">+ <date-part name="year" />+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ }, + "title": "Paper 1", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-2", + "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ }, + "title": "Paper 2", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-3", + "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ }, + "title": "Paper 3", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-4", + "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ }, + "title": "Paper 4", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-5", + "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ }, + "title": "Paper 5", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-6", + "issued": {+ "date-parts": [+ [+ "2001"+ ]+ ]+ }, + "title": "Paper 6", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/condition_EmptyDate.txt view
@@ -0,0 +1,92 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+No date here+Have date, will travel+<<===== RESULT =====<<++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <choose>+ <if variable="issued">+ <text value="Have date, will travel" />+ </if>+ <else>+ <text value="No date here" />+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe", + "given": "John"+ }+ ], + "id": "ITEM-1", + "title": "Work 1", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Doe", + "given": "John"+ }+ ], + "id": "ITEM-2", + "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ }, + "title": "Work 2", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/condition_EmptyIsNumericFalse.txt view
@@ -0,0 +1,52 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+empty edition is not numeric+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <choose>+ <if is-numeric="edition">+ <text value="empty edition is numeric"/>+ </if>+ <else>+ <text value="empty edition is not numeric"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/condition_EmptyIsUncertainDateFalse.txt view
@@ -0,0 +1,52 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+empty issued is not uncertain+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <choose>+ <if is-uncertain-date="issued">+ <text value="empty issued is uncertain"/>+ </if>+ <else>+ <text value="empty issued is not uncertain"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/condition_EmptyShortTitleFalse.txt view
@@ -0,0 +1,52 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Does not see title-short (correct)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <choose>+ <if variable="title-short">+ <text value="Sees title-short (wrong)"/>+ </if>+ <else>+ <text value="Does not see title-short (correct)"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "His Anonymous Life",+ "type": "legal_case"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/condition_FirstNullAny.txt view
@@ -0,0 +1,56 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Try: Okay Publishers+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Try: "/>+ <choose>+ <if match="any" variable="publisher-place publisher">+ <text variable="publisher"/>+ </if>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "publisher": "Okay Publishers",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/condition_LocatorIsFalse.txt view
@@ -0,0 +1,80 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Book One: (1) Locator true (2) Locator true; Book Two: (1) Locator false (2) Locator false+<<===== RESULT =====<<++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1",+ "locator": "1"+ },+ {+ "id": "ITEM-2"+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; ">+ <text variable="title" suffix=": "/>+ <choose>+ <if variable="locator">+ <text value="(1) Locator true"/>+ </if>+ <else>+ <text value="(1) Locator false"/>+ </else>+ </choose>+ <choose>+ <if variable="locator" match="none">+ <text value=" (2) Locator false"/>+ </if>+ <else>+ <text value=" (2) Locator true"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "title": "Book One", + "type": "book"+ }, + {+ "id": "ITEM-2", + "title": "Book Two", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/condition_MatchAll.txt view
@@ -0,0 +1,64 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Some Title or Other+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title"/>+ <choose>+ <if variable="URL accessed" match="all">+ <date variable="accessed" prefix="viewed">+ <date-part name="day" form="numeric" suffix=" "/>+ <date-part name="month" form="long" suffix=" "/>+ <date-part name="year" form="long"/>+ </date> + <text variable="URL" prefix=", <" suffix=">"/>+ </if>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "accessed": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "id": "ITEM-1",+ "title": "Some Title or Other",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/condition_NameAndTextVars.txt view
@@ -0,0 +1,91 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+should be this!+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": 87+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only">+ <info>+ <title>Chicago Manual of Style (author-date) [test match]</title>+ <id>http://www.zotero.org/styles/chicago-author-date-test-match</id>+ <link href="http://www.zotero.org/styles/chicago-author-date" rel="self"/>+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Sebastian Karcher</name>+ </contributor>+ <contributor>+ <name>Richard Karnesky</name>+ <email>karnesky+zotero@gmail.com</email>+ <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>+ </contributor>+ <category citation-format="author-date"/>+ <category field="generic-base"/>+ <summary>The author-date variant of the Chicago style</summary>+ <updated>2013-03-28T05:37:10+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <citation>+<layout>+<choose>+<if variable="author note" match="all">+<text value="should not be this"/>+</if>+<else>+<text value="should be this!"/>+</else>+</choose>+</layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "URL": "http://legal-dictionary.thefreedictionary.com/",+ "accessed": {+ "date-parts": [+ [+ "2012",+ 4,+ 15+ ]+ ]+ },+ "author": [+ {+ "family": "Harvey",+ "given": "Slurp"+ }+ ],+ "id": 87,+ "key": "178050_B4IMW86H",+ "title": "Legal Dictionary",+ "type": "webpage"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/condition_NumberIsNumeric.txt view
@@ -0,0 +1,52 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+TRUE+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <choose>+ <if is-numeric="edition">+ <text value="TRUE"/>+ </if>+ <else>+ <text value="FALSE"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "edition": 5,+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/condition_NumeralIsNumeric.txt view
@@ -0,0 +1,52 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+TRUE+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <choose>+ <if is-numeric="edition">+ <text value="TRUE"/>+ </if>+ <else>+ <text value="FALSE"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "edition": "5",+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/condition_NumeralWithTextIsNumeric.txt view
@@ -0,0 +1,52 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+TRUE+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <choose>+ <if is-numeric="edition">+ <text value="TRUE"/>+ </if>+ <else>+ <text value="FALSE"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "edition": "5th",+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/condition_RefTypeBranching.txt view
@@ -0,0 +1,216 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry"><i>Work 1</i> (John Doe), 2000.</div>+ <div class="csl-entry">John Doe, 2000. Work 2.</div>+ <div class="csl-entry">2000. Work 3, John Doe.</div>+ <div class="csl-entry">Work 4 (2000), John Doe.</div>+ <div class="csl-entry">Work 5, John Doe, 2000.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name />+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" />+ </names>+ </macro>+ <macro name="title">+ <choose>+ <if type="book">+ <text font-style="italic" variable="title" />+ </if>+ <else>+ <text variable="title" />+ </else>+ </choose>+ </macro>+ <citation>+ <layout delimiter="; " prefix="(" suffix=")">+ <group delimiter=", ">+ <group delimiter=" ">+ <text macro="author-short" />+ <date variable="issued" form="text" date-parts="year"/>+ </group>+ <group>+ <label form="short" suffix="." variable="locator" />+ <text variable="locator" />+ </group>+ </group>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <choose>+ <if type="book">+ <group delimiter=" " suffix=".">+ <text macro="title" />+ <text macro="author" prefix="(" suffix=")," />+ <date variable="issued">+ <date-part name="year" />+ </date>+ </group>+ </if>+ <else-if type="article">+ <group delimiter=" " suffix=".">+ <text macro="author" suffix="," />+ <date suffix="." variable="issued">+ <date-part name="year" />+ </date>+ <text macro="title" />+ </group>+ </else-if>+ <else-if type="report">+ <group delimiter=" " suffix=".">+ <date suffix="." variable="issued">+ <date-part name="year" />+ </date>+ <text macro="title" suffix="," />+ <text macro="author" />+ </group>+ </else-if>+ <else-if type="paper-conference">+ <group delimiter=" " suffix=".">+ <text macro="title" />+ <date prefix="(" suffix=")," variable="issued">+ <date-part name="year" />+ </date>+ <text macro="author" />+ </group>+ </else-if>+ <else>+ <group delimiter=", " suffix=".">+ <text macro="title" />+ <text macro="author" />+ <date variable="issued">+ <date-part name="year" />+ </date>+ </group>+ </else>+ </choose>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Work 1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Work 2",+ "type": "article"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Work 3",+ "type": "report"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-4",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Work 4",+ "type": "paper-conference"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-5",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Work 5",+ "type": "chapter"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/condition_SingletonIfMatchNone.txt view
@@ -0,0 +1,70 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+ed. by Γ. Π. Σαββίδης+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <choose>+ <if variable="container-author" match="none"/>+ <else-if variable="author" match="any">+ <names variable="editor" delimiter=", ">+ <label form="verb-short" suffix=" " text-case="lowercase"/>+ <name and="text" delimiter=", "/>+ </names>+ </else-if>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Άγρας",+ "given": "Τέλλος"+ }+ ],+ "container-author": [+ {+ "family": "Καρυωτάκης",+ "given": "Κώστας"+ }+ ],+ "editor": [+ {+ "family": "Σαββίδης",+ "given": "Γ. Π."+ }+ ],+ "id": "ITEM-1",+ "type": "chapter"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/condition_TextIsNotNumeric.txt view
@@ -0,0 +1,52 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+FALSE+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <choose>+ <if is-numeric="edition">+ <text value="TRUE"/>+ </if>+ <else>+ <text value="FALSE"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "edition": "Fifth ed.",+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/condition_VariableAll.txt view
@@ -0,0 +1,59 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+TRUE+FALSE+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="
">+ <choose>+ <if variable="title edition" match="all">+ <text value="TRUE"/>+ </if>+ <else>+ <text value="FALSE"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "edition": "5",+ "id": "ITEM-1",+ "title": "My Book",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "title": "His Book",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/condition_VariableAny.txt view
@@ -0,0 +1,58 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+TRUE+FALSE+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="
">+ <choose>+ <if variable="title edition" match="any">+ <text value="TRUE"/>+ </if>+ <else>+ <text value="FALSE"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "His Book",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "type": "book",+ "volume": "101"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/condition_VariableNone.txt view
@@ -0,0 +1,57 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+TRUE+FALSE+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="
">+ <choose>+ <if variable="title edition" match="none">+ <text value="TRUE"/>+ </if>+ <else>+ <text value="FALSE"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "title": "His Book",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_Accessed.txt view
@@ -0,0 +1,53 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+January 22, 1976+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date variable="accessed" date-parts="year-month-day" form="text"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "accessed": {+ "date-parts": [+ [+ 1976,+ 1,+ 22+ ]+ ]+ },+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_AccessedCrash.txt view
@@ -0,0 +1,678 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry"> (1994).</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="never" default-locale="en-US">+ <info>+ <title>Colorado State University - School of Biomedical Engineering</title>+ <id>http://www.zotero.org/styles/colorado-state-university-school-of-biomedical-engineering</id>+ <link href="http://www.zotero.org/styles/colorado-state-university-school-of-biomedical-engineering" rel="self"/>+ <link href="http://www.zotero.org/styles/apa" rel="template"/>+ <link href="https://forums.zotero.org/discussion/68950/modified-chicago-citation-style" rel="documentation"/>+ <author>+ <name>Patrick O'Brien</name>+ <email>obrienpat86@gmail.com</email>+ </author>+ <category citation-format="author-date"/>+ <category field="biology"/>+ <category field="engineering"/>+ <category field="medicine"/>+ <updated>2017-12-07T04:15:37+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale xml:lang="en">+ <terms>+ <term name="editortranslator" form="short">+ <single>ed. & trans.</single>+ <multiple>eds. & trans.</multiple>+ </term>+ <term name="translator" form="short">+ <single>trans.</single>+ <multiple>trans.</multiple>+ </term>+ <term name="et-al"/>+ </terms>+ </locale>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference entry-dictionary entry-encyclopedia" match="any">+ <group delimiter=", ">+ <names variable="container-author" delimiter=", ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=" (" text-case="title" suffix=")"/>+ </names>+ <names variable="editor translator" delimiter=", ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=" (" text-case="title" suffix=")"/>+ </names>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if type="article-journal chapter paper-conference entry-dictionary entry-encyclopedia" match="none">+ <group delimiter=", " prefix=" (" suffix=")">+ <names variable="container-author" delimiter=", ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="title"/>+ </names>+ <names variable="editor translator" delimiter=", ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="title"/>+ </names>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=" (" suffix=")" text-case="capitalize-first"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <choose>+ <if type="report">+ <text variable="publisher"/>+ <text macro="title"/>+ </if>+ <else>+ <text macro="title"/>+ </else>+ </choose>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="symbol" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <choose>+ <if type="report">+ <text variable="publisher"/>+ <text variable="title" form="short" font-style="italic"/>+ </if>+ <else-if type="legal_case">+ <text variable="title" font-style="italic"/>+ </else-if>+ <else-if type="book graphic motion_picture song" match="any">+ <text variable="title" form="short" font-style="italic"/>+ </else-if>+ <else-if type="bill legislation" match="any">+ <text variable="title" form="short"/>+ </else-if>+ <else-if variable="reviewed-author">+ <choose>+ <if variable="reviewed-title" match="none">+ <text variable="title" form="short" font-style="italic" prefix="Review of "/>+ </if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </else-if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <choose>+ <if type="thesis report" match="any">+ <choose>+ <if variable="DOI" match="any">+ <text variable="DOI" prefix="https://doi.org/"/>+ </if>+ <else-if variable="URL" match="any">+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </else-if>+ <else-if variable="archive" match="any">+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="archive" suffix="."/>+ <text variable="archive_location" prefix=" (" suffix=")"/>+ </group>+ </else-if>+ </choose>+ </if>+ <else>+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix="https://doi.org/"/>+ </if>+ <else>+ <choose>+ <if type="post post-weblog webpage" match="any">+ <group delimiter=" ">+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <group>+ <date variable="accessed" form="text" suffix=", "/>+ </group>+ <text term="from"/>+ <text variable="URL"/>+ </group>+ </if>+ <else>+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </else>+ </choose>+ </else>+ </choose>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if type="book graphic manuscript motion_picture report song speech thesis" match="any">+ <choose>+ <if variable="version" type="book" match="all">+ <text variable="title"/>+ </if>+ <else>+ <text variable="title" font-style="normal"/>+ </else>+ </choose>+ </if>+ <else-if variable="reviewed-author">+ <choose>+ <if variable="reviewed-title">+ <group delimiter=" ">+ <text variable="title"/>+ <group delimiter=", " prefix="[" suffix="]">+ <text variable="reviewed-title" font-style="italic" prefix="Review of "/>+ <names variable="reviewed-author" delimiter=", ">+ <label form="verb-short" suffix=" "/>+ <name and="symbol" initialize-with=". " delimiter=", "/>+ </names>+ </group>+ </group>+ </if>+ <else>+ <group delimiter=", " prefix="[" suffix="]">+ <text variable="title" font-style="italic" prefix="Review of "/>+ <names variable="reviewed-author" delimiter=", ">+ <label form="verb-short" suffix=" "/>+ <name and="symbol" initialize-with=". " delimiter=", "/>+ </names>+ </group>+ </else>+ </choose>+ </else-if>+ <else>+ <text variable="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="title-plus-extra">+ <text macro="title"/>+ <choose>+ <if type="report thesis" match="any">+ <group prefix=" (" suffix=")" delimiter=", ">+ <group delimiter=" ">+ <choose>+ <if variable="genre" match="any">+ <text variable="genre"/>+ </if>+ <else>+ <text variable="collection-title"/>+ </else>+ </choose>+ <text variable="number" prefix="No. "/>+ </group>+ <group delimiter=" ">+ <text term="version" text-case="capitalize-first"/>+ <text variable="version"/>+ </group>+ <text macro="edition"/>+ </group>+ </if>+ <else-if type="post-weblog webpage" match="any">+ <text variable="genre" prefix=" [" suffix="]"/>+ </else-if>+ <else-if variable="version">+ <group delimiter=" " prefix=" (" suffix=")">+ <text term="version" text-case="capitalize-first"/>+ <text variable="version"/>+ </group>+ </else-if>+ </choose>+ <text macro="format" prefix=" [" suffix="]"/>+ </macro>+ <macro name="format">+ <choose>+ <if match="any" variable="medium">+ <text variable="medium" text-case="capitalize-first"/>+ </if>+ <else-if type="dataset" match="any">+ <text value="Data set"/>+ </else-if>+ </choose>+ </macro>+ <macro name="publisher">+ <choose>+ <if type="report" match="any">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </if>+ <else-if type="thesis" match="any">+ <group delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </else-if>+ <else-if type="post-weblog webpage" match="none">+ <group delimiter=", ">+ <choose>+ <if variable="event version" type="speech motion_picture" match="none">+ <text variable="genre"/>+ </if>+ </choose>+ <choose>+ <if type="article-journal article-magazine article-newspaper" match="none">+ <group delimiter=": ">+ <choose>+ <if variable="publisher-place">+ <text variable="publisher-place"/>+ </if>+ <else>+ <text variable="event-place"/>+ </else>+ </choose>+ <text variable="publisher"/>+ </group>+ </if>+ </choose>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="event">+ <choose>+ <if variable="container-title" match="none">+ <choose>+ <if variable="event">+ <choose>+ <if variable="genre" match="none">+ <text term="presented at" text-case="capitalize-first" suffix=" "/>+ <text variable="event"/>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="genre" text-case="capitalize-first"/>+ <text term="presented at"/>+ <text variable="event"/>+ </group>+ </else>+ </choose>+ </if>+ <else-if type="speech">+ <text variable="genre" text-case="capitalize-first"/>+ </else-if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issued">+ <choose>+ <if type="bill legal_case legislation" match="none">+ <choose>+ <if variable="issued">+ <group prefix=" (" suffix=")">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="year-suffix"/>+ <choose>+ <if type="speech" match="any">+ <date variable="issued">+ <date-part prefix=", " name="month"/>+ </date>+ </if>+ <else-if type="article-journal bill book chapter graphic legal_case legislation motion_picture paper-conference report song dataset" match="none">+ <date variable="issued">+ <date-part prefix=", " name="month"/>+ <date-part prefix=" " name="day"/>+ </date>+ </else-if>+ </choose>+ </group>+ </if>+ <else-if variable="status">+ <group prefix=" (" suffix=")">+ <text variable="status"/>+ <text variable="year-suffix" prefix="-"/>+ </group>+ </else-if>+ <else>+ <group prefix=" (" suffix=")">+ <text term="no date" form="short"/>+ <text variable="year-suffix" prefix="-"/>+ </group>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issued-sort">+ <choose>+ <if type="article-journal bill book chapter graphic legal_case legislation motion_picture paper-conference report song dataset" match="none">+ <date variable="issued">+ <date-part name="year"/>+ <date-part name="month"/>+ <date-part name="day"/>+ </date>+ </if>+ <else>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </else>+ </choose>+ </macro>+ <macro name="issued-year">+ <choose>+ <if variable="issued">+ <group delimiter="/">+ <date variable="original-date" form="text"/>+ <group>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="year-suffix"/>+ </group>+ </group>+ </if>+ <else-if variable="status">+ <text variable="status"/>+ <text variable="year-suffix" prefix="-"/>+ </else-if>+ <else>+ <text term="no date" form="short"/>+ <text variable="year-suffix" prefix="-"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short"/>+ </group>+ </if>+ <else>+ <text variable="edition"/>+ </else>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal article-magazine" match="any">+ <group prefix=", " delimiter=", ">+ <group>+ <text variable="volume" font-style="normal"/>+ <text variable="issue" prefix="(" suffix=")"/>+ </group>+ <text variable="page"/>+ </group>+ <choose>+ <if variable="issued">+ <choose>+ <if variable="page issue" match="none">+ <text variable="status" prefix=". "/>+ </if>+ </choose>+ </if>+ </choose>+ </if>+ <else-if type="article-newspaper">+ <group delimiter=" " prefix=", ">+ <label variable="page" form="short"/>+ <text variable="page"/>+ </group>+ </else-if>+ <else-if type="book graphic motion_picture report song chapter paper-conference entry-encyclopedia entry-dictionary" match="any">+ <group prefix=" (" suffix=")" delimiter=", ">+ <choose>+ <if type="report" match="none">+ <text macro="edition"/>+ </if>+ </choose>+ <choose>+ <if variable="volume" match="any">+ <group>+ <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>+ <number variable="volume" form="numeric"/>+ </group>+ </if>+ <else>+ <group>+ <text term="volume" form="short" plural="true" text-case="capitalize-first" suffix=" "/>+ <number variable="number-of-volumes" form="numeric" prefix="1–"/>+ </group>+ </else>+ </choose>+ <group>+ <label variable="page" form="short" suffix=" "/>+ <text variable="page"/>+ </group>+ </group>+ </else-if>+ <else-if type="legal_case">+ <group prefix=" (" suffix=")" delimiter=" ">+ <text variable="authority"/>+ <choose>+ <if variable="container-title" match="any">+ <date variable="issued" form="numeric" date-parts="year"/>+ </if>+ <else>+ <date variable="issued" form="text"/>+ </else>+ </choose>+ </group>+ </else-if>+ <else-if type="bill legislation" match="any">+ <date variable="issued" prefix=" (" suffix=")">+ <date-part name="year"/>+ </date>+ </else-if>+ </choose>+ </macro>+ <macro name="citation-locator">+ <group>+ <choose>+ <if locator="chapter">+ <label variable="locator" form="long" text-case="capitalize-first"/>+ </if>+ <else>+ <label variable="locator" form="short"/>+ </else>+ </choose>+ <text variable="locator" prefix=" "/>+ </group>+ </macro>+ <macro name="container">+ <choose>+ <if type="post-weblog webpage" match="none">+ <group>+ <choose>+ <if type="chapter paper-conference entry-encyclopedia" match="any">+ <text term="in" text-case="capitalize-first" suffix=" "/>+ </if>+ </choose>+ <group delimiter=", ">+ <text macro="container-contributors"/>+ <text macro="secondary-contributors"/>+ <text macro="container-title"/>+ </group>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-title">+ <choose>+ <if type="article article-journal article-magazine article-newspaper" match="any">+ <text variable="container-title" text-case="title" font-style="normal"/>+ </if>+ <else-if type="bill legal_case legislation" match="none">+ <text variable="container-title" font-style="normal"/>+ </else-if>+ </choose>+ </macro>+ <macro name="legal-cites">+ <choose>+ <if type="legal_case" match="any">+ <group prefix=", " delimiter=" ">+ <choose>+ <if variable="container-title">+ <text variable="volume"/>+ <text variable="container-title"/>+ <group delimiter=" ">+ <text term="section" form="symbol"/>+ <text variable="section"/>+ </group>+ <text variable="page"/>+ </if>+ <else>+ <text variable="number" prefix="No. "/>+ </else>+ </choose>+ </group>+ </if>+ <else-if type="bill legislation" match="any">+ <group delimiter=", " prefix=", ">+ <choose>+ <if variable="number">+ <text variable="number" prefix="Pub. L. No. "/>+ <group delimiter=" ">+ <text term="section" form="symbol"/>+ <text variable="section"/>+ </group>+ <group delimiter=" ">+ <text variable="volume"/>+ <text variable="container-title"/>+ <text variable="page-first"/>+ </group>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="volume"/>+ <text variable="container-title"/>+ <text term="section" form="symbol"/>+ <text variable="section"/>+ </group>+ </else>+ </choose>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="original-date">+ <choose>+ <if variable="original-date">+ <group prefix="(" suffix=")" delimiter=" ">+ <text value="Original work published"/>+ <date variable="original-date" form="text"/>+ </group>+ </if>+ </choose>+ </macro>+ <citation et-al-min="2" et-al-use-first="1" disambiguate-add-names="true" disambiguate-add-givenname="true" disambiguate-add-year-suffix="true" givenname-disambiguation-rule="primary-name" collapse="year">+ <sort>+ <key macro="author"/>+ <key macro="issued-sort"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <group font-style="italic" delimiter=", ">+ <text macro="author-short"/>+ <text macro="issued-year"/>+ <text macro="citation-locator"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="8" et-al-use-first="6" et-al-use-last="true" entry-spacing="0" line-spacing="2">+ <sort>+ <key macro="author"/>+ <key macro="issued-sort" sort="ascending"/>+ <key macro="title"/>+ </sort>+ <layout>+ <group suffix=".">+ <group delimiter=". ">+ <text macro="author"/>+ <text macro="issued"/>+ <text macro="title-plus-extra"/>+ <text macro="container"/>+ </group>+ <text macro="legal-cites"/>+ <text macro="locators"/>+ <group delimiter=", " prefix=". ">+ <text macro="event"/>+ <text macro="publisher"/>+ </group>+ </group>+ <text macro="access" prefix=" "/>+ <text macro="original-date" prefix=" "/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1994,+ 6,+ 1+ ]+ ]+ },+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_DateAD.txt view
@@ -0,0 +1,57 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+(499AD)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date prefix="(" suffix=")" variable="issued">+ <date-part form="long" name="month" />+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 499+ ]+ ]+ },+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_DateBC.txt view
@@ -0,0 +1,57 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+(250BC)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date prefix="(" suffix=")" variable="issued">+ <date-part form="long" name="month" />+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ -250+ ]+ ]+ },+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_DateNoDateNoTest.txt view
@@ -0,0 +1,50 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+[CSL STYLE ERROR: reference with no printed form.]+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date prefix="(" suffix=")" variable="issued">+ <date-part form="long" name="month" />+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_DateNoDateWithTest.txt view
@@ -0,0 +1,58 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+Title Thing (n.d.)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title"/>+ <choose>+ <if variable="issued">+ <date prefix=" (" suffix=")" variable="issued">+ <date-part form="long" name="month" />+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </if>+ <else>+ <text term="no date" form="short" prefix=" (" suffix=")"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "Title Thing",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_DayOrdinalDayOneOnly.txt view
@@ -0,0 +1,79 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Day One (1st June 1965); Day Two (2 June 1965)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <style-options limit-day-ordinals-to-day-1="true"/>+ <date form="text">+ <date-part name="day" suffix=" " form="ordinal"/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ </locale>+ <citation>+ <layout delimiter="; ">+ <group delimiter=" ">+ <text variable="title"/>+ <date variable="issued" prefix="(" suffix=")" form="text" date-parts="year-month-day"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "title": "Day One",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1965",+ "6",+ "2"+ ]+ ]+ },+ "title": "Day Two",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_DisappearingBug.txt view
@@ -0,0 +1,704 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+(Larry, 2017)+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="never">+ <info>+ <title>American Psychological Association 6th edition</title>+ <title-short>APA</title-short>+ <id>http://www.zotero.org/styles/apa</id>+ <link href="http://www.zotero.org/styles/apa" rel="self"/>+ <link href="http://owl.english.purdue.edu/owl/resource/560/01/" rel="documentation"/>+ <author>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </author>+ <contributor>+ <name>Bruce D'Arcus</name>+ </contributor>+ <contributor>+ <name>Curtis M. Humphrey</name>+ </contributor>+ <contributor>+ <name>Richard Karnesky</name>+ <email>karnesky+zotero@gmail.com</email>+ <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>+ </contributor>+ <contributor>+ <name>Sebastian Karcher</name>+ </contributor>+ <contributor>+ <name> Brenton M. Wiernik</name>+ <email>zotero@wiernik.org</email>+ </contributor>+ <category citation-format="author-date"/>+ <category field="psychology"/>+ <category field="generic-base"/>+ <updated>2016-09-28T13:09:49+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale xml:lang="en">+ <terms>+ <term name="editortranslator" form="short">+ <single>ed. & trans.</single>+ <multiple>eds. & trans.</multiple>+ </term>+ <term name="translator" form="short">+ <single>trans.</single>+ <multiple>trans.</multiple>+ </term>+ </terms>+ </locale>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference entry-dictionary entry-encyclopedia" match="any">+ <group delimiter=", ">+ <names variable="container-author" delimiter=", ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=" (" text-case="title" suffix=")"/>+ </names>+ <names variable="editor translator" delimiter=", ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=" (" text-case="title" suffix=")"/>+ </names>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if type="article-journal chapter paper-conference entry-dictionary entry-encyclopedia" match="none">+ <group delimiter=", " prefix=" (" suffix=")">+ <names variable="container-author" delimiter=", ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="title"/>+ </names>+ <names variable="editor translator" delimiter=", ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="title"/>+ </names>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=" (" suffix=")" text-case="capitalize-first"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <choose>+ <if type="report">+ <text variable="publisher"/>+ <text macro="title"/>+ </if>+ <else>+ <text macro="title"/>+ </else>+ </choose>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="symbol" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <choose>+ <if type="report">+ <text variable="publisher"/>+ <text variable="title" form="short" font-style="italic"/>+ </if>+ <else-if type="legal_case">+ <text variable="title" font-style="italic"/>+ </else-if>+ <else-if type="book graphic motion_picture song" match="any">+ <text variable="title" form="short" font-style="italic"/>+ </else-if>+ <else-if type="bill legislation" match="any">+ <text variable="title" form="short"/>+ </else-if>+ <else-if variable="reviewed-author">+ <choose>+ <if variable="reviewed-title" match="none">+ <text variable="title" form="short" font-style="italic" prefix="Review of "/>+ </if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </else-if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <choose>+ <if type="thesis report" match="any">+ <choose>+ <if variable="DOI" match="any">+ <text variable="DOI" prefix="https://doi.org/"/>+ </if>+ <else-if variable="archive" match="any">+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="archive" suffix="."/>+ <text variable="archive_location" prefix=" (" suffix=")"/>+ </group>+ </else-if>+ <else>+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </else>+ </choose>+ </if>+ <else>+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix="https://doi.org/"/>+ </if>+ <else>+ <choose>+ <if type="webpage">+ <group delimiter=" ">+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <group>+ <date variable="accessed" form="text" suffix=", "/>+ </group>+ <text term="from"/>+ <text variable="URL"/>+ </group>+ </if>+ <else>+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </else>+ </choose>+ </else>+ </choose>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if type="book graphic manuscript motion_picture report song speech thesis" match="any">+ <choose>+ <if variable="version" type="book" match="all">+ <!---This is a hack until we have a computer program type -->+ <text variable="title"/>+ </if>+ <else>+ <text variable="title" font-style="italic"/>+ </else>+ </choose>+ </if>+ <else-if variable="reviewed-author">+ <choose>+ <if variable="reviewed-title">+ <group delimiter=" ">+ <text variable="title"/>+ <group delimiter=", " prefix="[" suffix="]">+ <text variable="reviewed-title" font-style="italic" prefix="Review of "/>+ <names variable="reviewed-author" delimiter=", ">+ <label form="verb-short" suffix=" "/>+ <name and="symbol" initialize-with=". " delimiter=", "/>+ </names>+ </group>+ </group>+ </if>+ <else>+ <!-- assume `title` is title of reviewed work -->+ <group delimiter=", " prefix="[" suffix="]">+ <text variable="title" font-style="italic" prefix="Review of "/>+ <names variable="reviewed-author" delimiter=", ">+ <label form="verb-short" suffix=" "/>+ <name and="symbol" initialize-with=". " delimiter=", "/>+ </names>+ </group>+ </else>+ </choose>+ </else-if>+ <else>+ <text variable="title"/>+ </else>+ </choose>+ </macro>+ <macro name="title-plus-extra">+ <text macro="title"/>+ <choose>+ <if type="report thesis" match="any">+ <group prefix=" (" suffix=")" delimiter=", ">+ <group delimiter=" ">+ <choose>+ <if variable="genre" match="any">+ <text variable="genre"/>+ </if>+ <else>+ <text variable="collection-title"/>+ </else>+ </choose>+ <text variable="number" prefix="No. "/>+ </group>+ <group delimiter=" ">+ <text term="version" text-case="capitalize-first"/>+ <text variable="version"/>+ </group>+ <text macro="edition"/>+ </group>+ </if>+ <else-if type="post-weblog webpage" match="any">+ <text variable="genre" prefix=" [" suffix="]"/>+ </else-if>+ <else-if variable="version">+ <group delimiter=" " prefix=" (" suffix=")">+ <text term="version" text-case="capitalize-first"/>+ <text variable="version"/>+ </group>+ </else-if>+ </choose>+ <text macro="format" prefix=" [" suffix="]"/>+ </macro>+ <macro name="format">+ <choose>+ <if match="any" variable="medium">+ <text variable="medium" text-case="capitalize-first"/>+ </if>+ <else-if type="dataset" match="any">+ <text value="Data set"/>+ </else-if>+ </choose>+ </macro>+ <macro name="publisher">+ <choose>+ <if type="report" match="any">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </if>+ <else-if type="thesis" match="any">+ <group delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </else-if>+ <else-if type="post-weblog webpage" match="none">+ <group delimiter=", ">+ <choose>+ <if variable="event version" type="speech motion_picture" match="none">+ <!-- Including version is to avoid printing the programming language for computerProgram /-->+ <text variable="genre"/>+ </if>+ </choose>+ <choose>+ <if type="article-journal article-magazine" match="none">+ <group delimiter=": ">+ <choose>+ <if variable="publisher-place">+ <text variable="publisher-place"/>+ </if>+ <else>+ <text variable="event-place"/>+ </else>+ </choose>+ <text variable="publisher"/>+ </group>+ </if>+ </choose>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="event">+ <choose>+ <if variable="container-title" match="none">+ <choose>+ <if variable="event">+ <choose>+ <if variable="genre" match="none">+ <text term="presented at" text-case="capitalize-first" suffix=" "/>+ <text variable="event"/>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="genre" text-case="capitalize-first"/>+ <text term="presented at"/>+ <text variable="event"/>+ </group>+ </else>+ </choose>+ </if>+ <else-if type="speech">+ <text variable="genre" text-case="capitalize-first"/>+ </else-if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issued">+ <choose>+ <if type="bill legal_case legislation" match="none">+ <choose>+ <if variable="issued">+ <group prefix=" (" suffix=")">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="year-suffix"/>+ <choose>+ <if type="speech" match="any">+ <date variable="issued">+ <date-part prefix=", " name="month"/>+ </date>+ </if>+ <else-if type="article-journal bill book chapter graphic legal_case legislation motion_picture paper-conference report song dataset" match="none">+ <date variable="issued">+ <date-part prefix=", " name="month"/>+ <date-part prefix=" " name="day"/>+ </date>+ </else-if>+ </choose>+ </group>+ </if>+ <else-if variable="status">+ <group prefix=" (" suffix=")">+ <text variable="status"/>+ <text variable="year-suffix" prefix="-"/>+ </group>+ </else-if>+ <else>+ <group prefix=" (" suffix=")">+ <text term="no date" form="short"/>+ <text variable="year-suffix" prefix="-"/>+ </group>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issued-sort">+ <choose>+ <if type="article-journal bill book chapter graphic legal_case legislation motion_picture paper-conference report song dataset" match="none">+ <date variable="issued">+ <date-part name="year"/>+ <date-part name="month"/>+ <date-part name="day"/>+ </date>+ </if>+ <else>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </else>+ </choose>+ </macro>+ <macro name="issued-year">+ <choose>+ <if variable="issued">+ <group delimiter="/">+ <date variable="original-date" form="text"/>+ <group>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="year-suffix"/>+ </group>+ </group>+ </if>+ <else-if variable="status">+ <text variable="status"/>+ <text variable="year-suffix" prefix="-"/>+ </else-if>+ <else>+ <text term="no date" form="short"/>+ <text variable="year-suffix" prefix="-"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short"/>+ </group>+ </if>+ <else>+ <text variable="edition"/>+ </else>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal article-magazine" match="any">+ <group prefix=", " delimiter=", ">+ <group>+ <text variable="volume" font-style="italic"/>+ <text variable="issue" prefix="(" suffix=")"/>+ </group>+ <text variable="page"/>+ </group>+ <choose>+ <!--for advanced online publication-->+ <if variable="issued">+ <choose>+ <if variable="page issue" match="none">+ <text variable="status" prefix=". "/>+ </if>+ </choose>+ </if>+ </choose>+ </if>+ <else-if type="article-newspaper">+ <group delimiter=" " prefix=", ">+ <label variable="page" form="short"/>+ <text variable="page"/>+ </group>+ </else-if>+ <else-if type="book graphic motion_picture report song chapter paper-conference entry-encyclopedia entry-dictionary" match="any">+ <group prefix=" (" suffix=")" delimiter=", ">+ <choose>+ <if type="report" match="none">+ <!-- edition for report is included in title-plus-extra /-->+ <text macro="edition"/>+ </if>+ </choose>+ <choose>+ <if variable="volume" match="any">+ <group>+ <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>+ <number variable="volume" form="numeric"/>+ </group>+ </if>+ <else>+ <group>+ <text term="volume" form="short" plural="true" text-case="capitalize-first" suffix=" "/>+ <number variable="number-of-volumes" form="numeric" prefix="1–"/>+ </group>+ </else>+ </choose>+ <group>+ <label variable="page" form="short" suffix=" "/>+ <text variable="page"/>+ </group>+ </group>+ </else-if>+ <else-if type="legal_case">+ <group prefix=" (" suffix=")" delimiter=" ">+ <text variable="authority"/>+ <choose>+ <if variable="container-title" match="any">+ <!--Only print year for cases published in reporters-->+ <date variable="issued" form="numeric" date-parts="year"/>+ </if>+ <else>+ <date variable="issued" form="text"/>+ </else>+ </choose>+ </group>+ </else-if>+ <else-if type="bill legislation" match="any">+ <date variable="issued" prefix=" (" suffix=")">+ <date-part name="year"/>+ </date>+ </else-if>+ </choose>+ </macro>+ <macro name="citation-locator">+ <group>+ <choose>+ <if locator="chapter">+ <label variable="locator" form="long" text-case="capitalize-first"/>+ </if>+ <else>+ <label variable="locator" form="short"/>+ </else>+ </choose>+ <text variable="locator" prefix=" "/>+ </group>+ </macro>+ <macro name="container">+ <choose>+ <if type="post-weblog webpage" match="none">+ <group>+ <choose>+ <if type="chapter paper-conference entry-encyclopedia" match="any">+ <text term="in" text-case="capitalize-first" suffix=" "/>+ </if>+ </choose>+ <group delimiter=", ">+ <text macro="container-contributors"/>+ <text macro="secondary-contributors"/>+ <text macro="container-title"/>+ </group>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-title">+ <choose>+ <if type="article article-journal article-magazine article-newspaper" match="any">+ <text variable="container-title" font-style="italic" text-case="title"/>+ </if>+ <else-if type="bill legal_case legislation" match="none">+ <text variable="container-title" font-style="italic"/>+ </else-if>+ </choose>+ </macro>+ <macro name="legal-cites">+ <choose>+ <if type="legal_case" match="any">+ <group prefix=", " delimiter=" ">+ <choose>+ <if variable="container-title">+ <text variable="volume"/>+ <text variable="container-title"/>+ <group delimiter=" ">+ <!--change to label variable="section" as that becomes available -->+ <text term="section" form="symbol"/>+ <text variable="section"/>+ </group>+ <text variable="page"/>+ </if>+ <else>+ <text variable="number" prefix="No. "/>+ </else>+ </choose>+ </group>+ </if>+ <else-if type="bill legislation" match="any">+ <group delimiter=", " prefix=", ">+ <choose>+ <if variable="number">+ <!--There's a public law number-->+ <text variable="number" prefix="Pub. L. No. "/>+ <group delimiter=" ">+ <!--change to label variable="section" as that becomes available -->+ <text term="section" form="symbol"/>+ <text variable="section"/>+ </group>+ <group delimiter=" ">+ <text variable="volume"/>+ <text variable="container-title"/>+ <text variable="page-first"/>+ </group>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="volume"/>+ <text variable="container-title"/>+ <!--change to label variable="section" as that becomes available -->+ <text term="section" form="symbol"/>+ <text variable="section"/>+ </group>+ </else>+ </choose>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="original-date">+ <choose>+ <if variable="original-date">+ <group prefix="(" suffix=")" delimiter=" ">+ <!---This should be localized-->+ <text value="Original work published"/>+ <date variable="original-date" form="text"/>+ </group>+ </if>+ </choose>+ </macro>+ <citation et-al-min="6" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" collapse="year" givenname-disambiguation-rule="primary-name">+ <sort>+ <key macro="author"/>+ <key macro="issued-sort"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <text macro="author-short"/>+ <text macro="issued-year"/>+ <text macro="citation-locator"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="8" et-al-use-first="6" et-al-use-last="true" entry-spacing="0" line-spacing="2">+ <sort>+ <key macro="author"/>+ <key macro="issued-sort" sort="ascending"/>+ <key macro="title"/>+ </sort>+ <layout>+ <group suffix=".">+ <group delimiter=". ">+ <text macro="author"/>+ <text macro="issued"/>+ <text macro="title-plus-extra"/>+ <text macro="container"/>+ </group>+ <text macro="legal-cites"/>+ <text macro="locators"/>+ <group delimiter=", " prefix=". ">+ <text macro="event"/>+ <text macro="publisher"/>+ </group>+ </group>+ <text macro="access" prefix=" "/>+ <text macro="original-date" prefix=" "/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Larry",+ "given": "Happy"+ }+ ],+ "id": "id",+ "issued": {+ "date-parts": [+ [+ 2017,+ 1,+ 1+ ]+ ]+ },+ "label": "id",+ "title": "A Lovely Title",+ "type": "article-journal"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_EmptyStrings.txt view
@@ -0,0 +1,60 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+2000+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date variable="issued" date-parts="year-month-day" form="numeric"/>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2000",+ "",+ ""+ ]+ ]+ },+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_IgnoreNonexistentSort.txt view
@@ -0,0 +1,83 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+Item 4; Item 2; Item 1; Item 3+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <sort>+ <key sort="descending" variable="issued" />+ <key variable="title" />+ </sort>+ <layout delimiter="; ">+ <text variable="title" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "Item 1",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1999",+ "2",+ "15"+ ]+ ]+ },+ "title": "Item 2",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "title": "Item 3",+ "type": "book"+ },+ {+ "id": "ITEM-4",+ "issued": {+ "date-parts": [+ [+ "2000",+ "2",+ "15"+ ]+ ]+ },+ "title": "Item 4",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_InPress.txt view
@@ -0,0 +1,59 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+(John Doe (in press))+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout prefix="(" suffix=")">+ <group delimiter=" ">+ <names variable="author">+ <name/>+ </names>+ <date variable="issued" form="text" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [],+ "literal": "(in press)"+ },+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_January.txt view
@@ -0,0 +1,53 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+January 30, 1965+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date variable="issued" form="text" date-parts="year-month-day"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1965",+ "1",+ "30"+ ]+ ]+ },+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_KeyVariable.txt view
@@ -0,0 +1,106 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Book A</div>+ <div class="csl-entry">Book B</div>+ <div class="csl-entry">Book C</div>+ <div class="csl-entry">Book D</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" />+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key sort="descending" variable="issued" />+ </sort>+ <layout>+ <text variable="title" />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2000",+ "2",+ "15"+ ]+ ]+ },+ "title": "Book C",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "2000",+ "12",+ "15"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ "2001"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "id": "ITEM-4",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book D",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LiteralFailGracefullyIfNoValue.txt view
@@ -0,0 +1,54 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+Only Me+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Only Me" />+ <date prefix="(" suffix=")" variable="issued">+ <date-part form="long" name="month" />+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": []+ },+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-af-ZA.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10 April 1998+April 1998+1998+1998/04/10+1998/04+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" form="numeric-leading-zeros" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="year"/>+ <date-part name="month" form="numeric-leading-zeros" prefix="/"/>+ <date-part name="day" form="numeric-leading-zeros" prefix="/"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-ar-AR.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10 April, 1998+April, 1998+1998+10/4/1998+4/1998+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=", "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" suffix="/"/>+ <date-part name="month" form="numeric" suffix="/"/>+ <date-part name="year"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-bg-BG.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10 April 1998+April 1998+1998+10.04.1998+04.1998+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" form="numeric-leading-zeros" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="."/>+ <date-part name="month" form="numeric-leading-zeros" suffix="."/>+ <date-part name="year"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-ca-AD.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10 de April de 1998+April de 1998+1998+10/04/1998+04/1998+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" suffix=" de "/>+ <date-part name="month" suffix=" de "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-cs-CZ.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10. April 1998+April 1998+1998+1998-04-10+1998-04+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" suffix=". "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="year"/>+ <date-part name="month" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>+ <date-part name="day" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-da-DK.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10. April 1998+April 1998+1998+10-04-1998+04-1998+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" suffix=". "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="-" range-delimiter="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="-" range-delimiter="/"/>+ <date-part name="year"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-de-AT.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10 April 1998+April 1998+1998+10/04/1998+04/1998+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-de-CH.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10. April 1998+April 1998+1998+10.04.1998+04.1998+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" suffix=". "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="."/>+ <date-part name="month" form="numeric-leading-zeros" suffix="."/>+ <date-part name="year"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-de-DE.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10. April 1998+April 1998+1998+10.04.1998+04.1998+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" suffix=". "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="."/>+ <date-part name="month" form="numeric-leading-zeros" suffix="."/>+ <date-part name="year"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-el-GR.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10 April 1998+April 1998+1998+10/04/1998+04/1998+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-en-US.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+April 10, 1998+April 1998+1998+04/10/1998+04/1998+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="month" suffix=" "/>+ <date-part name="day" form="numeric-leading-zeros" suffix=", "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-es-ES.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10 de April de 1998+April de 1998+1998+10/04/1998+04/1998+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" suffix=" de "/>+ <date-part name="month" suffix=" de "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-et-EE.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10. April 1998+April 1998+1998+10.04.1998+04.1998+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" suffix=". "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="."/>+ <date-part name="month" form="numeric-leading-zeros" suffix="."/>+ <date-part name="year"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-fr-FR.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10 April 1998+April 1998+1998+10/04/1998+04/1998+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-he-IL.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10 April 1998+April 1998+1998+10/04/1998+04/1998+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-hu-HU.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+1998. April 10.+1998. April+1998+1998.04.10+1998.04+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="year"/>+ <date-part name="month" prefix=". "/>+ <date-part name="day" prefix=" " suffix="."/>+ </date>+ <date form="numeric">+ <date-part name="year"/>+ <date-part name="month" form="numeric-leading-zeros" prefix="."/>+ <date-part name="day" form="numeric-leading-zeros" prefix="."/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-is-IS.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10. April 1998+April 1998+1998+10.04.1998+04.1998+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" suffix=". "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="."/>+ <date-part name="month" form="numeric-leading-zeros" suffix="."/>+ <date-part name="year"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-it-IT.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10 April 1998+April 1998+1998+10/04/1998+04/1998+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-ja-JP.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+1998年4月10日+1998年4月+1998年+1998年4月10日+1998年4月+1998年+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="year" suffix="年"/>+ <date-part name="month" form="numeric" suffix="月"/>+ <date-part name="day" suffix="日"/>+ </date>+ <date form="numeric">+ <date-part name="year" suffix="年"/>+ <date-part name="month" form="numeric" suffix="月"/>+ <date-part name="day" suffix="日"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-kh-KH.txt view
@@ -0,0 +1,65 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10មេសា1998+មេសា1998+1998+10/04/1998+04/1998+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ default-locale="km-KH">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-ko-KR.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+1998년 4월 10일+1998년 4월+1998년+1998/04/10+1998/04+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="year" suffix="년"/>+ <date-part name="month" form="numeric" prefix=" " suffix="월"/>+ <date-part name="day" prefix=" " suffix="일"/>+ </date>+ <date form="numeric">+ <date-part name="year"/>+ <date-part name="month" form="numeric-leading-zeros" prefix="/"/>+ <date-part name="day" form="numeric-leading-zeros" prefix="/"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-mn-MN.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10 April 1998+April 1998+1998+1998.04.10+1998.04+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="year"/>+ <date-part name="month" form="numeric-leading-zeros" prefix="."/>+ <date-part name="day" form="numeric-leading-zeros" prefix="."/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-nb-NO.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10. April 1998+April 1998+1998+1998-04-10+1998-04+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" suffix=". "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="year"/>+ <date-part name="month" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>+ <date-part name="day" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-nl-NL.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10 April 1998+April 1998+1998+10-4-1998+4-1998+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" suffix="-" range-delimiter="/"/>+ <date-part name="month" form="numeric" suffix="-" range-delimiter="/"/>+ <date-part name="year"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-pl-PL.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10 April 1998+April 1998+1998+10.04.1998+04.1998+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="."/>+ <date-part name="month" form="numeric-leading-zeros" suffix="."/>+ <date-part name="year"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-pt-BR.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10 de April de 1998+April de 1998+1998+10/04/1998+04/1998+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" suffix=" de "/>+ <date-part name="month" suffix=" de "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-pt-PT.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10 de April de 1998+April de 1998+1998+10/04/1998+04/1998+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" suffix=" de "/>+ <date-part name="month" suffix=" de "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-ro-RO.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10 April 1998+April 1998+1998+10.4.1998+4.1998+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" suffix="."/>+ <date-part name="month" form="numeric" suffix="."/>+ <date-part name="year"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-ru-RU.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10 April 1998 г.+April 1998 г.+1998 г.+10.04.1998+04.1998+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year" suffix=" г."/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="."/>+ <date-part name="month" form="numeric-leading-zeros" suffix="."/>+ <date-part name="year"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-sk-SK.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10. April 1998+April 1998+1998+10.4.1998+4.1998+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" form="numeric-leading-zeros" suffix=". "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" suffix="."/>+ <date-part name="month" form="numeric" suffix="."/>+ <date-part name="year"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-sl-SL.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10. April 1998.+April 1998.+1998.+1998-04-10+1998-04+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" form="numeric-leading-zeros" suffix=". "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year" suffix="."/>+ </date>+ <date form="numeric">+ <date-part name="year"/>+ <date-part name="month" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>+ <date-part name="day" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-sr-RS.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10. April 1998.+April 1998.+1998.+1998-04-10+1998-04+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" form="numeric-leading-zeros" suffix=". "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year" suffix="."/>+ </date>+ <date form="numeric">+ <date-part name="year"/>+ <date-part name="month" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>+ <date-part name="day" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-sv-SE.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10 April 1998+April 1998+1998+1998-04-10+1998-04+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" form="numeric-leading-zeros" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="year"/>+ <date-part name="month" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>+ <date-part name="day" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-th-TH.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10 April 1998+April 1998+1998+10/04/1998+04/1998+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-tr-TR.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10 April 1998+April 1998+1998+10/04/1998+04/1998+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" form="numeric-leading-zeros" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-uk-UA.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10, April 1998+April 1998+1998+10/04/1998+04/1998+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" form="numeric-leading-zeros" suffix=", "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-vi-VN.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+10 April 1998+April 1998+1998+10/04/1998+04/1998+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <date form="numeric">+ <date-part name="day" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="month" form="numeric-leading-zeros" suffix="/"/>+ <date-part name="year"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-zh-CN.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+1998年4月10日+1998年4月+1998年+1998-4-10+1998-4+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="year" suffix="年"/>+ <date-part name="month" form="numeric" suffix="月"/>+ <date-part name="day" suffix="日"/>+ </date>+ <date form="numeric">+ <date-part name="year"/>+ <date-part name="month" form="numeric" prefix="-" range-delimiter="/"/>+ <date-part name="day" prefix="-" range-delimiter="/"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedDateFormats-zh-TW.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+1998年4月10日+1998年4月+1998年+1998/04/10+1998/04+1998+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="year" suffix="年"/>+ <date-part name="month" form="numeric" suffix="月"/>+ <date-part name="day" suffix="日"/>+ </date>+ <date form="numeric">+ <date-part name="year"/>+ <date-part name="month" form="numeric-leading-zeros" prefix="/"/>+ <date-part name="day" form="numeric-leading-zeros" prefix="/"/>+ </date>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ <date variable="issued" form="text" date-parts="year-month"/>+ <date variable="issued" form="text" date-parts="year"/>+ <date variable="issued" form="numeric" date-parts="year-month-day"/>+ <date variable="issued" form="numeric" date-parts="year-month"/>+ <date variable="issued" form="numeric" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1998,+ 4,+ 10+ ]+ ]+ },+ "title": "BookA"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedNumericDefault.txt view
@@ -0,0 +1,55 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+12/15/2005+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date form="numeric" variable="issued" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2005,+ 12,+ 15+ ]+ ]+ },+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedNumericDefaultMissingDay.txt view
@@ -0,0 +1,54 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+12/2005+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date form="numeric" variable="issued" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2005,+ 12+ ]+ ]+ },+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedNumericDefaultWithAffixes.txt view
@@ -0,0 +1,55 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+(12/15/2005)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date form="numeric" prefix="(" suffix=")" variable="issued" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2005,+ 12,+ 15+ ]+ ]+ },+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedNumericYear.txt view
@@ -0,0 +1,55 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+2005+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date date-parts="year" form="numeric" variable="issued" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2005,+ 12,+ 15+ ]+ ]+ },+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedNumericYearMonth.txt view
@@ -0,0 +1,55 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+12/2005+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date date-parts="year-month" form="numeric" variable="issued" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2005,+ 12,+ 15+ ]+ ]+ },+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedNumericYearRange.txt view
@@ -0,0 +1,59 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+11/2005–12/2006+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date date-parts="year-month" form="numeric" variable="issued" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2005,+ 11,+ 15+ ],+ [+ 2006,+ 12,+ 20+ ]+ ]+ },+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedNumericYearWithAffixes.txt view
@@ -0,0 +1,55 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+(12/15/2005)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date form="numeric" prefix="(" suffix=")" variable="issued" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2005,+ 12,+ 15+ ]+ ]+ },+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedTextDefault.txt view
@@ -0,0 +1,55 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+December 15, 2005+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date form="text" variable="issued" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2005,+ 12,+ 15+ ]+ ]+ },+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedTextDefaultMissingDay.txt view
@@ -0,0 +1,54 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+December 2005+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date form="text" variable="issued" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2005,+ 12+ ]+ ]+ },+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedTextDefaultWithAffixes.txt view
@@ -0,0 +1,55 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+(December 15, 2005)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date form="text" prefix="(" suffix=")" variable="issued" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2005,+ 12,+ 15+ ]+ ]+ },+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedTextInStyleLocaleWithTextCase.txt view
@@ -0,0 +1,64 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+DEC. 2005+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" " text-case="uppercase"/>+ <date-part name="year"/>+ </date>+ </locale>+ <citation>+ <layout>+ <date date-parts="year-month" form="text" variable="issued">+ <date-part form="short" name="month" />+ </date>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2005,+ 12,+ 15+ ]+ ]+ },+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedTextMonthFormOverride.txt view
@@ -0,0 +1,57 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+Dec. 2005+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date date-parts="year-month" form="text" variable="issued">+ <date-part form="short" name="month" />+ </date>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2005,+ 12,+ 15+ ]+ ]+ },+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedTextYear.txt view
@@ -0,0 +1,55 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+2005+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date date-parts="year" form="text" variable="issued" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2005,+ 12,+ 15+ ]+ ]+ },+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedTextYearMonth.txt view
@@ -0,0 +1,55 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+December 2005+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date date-parts="year-month" form="text" variable="issued" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2005,+ 12,+ 15+ ]+ ]+ },+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedTextYearWithAffixes.txt view
@@ -0,0 +1,55 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+(2005)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date date-parts="year" form="text" prefix="(" suffix=")" variable="issued" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2005,+ 12,+ 15+ ]+ ]+ },+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LocalizedWithInStyleFormatting.txt view
@@ -0,0 +1,57 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+<i>December</i> 15, 2005+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date form="text" variable="issued">+ <date-part name="month" font-style="italic"/>+ </date>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2005,+ 12,+ 15+ ]+ ]+ },+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LongMonth.txt view
@@ -0,0 +1,59 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+(December 15, 2005)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date prefix="(" suffix=")" variable="issued">+ <date-part form="long" name="month" suffix=" " />+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2005,+ 12,+ 15+ ]+ ]+ },+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_LopsidedDataYearSuffixCollapse.txt view
@@ -0,0 +1,88 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+(Smith 1982a,b)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation collapse="year-suffix"+ disambiguate-add-year-suffix="true"+ year-suffix-delimiter=","+ after-collapse-delimiter="; ">+ <layout prefix="(" suffix=")" delimiter=", ">+ <group delimiter=" ">+ <names variable="author">+ <name form="short"/>+ </names>+ <group>+ <date variable="issued" date-parts="year" form="text"/>+ </group>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1982,+ 6+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 1982,+ 10,+ 1+ ]+ ]+ },+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_MaskNonexistentWithCondition.txt view
@@ -0,0 +1,55 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+Hello+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Hello"/>+ <choose>+ <if variable="issued">+ <date prefix="(" suffix=")" variable="issued">+ <date-part form="long" name="month" />+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </if>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_NegativeDateSort.txt view
@@ -0,0 +1,107 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++Sort position of empty dates differs in citations and bibliographies.+In citations, empty dates have a value equivalent to zero. In+bibliographies, they are always placed at the end of the sort+(whether ascending or descending).++>>===== RESULT =====>>+100BC-7-13, 44BC-3-15, 54AD-10-13, 68AD-6-11+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <sort>+ <key variable="issued"/>+ </sort>+ <layout delimiter=", ">+ <date variable="issued" delimiter="-">+ <date-part name="year"/>+ <date-part name="month" form="numeric"/>+ <date-part name="day" form="numeric"/>+ </date>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ -100,+ 7,+ 13+ ]+ ]+ },+ "title": "BookA",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 54,+ 10,+ 13+ ]+ ]+ },+ "title": "BookB",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ -44,+ 3,+ 15+ ]+ ]+ },+ "title": "BookC",+ "type": "book"+ },+ {+ "id": "ITEM-4",+ "issued": {+ "date-parts": [+ [+ 68,+ 6,+ 11+ ]+ ]+ },+ "title": "BookD",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_NegativeDateSortViaMacro.txt view
@@ -0,0 +1,110 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++Sort position of empty dates differs in citations and bibliographies.+In citations, empty dates have a value equivalent to zero. In+bibliographies, they are always placed at the end of the sort+(whether ascending or descending).++>>===== RESULT =====>>+100BC-7-13, 44BC-3-15, 54AD-10-13, 68AD-6-11+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="mydate">+ <date variable="issued" delimiter="-">+ <date-part name="year"/>+ <date-part name="month" form="numeric"/>+ <date-part name="day" form="numeric"/>+ </date>+ </macro>+ <citation>+ <sort>+ <key macro="mydate"/>+ </sort>+ <layout delimiter=", ">+ <text macro="mydate"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ -100,+ 7,+ 13+ ]+ ]+ },+ "title": "BookA",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 54,+ 10,+ 13+ ]+ ]+ },+ "title": "BookB",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ -44,+ 3,+ 15+ ]+ ]+ },+ "title": "BookC",+ "type": "book"+ },+ {+ "id": "ITEM-4",+ "issued": {+ "date-parts": [+ [+ 68,+ 6,+ 11+ ]+ ]+ },+ "title": "BookD",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_NegativeDateSortViaMacroOnYearMonthOnly.txt view
@@ -0,0 +1,120 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++Sort position of empty dates differs in citations and bibliographies.+In citations, empty dates have a value equivalent to zero. In+bibliographies, they are always placed at the end of the sort+(whether ascending or descending).++>>===== RESULT =====>>+BookX (100BC-7-14), BookY (100BC-7-13), BookA (68AD-3-16), BookB (68AD-3-15)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="shortdate">+ <date variable="issued" delimiter="-">+ <date-part name="year"/>+ <date-part name="month" form="numeric"/>+ </date>+ </macro>+ <macro name="longdate">+ <date variable="issued" delimiter="-">+ <date-part name="year"/>+ <date-part name="month" form="numeric"/>+ <date-part name="day" form="numeric"/>+ </date>+ </macro>+ <citation>+ <sort>+ <key macro="shortdate"/>+ <key variable="title"/>+ </sort>+ <layout delimiter=", ">+ <group delimiter=" ">+ <text variable="title"/>+ <text macro="longdate" prefix="(" suffix=")"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ -100,+ 7,+ 13+ ]+ ]+ },+ "title": "BookY",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ -100,+ 7,+ 14+ ]+ ]+ },+ "title": "BookX",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ 68,+ 3,+ 15+ ]+ ]+ },+ "title": "BookB",+ "type": "book"+ },+ {+ "id": "ITEM-4",+ "issued": {+ "date-parts": [+ [+ 68,+ 3,+ 16+ ]+ ]+ },+ "title": "BookA",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_NoDate.txt view
@@ -0,0 +1,58 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+Some Book or Other (no date)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" suffix=" "/>+ <choose>+ <if variable="issued">+ <date prefix="(" suffix=")" variable="issued">+ <date-part form="long" name="month" />+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </if>+ <else>+ <text term="no date" prefix="(" suffix=")"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "Some Book or Other",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_NonexistentSortReverseBibliography.txt view
@@ -0,0 +1,94 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++Note that in citation sorts, an empty date is treated as zero,+while in a bibliography sort, empty-date items come at the end,+in both ascending and descending sorts.++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Item 2</div>+ <div class="csl-entry">Item 4</div>+ <div class="csl-entry">Item 1</div>+ <div class="csl-entry">Item 3</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Dummy"/>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key sort="ascending" variable="issued" />+ <key variable="title" />+ </sort>+ <layout>+ <text variable="title" />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "Item 1",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1999",+ "2",+ "15"+ ]+ ]+ },+ "title": "Item 2",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "title": "Item 3",+ "type": "book"+ },+ {+ "id": "ITEM-4",+ "issued": {+ "date-parts": [+ [+ "2000",+ "2",+ "15"+ ]+ ]+ },+ "title": "Item 4",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_NonexistentSortReverseCitation.txt view
@@ -0,0 +1,84 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++Note that in citation sorts, an empty date is treated as zero,+while in a bibliography sort, empty-date items come at the end,+in both ascending and descending sorts.++>>===== RESULT =====>>+Item 2; Item 4; Item 1; Item 3+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <sort>+ <key sort="ascending" variable="issued" />+ <key variable="title" />+ </sort>+ <layout delimiter="; ">+ <text variable="title" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "Item 1",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1999",+ "2",+ "15"+ ]+ ]+ },+ "title": "Item 2",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "title": "Item 3",+ "type": "book"+ },+ {+ "id": "ITEM-4",+ "issued": {+ "date-parts": [+ [+ "2000",+ "2",+ "15"+ ]+ ]+ },+ "title": "Item 4",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_OtherAlone.txt view
@@ -0,0 +1,54 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+(maybe around 2000bc sometime?)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date prefix="(" suffix=")" variable="issued">+ <date-part form="long" name="month" />+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [],+ "literal": "maybe around 2000bc sometime?"+ },+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_OtherWithDate.txt view
@@ -0,0 +1,58 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+(Autumn 2000)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date prefix="(" suffix=")" variable="issued">+ <date-part form="long" name="month" suffix=" "/>+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ],+ "season": 3+ },+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_RangeDelimiter.txt view
@@ -0,0 +1,188 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Year, Month, Day, with repeated month and year: 2_[DRD]_4 January 1999</div>+ <div class="csl-entry">Year, Month, Day, with differing month: 2 January_[MRD]_4 March 1999</div>+ <div class="csl-entry">Year, Month, Day, with differing year: 2 January 1999_[YRD]_4 January 2000</div>+ <div class="csl-entry">Year, Month, with repeated year: January_[MRD]_March 1999</div>+ <div class="csl-entry">Year, Month, with differing year: January 1999_[YRD]_March 2000</div>+ <div class="csl-entry">Year, with differing year: 1999_[YRD]_2000</div>+</div>+<<===== RESULT =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <title>Test fixture</title>+ <id>http://citationstyles.org/tests/fixture</id>+ <link href="http://citationstyles.org/tests/fixture" rel="self"/>+ <link href="http://citationstyles.org/documentation/text" rel="documentation"/>+ <category citation-format="author-date"/>+ <updated>2014-04-30T13:19:38+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale>+ <date form="text" delimiter=" ">+ <date-part name="day" form="numeric" range-delimiter="_[DRD]_" />+ <date-part name="month" form="long" range-delimiter="_[MRD]_" />+ <date-part name="year" form="long" range-delimiter="_[YRD]_"/>+ </date>+ </locale>+ <citation>+ <layout>+ <text value="bogus"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <group delimiter=": ">+ <text variable="title"/>+ <choose>+ <if type="book">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ </if>+ <else-if type="article-journal">+ <date variable="issued" form="text" date-parts="year-month"/>+ </else-if>+ <else-if type="chapter">+ <date variable="issued" form="text" date-parts="year"/>+ </else-if>+ </choose>+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1999,+ 1,+ 2+ ],+ [+ 1999,+ 1,+ 4+ ]+ ]+ },+ "title": "Year, Month, Day, with repeated month and year",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 1999,+ 1,+ 2+ ],+ [+ 1999,+ 3,+ 4+ ]+ ]+ },+ "title": "Year, Month, Day, with differing month",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ 1999,+ 1,+ 2+ ],+ [+ 2000,+ 1,+ 4+ ]+ ]+ },+ "title": "Year, Month, Day, with differing year",+ "type": "book"+ },+ {+ "id": "ITEM-4",+ "issued": {+ "date-parts": [+ [+ 1999,+ 1,+ 2+ ],+ [+ 1999,+ 3,+ 4+ ]+ ]+ },+ "title": "Year, Month, with repeated year",+ "type": "article-journal"+ },+ {+ "id": "ITEM-5",+ "issued": {+ "date-parts": [+ [+ 1999,+ 1,+ 2+ ],+ [+ 2000,+ 3,+ 4+ ]+ ]+ },+ "title": "Year, Month, with differing year",+ "type": "article-journal"+ },+ {+ "id": "ITEM-6",+ "issued": {+ "date-parts": [+ [+ 1999,+ 1,+ 2+ ],+ [+ 2000,+ 3,+ 4+ ]+ ]+ },+ "title": "Year, with differing year",+ "type": "chapter"+ }+]+<<===== INPUT =====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_SeasonRange1.txt view
@@ -0,0 +1,57 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Spring 1999–Summer 2001+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date variable="issued" date-parts="year-month-day" form="text"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1999",+ "21"+ ],+ [+ "2001",+ "22"+ ]+ ],+ "raw": "Spring 1999 - Summer 2001"+ },+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_SeasonRange2.txt view
@@ -0,0 +1,56 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++Down Under season range.++>>===== RESULT =====>>+Summer–Spring 1999+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date variable="issued" date-parts="year-month-day" form="text"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1999",+ "22"+ ],+ [+ "1999",+ "21"+ ]+ ]+ },+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_SeasonRange3.txt view
@@ -0,0 +1,56 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++Down Under season range.++>>===== RESULT =====>>+Spring–Summer 1999+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date variable="issued" date-parts="year-month-day" form="text"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1999",+ "21"+ ],+ [+ "1999",+ "22"+ ]+ ]+ },+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_SeasonSubstituteInGroup.txt view
@@ -0,0 +1,67 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++Grouping ordinarily causes bare terms to be suppressed if+at least one attempt is made to render a variable in an+enclosing group, and all such attempts fail. Seasons are+rendered as terms output instead of the month. Where only+the month is requested, it will fail (triggering the season+term write operation). This test confirms that in this+special case, the term is treated as if it were a successful+rendering of a variable.+++>>===== RESULT =====>>+(Autumn)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <group prefix="(" suffix=")">+ <date variable="issued">+ <date-part name="month" />+ <date-part name="day" prefix=" " />+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ],+ "season": 3+ },+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_SortEmptyDatesBibliography.txt view
@@ -0,0 +1,103 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++Sort position of empty dates differs in citations and bibliographies.+In citations, empty dates have a value equivalent to zero. In+bibliographies, they are always placed at the end of the sort+(whether ascending or descending).+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">BookD 1999.</div>+ <div class="csl-entry">BookB 2000.</div>+ <div class="csl-entry">BookA.</div>+ <div class="csl-entry">BookC.</div>+ <div class="csl-entry">BookE.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Hello"/>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key variable="issued"/>+ <key variable="title"/>+ </sort>+ <layout prefix="" suffix=".">+ <group delimiter=" ">+ <text variable="title" />+ <date variable="issued">+ <date-part name="year" />+ </date>+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "BookA",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ },+ "title": "BookB",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "title": "BookC",+ "type": "book"+ },+ {+ "id": "ITEM-4",+ "issued": {+ "date-parts": [+ [+ 1999+ ]+ ]+ },+ "title": "BookD",+ "type": "book"+ },+ {+ "id": "ITEM-5",+ "title": "BookE",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_SortEmptyDatesCitation.txt view
@@ -0,0 +1,91 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++Sort position of empty dates differs in citations and bibliographies.+In citations, empty dates have a value equivalent to zero. In+bibliographies, they are always placed at the end of the sort+(whether ascending or descending).++>>===== RESULT =====>>+BookD 1999; BookB 2000; BookA; BookC; BookE.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <sort>+ <key variable="issued"/>+ <key variable="title"/>+ </sort>+ <layout delimiter="; " prefix="" suffix=".">+ <group delimiter=" ">+ <text variable="title" />+ <date variable="issued">+ <date-part name="year" />+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "BookA",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ },+ "title": "BookB",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "title": "BookC",+ "type": "book"+ },+ {+ "id": "ITEM-4",+ "issued": {+ "date-parts": [+ [+ 1999+ ]+ ]+ },+ "title": "BookD",+ "type": "book"+ },+ {+ "id": "ITEM-5",+ "title": "BookE",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_String.txt view
@@ -0,0 +1,52 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+date: Bogus Date+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <group delimiter=": ">+ <text value="date"/>+ <date variable="issued" form="text" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [],+ "raw": "Bogus Date"+ },+ "title": "Book A",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_TextFormFulldateDayRange.txt view
@@ -0,0 +1,64 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+(10–23 August 2003)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date prefix="(" suffix=")" variable="issued">+ <date-part name="day" suffix=" " />+ <date-part form="long" name="month" suffix=" "/>+ <date-part name="year" />+ </date>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2003,+ 8,+ 10+ ],+ [+ 2003,+ 8,+ 23+ ]+ ]+ },+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_TextFormFulldateMonthRange.txt view
@@ -0,0 +1,64 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+(3 August–23 October 2003)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date prefix="(" suffix=")" variable="issued">+ <date-part name="day" suffix=" " />+ <date-part form="long" name="month" suffix=" "/>+ <date-part name="year" />+ </date>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2003,+ 8,+ 3+ ],+ [+ 2003,+ 10,+ 23+ ]+ ]+ },+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_TextFormFulldateYearRange.txt view
@@ -0,0 +1,64 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+(3 August 1987–23 October 2003)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date prefix="(" suffix=")" variable="issued">+ <date-part name="day" suffix=" " />+ <date-part form="long" name="month" suffix=" "/>+ <date-part name="year" />+ </date>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1987,+ 8,+ 3+ ],+ [+ 2003,+ 10,+ 23+ ]+ ]+ },+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_TextFormMonthdateMonthRange.txt view
@@ -0,0 +1,62 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+(August–October 2003)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date prefix="(" suffix=")" variable="issued">+ <date-part name="day" suffix=" " />+ <date-part form="long" name="month" suffix=" "/>+ <date-part name="year" />+ </date>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2003,+ 8+ ],+ [+ 2003,+ 10+ ]+ ]+ },+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_TextFormMonthdateYearRange.txt view
@@ -0,0 +1,62 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+(August 1987–October 2003)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date prefix="(" suffix=")" variable="issued">+ <date-part name="day" suffix=" " />+ <date-part form="long" name="month" suffix=" "/>+ <date-part name="year" />+ </date>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1987,+ 8+ ],+ [+ 2003,+ 10+ ]+ ]+ },+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_TextFormYeardateYearRange.txt view
@@ -0,0 +1,60 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+(1987–2003)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date prefix="(" suffix=")" variable="issued">+ <date-part name="day" suffix=" " />+ <date-part form="long" name="month" suffix=" "/>+ <date-part name="year" />+ </date>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1987+ ],+ [+ 2003+ ]+ ]+ },+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_TextFormYeardateYearRangeOpen.txt view
@@ -0,0 +1,60 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+(1987–)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date prefix="(" suffix=")" variable="issued">+ <date-part name="day" suffix=" " />+ <date-part form="long" name="month" suffix=" "/>+ <date-part name="year" />+ </date>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1987+ ],+ [+ 0+ ]+ ]+ },+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_Uncertain.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+circa 15 December 2005; 20 December 2005+<<===== RESULT =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; ">+ <choose>+ <if is-uncertain-date="issued">+ <text value="circa" suffix=" "/>+ </if>+ </choose>+ <date variable="issued">+ <date-part name="day" suffix=" " />+ <date-part form="long" name="month" suffix=" " />+ <date-part name="year" />+ </date>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "circa": 1,+ "date-parts": [+ [+ 2005,+ 12,+ 15+ ]+ ]+ },+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 2005,+ 12,+ 20+ ]+ ]+ },+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_VariousInvalidDates.txt view
@@ -0,0 +1,109 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Date: (); Date: (Spring); Date: (Spring); Date: (); Date: (Winter)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; ">+ <text value="Date: ("/>+ <date variable="issued">+ <date-part name="month" form="long" strip-periods="true"/>+ </date>+ <text value=")"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1965,+ -1,+ 1+ ]+ ]+ },+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 1965,+ 13,+ 1+ ]+ ]+ },+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ 1965,+ 17,+ 1+ ]+ ]+ },+ "type": "book"+ },+ {+ "id": "ITEM-4",+ "issued": {+ "date-parts": [+ [+ 1965,+ 60,+ 1+ ]+ ]+ },+ "type": "book"+ },+ {+ "id": "ITEM-5",+ "issued": {+ "date-parts": [+ [+ 1965,+ 24,+ 0+ ]+ ]+ },+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_YearSuffixDelimiter.txt view
@@ -0,0 +1,109 @@+# date_YearSuffixDelimiter.txt+++>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+Doe 2000a,b;2001+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + collapse="year-suffix"+ disambiguate-add-year-suffix="true"+ year-suffix-delimiter=",">+ <layout delimiter=";">+ <group delimiter=" ">+ <names variable="author">+ <name form="short" />+ </names>+ <date variable="issued">+ <date-part name="year" />+ </date>+ </group>+ <text variable="year-suffix" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Paper 1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Paper 2",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ "2001"+ ]+ ]+ },+ "title": "Paper 3",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_YearSuffixImplicitWithNoDate.txt view
@@ -0,0 +1,108 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+(John Doe n.d.-a [Accessed: June 1, 1965]; John Doe n.d.-b [Accessed: June 1, 2065])+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation disambiguate-add-year-suffix="true">+ <layout delimiter="; " prefix="(" suffix=")">+ <group delimiter=" ">+ <names variable="author">+ <name/>+ </names>+ <group>+ <choose>+ <if variable="issued">+ <date variable="issued" form="text" date-parts="year"/>+ <text variable="year-suffix"/>+ </if>+ <else>+ <text term="no date" form="short"/>+ <text variable="year-suffix" prefix="-"/>+ </else>+ </choose>+ </group>+ </group>+ <group delimiter=" " prefix=" [" suffix="]">+ <text term="accessed" suffix=": " text-case="capitalize-first"/>+ <date variable="accessed" form="text" date-parts="year-month-day"/>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "accessed": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "accessed": {+ "date-parts": [+ [+ "2065",+ "6",+ "1"+ ]+ ]+ },+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_YearSuffixImplicitWithNoDateOneOnly.txt view
@@ -0,0 +1,86 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+(John Doe n.d. [Accessed: June 1, 1965])+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation disambiguate-add-year-suffix="true">+ <layout delimiter="; " prefix="(" suffix=")">+ <group delimiter=" ">+ <names variable="author">+ <name/>+ </names>+ <group>+ <choose>+ <if variable="issued">+ <date variable="issued" form="text" date-parts="year"/>+ <text variable="year-suffix"/>+ </if>+ <else>+ <text term="no date" form="short"/>+ <text variable="year-suffix" prefix="-"/>+ </else>+ </choose>+ </group>+ </group>+ <group delimiter=" " prefix=" [" suffix="]">+ <text term="accessed" suffix=": " text-case="capitalize-first"/>+ <date variable="accessed" form="text" date-parts="year-month-day"/>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "accessed": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/date_YearSuffixWithNoDate.txt view
@@ -0,0 +1,108 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+(John Doe n.d.-a [Accessed: June 1, 1965]; John Doe n.d.-b [Accessed: June 1, 2065])+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation disambiguate-add-year-suffix="true">+ <layout delimiter="; " prefix="(" suffix=")">+ <group delimiter=" ">+ <names variable="author">+ <name/>+ </names>+ <group>+ <choose>+ <if variable="issued">+ <date variable="issued" form="text" date-parts="year"/>+ <text variable="year-suffix"/>+ </if>+ <else>+ <text term="no date" form="short"/>+ <text variable="year-suffix" prefix="-"/>+ </else>+ </choose>+ </group>+ </group>+ <group delimiter=" " prefix=" [" suffix="]">+ <text term="accessed" suffix=": " text-case="capitalize-first"/>+ <date variable="accessed" form="text" date-parts="year-month-day"/>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "accessed": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "accessed": {+ "date-parts": [+ [+ "2065",+ "6",+ "1"+ ]+ ]+ },+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/decorations_AndTermUnaffectedByNameDecorations.txt view
@@ -0,0 +1,61 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+<span style="font-variant:small-caps;">John</span> <span style="font-variant:small-caps;">Doe</span> III and <span style="font-variant:small-caps;">Jane</span> <span style="font-variant:small-caps;">van</span> <span style="font-variant:small-caps;">Roe</span>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name and="text">+ <name-part name="family" font-variant="small-caps"/>+ <name-part name="given" font-variant="small-caps"/>+ </name>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John",+ "suffix": "III"+ },+ {+ "family": "Roe",+ "given": "Jane",+ "non-dropping-particle": "van"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/decorations_Baseline.txt view
@@ -0,0 +1,73 @@+>>== MODE ==>>+bibliography+<<== MODE ==<<++++>>== RESULT ==>>+<div class="csl-bib-body">+ <div class="csl-entry"><sup>Little, Stuart, <span style="baseline">My Short Narrative</span> (1990)</sup></div>+</div>+<<== RESULT ==<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Ignore me"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <group delimiter=" " vertical-align="sup">+ <group delimiter=", ">+ <names variable="author">+ <name sort-separator=", " name-as-sort-order="all"/>+ </names>+ <text vertical-align="baseline" variable="title"/>+ </group>+ <date variable="issued" form="text" prefix="(" suffix=")"/>+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Little",+ "given": "Stuart"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ },+ "title": "My Short Narrative",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/decorations_NestedQuotes.txt view
@@ -0,0 +1,45 @@+>>== MODE ==>>+citation+<<== MODE ==<<++++>>== RESULT ==>>+“My ‘Amazing’ Title”+<<== RESULT ==<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text quotes="true" variable="title" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "item-1",+ "title": "My “Amazing” Title",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/decorations_NestedQuotesInnerReverse.txt view
@@ -0,0 +1,45 @@+>>== MODE ==>>+citation+<<== MODE ==<<++++>>== RESULT ==>>+“My ‘“Amazing” <b>and</b> Bogus’ Title”+<<== RESULT ==<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" quotes="true"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "item-1",+ "title": "My “‘Amazing’ <b>and</b> Bogus” Title",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/decorations_NoNormalWithoutDecoration.txt view
@@ -0,0 +1,53 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+His Anonymous Life+<i>His Anonymous Life</i>+<i><span style="font-style:normal;">His Anonymous Life</span></i>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout font-weight="normal">+ <group delimiter="
">+ <text variable="title" font-style="normal"/>+ <text variable="title" font-style="italic"/>+ <group font-style="italic">+ <text variable="title" font-style="normal"/>+ </group>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/decorations_SimpleFlipFlop.txt view
@@ -0,0 +1,45 @@+>>== MODE ==>>+citation+<<== MODE ==<<++++>>== RESULT ==>>+<i>My <span style="font-style:normal;">Amazing</span> Title</i>+<<== RESULT ==<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text font-style="italic" variable="title" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "item-1",+ "title": "My <i>Amazing</i> Title",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/decorations_SimpleQuotes.txt view
@@ -0,0 +1,45 @@+>>== MODE ==>>+citation+<<== MODE ==<<++++>>== RESULT ==>>+“My title”+<<== RESULT ==<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text quotes="true" value="My title" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "item-1",+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_AddNamesFailure.txt view
@@ -0,0 +1,100 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Smith et al. (1980); Smith et al. (1980)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + et-al-min="3"+ et-al-use-first="1"+ disambiguate-add-names="true">+ <layout delimiter="; ">+ <group delimiter=" ">+ <names delimiter=", " variable="author">+ <name and="symbol" delimiter-precedes-last="never" form="short"/>+ </names>+ <date variable="issued" prefix="(" suffix=")">+ <date-part name="year"/>+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ },+ {+ "family": "Brown",+ "given": "John"+ },+ {+ "family": "Jones",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ },+ {+ "family": "Brown",+ "given": "John"+ },+ {+ "family": "Jones",+ "given": "John"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ },+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_AddNamesFailureWithAddGivenname.txt view
@@ -0,0 +1,101 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Smith et al. (1980); Smith et al. (1980)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + et-al-min="3"+ et-al-use-first="1"+ disambiguate-add-names="true"+ disambiguate-add-givenname="true">+ <layout delimiter="; ">+ <group delimiter=" ">+ <names delimiter=", " variable="author">+ <name and="symbol" delimiter-precedes-last="never" form="short"/>+ </names>+ <date variable="issued" prefix="(" suffix=")">+ <date-part name="year"/>+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ },+ {+ "family": "Brown",+ "given": "John"+ },+ {+ "family": "Jones",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ },+ {+ "family": "Brown",+ "given": "John"+ },+ {+ "family": "Jones",+ "given": "John"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ },+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_AddNamesSuccess.txt view
@@ -0,0 +1,100 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Smith, Brown, et al. (1980); Smith, Beefheart, et al. (1980)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + et-al-min="3"+ et-al-use-first="1"+ disambiguate-add-names="true">+ <layout delimiter="; ">+ <group delimiter=" ">+ <names delimiter=", " variable="author">+ <name and="symbol" delimiter-precedes-last="never" form="short"/>+ </names>+ <date variable="issued" prefix="(" suffix=")">+ <date-part name="year"/>+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ },+ {+ "family": "Brown",+ "given": "John"+ },+ {+ "family": "Jones",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ },+ {+ "family": "Beefheart",+ "given": "Captain"+ },+ {+ "family": "Jones",+ "given": "John"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ },+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_AllNamesBaseNameCountOnFailureIfYearSuffixAvailable.txt view
@@ -0,0 +1,226 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++Under the logic described in the CSL specification, this test passes+before all names have been added at the disambiguate-add-names stage.++We have works authored by the following persons:++Book A (2000) authors+ Devon Dropsy+ Edward Enteritis+ Xavier Fever++Book B (2000) authors+ Devon Dropsy+ Ernie Enteritis+ Yves Fever++We're using the following options:+ et-al-min="3"+ et-al-use-first="1"+ disambiguate-add-names="true"+ disambiguate-add-givenname="true"+ disambiguate-add-year-suffix="true"+ givenname-disambiguation-rule="all-names"++With "all-names" disambiguation, the base form of the names, _before_+the cites are run through disambiguation, will be:++Book A (2000) authors+ Dropsy+ Edward Enteritis+ X. Fever++Book B (2000) authors+ Dropsy+ Ernie Enteritis+ Y. Fever++This is because, under all-names disambiguation, the _names_ must+first be distinguished, throughout the document.++We have an et-al-use-first value of 1, so we start with one name:++Book A (2000) authors+ Dropsy++Book B (2000) authors+ Dropsy++For disambiguate-add-names, we'll add names until the cites clear, if+at all. So we add one name, producing:++Book A (2000) authors+ Dropsy+ Edward Enteritis++Book B (2000) authors+ Dropsy+ Ernie Enteritis++... and the cites clear.+++>>===== RESULT =====>>+Asthma et al. (1990a); Asthma et al. (1990b); Dropsy, Edward Enteritis, et al. (2000); Dropsy, Ernie Enteritis, et al. (2000)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + disambiguate-add-givenname="true"+ disambiguate-add-names="true"+ disambiguate-add-year-suffix="true"+ et-al-min="3"+ et-al-use-first="1"+ givenname-disambiguation-rule="all-names">+ <layout delimiter="; ">+ <names delimiter=", " variable="author">+ <name delimiter=", " form="short" initialize-with="." />+ </names>+ <group prefix=" (" suffix=")">+ <date variable="issued">+ <date-part name="year" />+ </date>+ <text variable="year-suffix" />+ </group>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key variable="author" names-min="2" names-use-first="1"/>+ </sort>+ <layout>+ <text value="bogus"/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Asthma",+ "given": "Albert"+ },+ {+ "family": "Bronchitis",+ "given": "Bosworth"+ },+ {+ "family": "Cold",+ "given": "Crispin"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Asthma",+ "given": "Albert"+ },+ {+ "family": "Bronchitis",+ "given": "Bosworth"+ },+ {+ "family": "Cold",+ "given": "Crispin"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Dropsy",+ "given": "Devon"+ },+ {+ "family": "Enteritis",+ "given": "Edward"+ },+ {+ "family": "Fever",+ "given": "Xavier"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book C",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Dropsy",+ "given": "Devon"+ },+ {+ "family": "Enteritis",+ "given": "Ernie"+ },+ {+ "family": "Fever",+ "given": "Yves"+ }+ ],+ "id": "ITEM-4",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book D",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_AllNamesGenerally.txt view
@@ -0,0 +1,103 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Asthma, Bosworth Bronchitis and C. Cold (1980); Asthma, Beauregarde Bronchitis and O. Cold (1995)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + disambiguate-add-givenname="true"+ disambiguate-add-year-suffix="true"+ givenname-disambiguation-rule="all-names">+ <layout delimiter="; ">+ <names delimiter=", " variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="never" form="short" initialize-with="." />+ </names>+ <group prefix=" (" suffix=")">+ <date variable="issued">+ <date-part name="year" />+ </date>+ <text variable="year-suffix" />+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Asthma",+ "given": "Albert"+ },+ {+ "family": "Bronchitis",+ "given": "Bosworth"+ },+ {+ "family": "Cold",+ "given": "Crispin"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1980"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Asthma",+ "given": "Albert"+ },+ {+ "family": "Bronchitis",+ "given": "Beauregarde"+ },+ {+ "family": "Cold",+ "given": "Odeous"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1995"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_AllNamesSimpleSequence.txt view
@@ -0,0 +1,88 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++## 2013-04-17 :: Frank Bennett <biercenator@gmail.com>++ This test previously had no givenname-disambiguation-rule attribute.+ It has been added because the CSL specification requires processors+ to adopt by-cite disambiguation as the default.+++>>===== RESULT =====>>+(Nolan J. Malone 2001; Kemp Malone 1951)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + disambiguate-add-givenname="true" givenname-disambiguation-rule="all-names">+ <layout delimiter="; " prefix="(" suffix=")">+ <group delimiter=" ">+ <names delimiter=", " variable="author">+ <name and="text" delimiter=", " form="short" />+ </names>+ <date variable="issued">+ <date-part name="year" />+ </date>+ <text variable="year-suffix" />+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Malone",+ "given": "Nolan J."+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2001"+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Malone",+ "given": "Kemp"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1951"+ ]+ ]+ },+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_AllNamesWithInitialsBibliography.txt view
@@ -0,0 +1,142 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Asthma, A., Bronchitis, B., and Cold, C. (1980)</div>+ <div class="csl-entry">Asthma, A., Bronchitis, B., and Cold, O. (1995)</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" default-locale="en-GB">+ <info>+ <title>Harvard - Coventry University</title>+ <title-short>CU Harvard</title-short>+ <id>http://www.zotero.org/styles/harvard-coventry-university-test</id>+ <author>+ <name>Chris Hastie</name>+ <uri>http://www.oak-wood.co.uk</uri>+ </author>+ <category citation-format="author-date"/>+ <category field="generic-base"/>+ <summary>The Harvard author-date style - adapted for use at Coventry University. See usage notes at http://www.oak-wood.co.uk/oss/coventry-harvard-csl</summary>+ <updated>2013-11-11T13:19:48+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" and="text" sort-separator=", " initialize-with="." delimiter=", "/>+ <label form="short" prefix=" " strip-periods="false"/>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", " initialize-with=". "/>+ </names>+ </macro>+ <macro name="year-date">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-givenname="true" givenname-disambiguation-rule="all-names-with-initials" name-as-sort-order="all" collapse="year">+ <layout prefix="(" suffix=")" delimiter=", ">+ <group delimiter=" ">+ <text macro="author-short"/>+ <text macro="year-date"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true">+ <sort>+ <key macro="author"/>+ <key macro="year-date" sort="ascending"/>+ <key variable="title"/>+ </sort>+ <layout>+ <group delimiter=" ">+ <text macro="author"/>+ <text macro="year-date" prefix="(" suffix=")"/>+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Asthma",+ "given": "Albert"+ },+ {+ "family": "Bronchitis",+ "given": "Bosworth"+ },+ {+ "family": "Cold",+ "given": "Crispin"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1980"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Asthma",+ "given": "Albert"+ },+ {+ "family": "Bronchitis",+ "given": "Beauregarde"+ },+ {+ "family": "Cold",+ "given": "Odeous"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1995"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ }+]+<<===== INPUT =====<<+++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_AllNamesWithInitialsGenerally.txt view
@@ -0,0 +1,103 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Asthma, Bronchitis and C. Cold (1980); Asthma, Bronchitis and O. Cold (1995)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + disambiguate-add-givenname="true"+ disambiguate-add-year-suffix="true"+ givenname-disambiguation-rule="all-names-with-initials">+ <layout delimiter="; ">+ <names delimiter=", " variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="never" form="short" initialize-with="." />+ </names>+ <group prefix=" (" suffix=")">+ <date variable="issued">+ <date-part name="year" />+ </date>+ <text variable="year-suffix" />+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Asthma",+ "given": "Albert"+ },+ {+ "family": "Bronchitis",+ "given": "Bosworth"+ },+ {+ "family": "Cold",+ "given": "Crispin"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1980"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Asthma",+ "given": "Albert"+ },+ {+ "family": "Bronchitis",+ "given": "Beauregarde"+ },+ {+ "family": "Cold",+ "given": "Odeous"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1995"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_AndreaEg1a.txt view
@@ -0,0 +1,193 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++## 2013-04-17 :: Frank Bennett <biercenator@gmail.com>++ This test has been recast in three forms, with:++ (1) disambiguate-add-names="true" disambiguate-add-givenname="true"+ (2) disambiguate-add-names="true"+ (3) disambiguate-add-givenname="true"++ This version is (2).+++>>===== RESULT =====>>+Smith, Brown, et al. (1980); Smith, Brown, et al. (1980)+Smith, Brown, et al. (1980); Smith, Benson, et al. (1980)+Smith, Brown, et al. (1980); Smith, Brown, et al. (1980)+<<===== RESULT =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-3"+ }+ ],+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-4"+ }+ ]+]+<<===== CITATION-ITEMS =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + et-al-min="3"+ et-al-use-first="1"+ disambiguate-add-names="true">++ <layout delimiter="; ">+ <group delimiter=" ">+ <names delimiter=", " variable="author">+ <name initialize-with=". " and="symbol" delimiter-precedes-last="never" form="short"/>+ </names>+ <date variable="issued" prefix="(" suffix=")">+ <date-part name="year"/>+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }, + {+ "family": "Brown", + "given": "John"+ }, + {+ "family": "Jones", + "given": "John"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ }, + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }, + {+ "family": "Brown", + "given": "John"+ }, + {+ "family": "Jones", + "given": "John"+ }+ ], + "id": "ITEM-2", + "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ }, + "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ },+ {+ "family": "Benson",+ "given": "John"+ },+ {+ "family": "Jones",+ "given": "John"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }, + {+ "family": "Brown", + "given": "John"+ }, + {+ "family": "Jones", + "given": "Arthur"+ }+ ], + "id": "ITEM-4", + "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ }, + "type": "book"+ }+]+<<===== INPUT =====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_AndreaEg1b.txt view
@@ -0,0 +1,194 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Smith, Brown & J. Jones (1980); Smith, Brown & J. Jones (1980)+Smith, Brown & J. Jones (1980); Smith, Benson, et al. (1980)+Smith, Brown & J. Jones (1980); Smith, Brown & A. Jones (1980)+<<===== RESULT =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-3"+ }+ ],+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-4"+ }+ ]+]+<<===== CITATION-ITEMS =====<<++## 2013-04-17 :: Frank Bennett <biercenator@gmail.com>++ This test has been recast in three forms, with:++ (1) disambiguate-add-names="true" disambiguate-add-givenname="true" (default by-cite rule)+ (2) disambiguate-add-names="true"+ (3) disambiguate-add-givenname="true"++ This version is (1).++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + et-al-min="3"+ et-al-use-first="1"+ disambiguate-add-names="true"+ disambiguate-add-givenname="true">++ <layout delimiter="; ">+ <group delimiter=" ">+ <names delimiter=", " variable="author">+ <name initialize-with=". " and="symbol" delimiter-precedes-last="never" form="short"/>+ </names>+ <date variable="issued" prefix="(" suffix=")">+ <date-part name="year"/>+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }, + {+ "family": "Brown", + "given": "John"+ }, + {+ "family": "Jones", + "given": "John"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ }, + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }, + {+ "family": "Brown", + "given": "John"+ }, + {+ "family": "Jones", + "given": "John"+ }+ ], + "id": "ITEM-2", + "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ }, + "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ },+ {+ "family": "Benson",+ "given": "John"+ },+ {+ "family": "Jones",+ "given": "John"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }, + {+ "family": "Brown", + "given": "John"+ }, + {+ "family": "Jones", + "given": "Arthur"+ }+ ], + "id": "ITEM-4", + "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ }, + "type": "book"+ }+]+<<===== INPUT =====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_AndreaEg1c.txt view
@@ -0,0 +1,195 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++## 2013-04-17 :: Frank Bennett <biercenator@gmail.com>++ This test has been recast in three forms, with:++ (1) disambiguate-add-names="true" disambiguate-add-givenname="true" (default by-cite rule)+ (2) disambiguate-add-names="true"+ (3) disambiguate-add-givenname="true"++ This version is (3).++ The result would be useless in this case, but it is what the style+ has been set to deliver.++>>===== RESULT =====>>+Smith et al. (1980); Smith et al. (1980)+Smith et al. (1980); Smith et al. (1980)+Smith et al. (1980); Smith et al. (1980)+<<===== RESULT =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-3"+ }+ ],+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-4"+ }+ ]+]+<<===== CITATION-ITEMS =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + et-al-min="3"+ et-al-use-first="1"+ disambiguate-add-givenname="true">++ <layout delimiter="; ">+ <group delimiter=" ">+ <names delimiter=", " variable="author">+ <name initialize-with=". " and="symbol" delimiter-precedes-last="never" form="short"/>+ </names>+ <date variable="issued" prefix="(" suffix=")">+ <date-part name="year"/>+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }, + {+ "family": "Brown", + "given": "John"+ }, + {+ "family": "Jones", + "given": "John"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ }, + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }, + {+ "family": "Brown", + "given": "John"+ }, + {+ "family": "Jones", + "given": "John"+ }+ ], + "id": "ITEM-2", + "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ }, + "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ },+ {+ "family": "Benson",+ "given": "John"+ },+ {+ "family": "Jones",+ "given": "John"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }, + {+ "family": "Brown", + "given": "John"+ }, + {+ "family": "Jones", + "given": "Arthur"+ }+ ], + "id": "ITEM-4", + "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ }, + "type": "book"+ }+]+<<===== INPUT =====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_AndreaEg2.txt view
@@ -0,0 +1,185 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Smith, Brown & J. Jones (1980); Smith, Brown & J. Jones (1980)+Smith, Brown & J. Jones (1980); Smith, Benson, et al. (1980)+Smith, Brown & J. Jones (1980); Smith, Brown & A. Jones (1980)+<<===== RESULT =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-3"+ }+ ],+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-4"+ }+ ]+]+<<===== CITATION-ITEMS =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + et-al-min="3"+ et-al-use-first="1"+ disambiguate-add-names="true"+ disambiguate-add-givenname="true"+ givenname-disambiguation-rule="all-names">++ <layout delimiter="; ">+ <group delimiter=" ">+ <names delimiter=", " variable="author">+ <name initialize-with=". " and="symbol" delimiter-precedes-last="never" form="short"/>+ </names>+ <date variable="issued" prefix="(" suffix=")">+ <date-part name="year"/>+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }, + {+ "family": "Brown", + "given": "John"+ }, + {+ "family": "Jones", + "given": "John"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ }, + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }, + {+ "family": "Brown", + "given": "John"+ }, + {+ "family": "Jones", + "given": "John"+ }+ ], + "id": "ITEM-2", + "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ }, + "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ },+ {+ "family": "Benson",+ "given": "John"+ },+ {+ "family": "Jones",+ "given": "John"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }, + {+ "family": "Brown", + "given": "John"+ }, + {+ "family": "Jones", + "given": "Arthur"+ }+ ], + "id": "ITEM-4", + "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ }, + "type": "book"+ }+]+<<===== INPUT =====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_AndreaEg3.txt view
@@ -0,0 +1,185 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+Smith, Brown & J. Jones (1980a); Smith, Brown & J. Jones (1980b)+Smith, Brown & J. Jones (1980a); Smith, Benson, et al. (1980)+Smith, Brown & J. Jones (1980a); Smith, Brown & A. Jones (1980)+<<===== RESULT =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-3"+ }+ ],+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-4"+ }+ ]+]+<<===== CITATION-ITEMS =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + et-al-min="3"+ et-al-use-first="1"+ disambiguate-add-names="true"+ disambiguate-add-givenname="true"+ givenname-disambiguation-rule="all-names"+ disambiguate-add-year-suffix="true">++ <layout delimiter="; ">+ <group delimiter=" ">+ <names delimiter=", " variable="author">+ <name initialize-with=". " and="symbol" delimiter-precedes-last="never" form="short"/>+ </names>+ <date variable="issued" prefix="(" suffix=")">+ <date-part name="year"/>+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }, + {+ "family": "Brown", + "given": "John"+ }, + {+ "family": "Jones", + "given": "John"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ }, + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }, + {+ "family": "Brown", + "given": "John"+ }, + {+ "family": "Jones", + "given": "John"+ }+ ], + "id": "ITEM-2", + "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ }, + "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ },+ {+ "family": "Benson",+ "given": "John"+ },+ {+ "family": "Jones",+ "given": "John"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }, + {+ "family": "Brown", + "given": "John"+ }, + {+ "family": "Jones", + "given": "Arthur"+ }+ ], + "id": "ITEM-4", + "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ }, + "type": "book"+ }+]+<<===== INPUT =====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_AndreaEg4.txt view
@@ -0,0 +1,188 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Smith, Brown & J. Jones (1980); Smith, Brown & J. Jones (1980)+Smith, Brown & J. Jones (1980); Smith, Benson, et al. (1980)+Smith, Brown & J. Jones (1980); Smith, Brown & A. Jones (1980)+<<===== RESULT =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-3"+ }+ ],+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-4"+ }+ ]+]+<<===== CITATION-ITEMS =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="year">+ <date variable="issued" date-parts="year" form="text"/>+ </macro>+ <citation + et-al-min="3"+ et-al-use-first="1"+ disambiguate-add-names="true"+ disambiguate-add-givenname="true"+ givenname-disambiguation-rule="by-cite">++ <layout delimiter="; ">+ <group delimiter=" ">+ <names delimiter=", " variable="author">+ <name initialize-with=". " and="symbol" delimiter-precedes-last="never" form="short"/>+ </names>+ <date variable="issued" prefix="(" suffix=")">+ <date-part name="year"/>+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }, + {+ "family": "Brown", + "given": "John"+ }, + {+ "family": "Jones", + "given": "John"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ }, + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }, + {+ "family": "Brown", + "given": "John"+ }, + {+ "family": "Jones", + "given": "John"+ }+ ], + "id": "ITEM-2", + "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ }, + "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ },+ {+ "family": "Benson",+ "given": "John"+ },+ {+ "family": "Jones",+ "given": "John"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }, + {+ "family": "Brown", + "given": "John"+ }, + {+ "family": "Jones", + "given": "Alan"+ }+ ], + "id": "ITEM-4", + "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ }, + "type": "book"+ }+]+<<===== INPUT =====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_AndreaEg5.txt view
@@ -0,0 +1,189 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Smith, Brown & J. Jones (1980a); Smith, Brown & J. Jones (1980b)+Smith, Brown & J. Jones (1980a); Smith, Benson, et al. (1980)+Smith, Brown & J. Jones (1980a); Smith, Brown & A. Jones (1980)+<<===== RESULT =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-3"+ }+ ],+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-4"+ }+ ]+]+<<===== CITATION-ITEMS =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="year">+ <date variable="issued" date-parts="year" form="text"/>+ </macro>+ <citation + et-al-min="3"+ et-al-use-first="1"+ disambiguate-add-names="true"+ disambiguate-add-givenname="true"+ disambiguate-add-year-suffix="true"+ givenname-disambiguation-rule="by-cite">++ <layout delimiter="; ">+ <group delimiter=" ">+ <names delimiter=", " variable="author">+ <name initialize-with=". " and="symbol" delimiter-precedes-last="never" form="short"/>+ </names>+ <date variable="issued" prefix="(" suffix=")">+ <date-part name="year"/>+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }, + {+ "family": "Brown", + "given": "John"+ }, + {+ "family": "Jones", + "given": "John"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ }, + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }, + {+ "family": "Brown", + "given": "John"+ }, + {+ "family": "Jones", + "given": "John"+ }+ ], + "id": "ITEM-2", + "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ }, + "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ },+ {+ "family": "Benson",+ "given": "John"+ },+ {+ "family": "Jones",+ "given": "John"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }, + {+ "family": "Brown", + "given": "John"+ }, + {+ "family": "Jones", + "given": "Arthur"+ }+ ], + "id": "ITEM-4", + "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ }, + "type": "book"+ }+]+<<===== INPUT =====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_BasedOnEtAlSubsequent.txt view
@@ -0,0 +1,174 @@+This test illustrates a use case for the following rule, discussed on the Zotero forums:++ "When different groups of authors with the same first author and date + occur, they should be cited thus: (Able, Baker & Charles 1986a; Able, + David & Edwards 1986b), then subsequently abbreviated to (Able et al. + 1986a; Able et al. 1986b)."++ "Italicized letters 'a', 'b', 'c', etc., should be added to the date of + papers with the same first authorship and year"++The test illustrates that the first rule can be satisfied with the CSL 0.8+feature set, and the second using the year-suffix text variable introduced+in CSL 0.9. It differs slightly from the example given by the poster+(asplundj) in that the cites do not include author initials, but this conforms+to the cited style guide.+++The discussion can be found at: + http://forums.zotero.org/discussion/5290/collapse-year-suffix/++The style guide containing the rule quoted above can be found +at:+ http://www.wiley.com/bw/submit.asp?ref=0269-8463&site=1+++The point in all of this for implementers is that evaluation of +an in-text key for disambiguation purposes should be based on the +subsequent form of the cite, even if it occurs only once in the +text.+++Frank Bennett+2009-04-14++++>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+(Baur, Fröberg, Baur, et al. 2000<i>a</i>; Baur, Schileyko & Baur 2000<i>b</i>; Doe 2000)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + disambiguate-add-year-suffix="true"+ et-al-min="3"+ et-al-subsequent-min="1"+ et-al-subsequent-use-first="1"+ et-al-use-first="3">+ <layout delimiter="; " prefix="(" suffix=")">+ <names variable="author">+ <name and="symbol" delimiter=", " delimiter-precedes-last="never" form="short" />+ </names>+ <date prefix=" " variable="issued">+ <date-part name="year" />+ </date>+ <text font-style="italic" variable="year-suffix" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Baur",+ "given": "Bruno"+ },+ {+ "family": "Fröberg",+ "given": "Lars"+ },+ {+ "family": "Baur",+ "given": "Anette"+ },+ {+ "family": "Guggenheim",+ "given": "Richard"+ },+ {+ "family": "Haase",+ "given": "Martin"+ }+ ],+ "container-title": "Nordic Journal of Botany",+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "page": "119-128",+ "title": "Ultrastructure of snail grazing damage to calcicolous lichens",+ "type": "article-journal",+ "volume": "20"+ },+ {+ "author": [+ {+ "family": "Baur",+ "given": "Bruno"+ },+ {+ "family": "Schileyko",+ "given": "Anatoly A."+ },+ {+ "family": "Baur",+ "given": "Anette"+ }+ ],+ "container-title": "Journal of Molluscan Studies",+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "page": "285-289",+ "title": "Ecological observations on _Arianta aethiops aethiops_ (Helicidae), a land snail endemic to the South Carpathian mountains, Romania",+ "type": "article-journal",+ "volume": "66"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "container-title": "Journal of Irreproducible Results",+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "page": "5-7",+ "title": "Some bogus title",+ "type": "article-journal",+ "volume": "666"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_BasedOnSubsequentFormWithBackref2.txt view
@@ -0,0 +1,268 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+..[0] John Doe, His Book (2000); John Doe, His Other Book (2001).+..[1] Jane Roe, Her Book (1998).+..[2] Roe, supra note 2.+..[3] Doe, His Book, supra note 1.+>>[4] Roe, supra note 2.+<<===== RESULT =====<<++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-2",+ "citationItems": [+ {+ "id": "ITEM-3"+ }+ ],+ "properties": {+ "noteIndex": 2+ }+ },+ [+ [+ "CITATION-1",+ 1+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-3",+ "citationItems": [+ {+ "id": "ITEM-3"+ }+ ],+ "properties": {+ "noteIndex": 3+ }+ },+ [+ [+ "CITATION-1",+ 1+ ],+ [+ "CITATION-2",+ 2+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-4",+ "citationItems": [+ {+ "id": "ITEM-1"+ }+ ],+ "properties": {+ "noteIndex": 4+ }+ },+ [+ [+ "CITATION-1",+ 1+ ],+ [+ "CITATION-2",+ 2+ ],+ [+ "CITATION-3",+ 3+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-5",+ "citationItems": [+ {+ "id": "ITEM-3"+ }+ ],+ "properties": {+ "noteIndex": 5+ }+ },+ [+ [+ "CITATION-1",+ 1+ ],+ [+ "CITATION-2",+ 2+ ],+ [+ "CITATION-3",+ 3+ ],+ [+ "CITATION-4",+ 4+ ]+ ],+ []+ ]+]+<<===== CITATIONS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; " suffix=".">+ <choose>+ <if position="first">+ <names variable="author">+ <name />+ </names>+ <text prefix=", " variable="title" />+ <date variable="issued">+ <date-part name="year" prefix=" (" suffix=")" />+ </date>+ </if>+ <else-if position="subsequent">+ <names variable="author">+ <name form="short" />+ </names>+ <choose>+ <if disambiguate="true">+ <text prefix=", " variable="title" />+ </if>+ </choose>+ <text prefix=", " suffix=" " value="supra note" />+ <text variable="first-reference-note-number" />+ </else-if>+ <else>+ <text value="FAILED TO MATCH"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe", + "given": "John"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ }, + "title": "His Book", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Doe", + "given": "John"+ }+ ], + "id": "ITEM-2", + "issued": {+ "date-parts": [+ [+ "2001"+ ]+ ]+ }, + "title": "His Other Book", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Roe", + "given": "Jane"+ }+ ], + "id": "ITEM-3", + "issued": {+ "date-parts": [+ [+ "1998"+ ]+ ]+ }, + "title": "Her Book", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Roe", + "given": "Jane"+ }+ ], + "id": "ITEM-4", + "issued": {+ "date-parts": [+ [+ "1999"+ ]+ ]+ }, + "title": "Her Other Book", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_ByCiteBaseNameCountOnFailureIfYearSuffixAvailable.txt view
@@ -0,0 +1,158 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Asthma, Bosworth Bronchitis, et al. (1990); Asthma, Beauregarde Bronchitis, et al. (1990); Dropsy, Edward Enteritis, et al. (2000); Dropsy, Ernie Enteritis, et al. (2000)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + disambiguate-add-givenname="true"+ disambiguate-add-names="true"+ disambiguate-add-year-suffix="true"+ et-al-min="3"+ et-al-use-first="1"+ givenname-disambiguation-rule="by-cite">+ <layout delimiter="; ">+ <names delimiter=", " variable="author">+ <name delimiter=", " form="short" initialize-with="." />+ </names>+ <group prefix=" (" suffix=")">+ <date variable="issued">+ <date-part name="year" />+ </date>+ <text variable="year-suffix" />+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Asthma",+ "given": "Albert"+ },+ {+ "family": "Bronchitis",+ "given": "Bosworth"+ },+ {+ "family": "Cold",+ "given": "Crispin"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Asthma",+ "given": "Albert"+ },+ {+ "family": "Bronchitis",+ "given": "Beauregarde"+ },+ {+ "family": "Cold",+ "given": "Crispin"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Dropsy",+ "given": "Devon"+ },+ {+ "family": "Enteritis",+ "given": "Edward"+ },+ {+ "family": "Fever",+ "given": "Xavier"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book C",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Dropsy",+ "given": "Devon"+ },+ {+ "family": "Enteritis",+ "given": "Ernie"+ },+ {+ "family": "Fever",+ "given": "Yves"+ }+ ],+ "id": "ITEM-4",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book D",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_ByCiteDisambiguateCondition.txt view
@@ -0,0 +1,104 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Doe et al., <i>Book A</i> (2000); Doe et al., <i>Book B</i> (2000)+<<===== RESULT =====<<++++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + disambiguate-add-givenname="true"+ disambiguate-add-names="true"+ et-al-min="2"+ et-al-use-first="1"+ givenname-disambiguation-rule="by-cite">+ <layout delimiter="; ">+ <group delimiter=", ">+ <names variable="author">+ <name and="symbol" delimiter=", " form="short" />+ </names>+ <choose>+ <if disambiguate="true">+ <text font-style="italic" variable="title" />+ </if>+ </choose>+ </group>+ <group prefix=" (" suffix=")">+ <date variable="issued">+ <date-part name="year" />+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_ByCiteGivennameExpandCrossNestedNames.txt view
@@ -0,0 +1,125 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+J. Doe, Jane Roe, Robert Jones; J. Doe, Josephine Roe, et al.; J. Doe, Jane Roe, Richard Jones+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + disambiguate-add-givenname="true"+ disambiguate-add-names="true"+ et-al-min="3"+ et-al-use-first="1"+ givenname-disambiguation-rule="by-cite">+ <layout delimiter="; ">+ <names delimiter=", " variable="author">+ <name delimiter=", " initialize-with="." />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Jones",+ "given": "Robert"+ }+ ],+ "id": "ambigs-12",+ "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ },+ "title": "Book C",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Josephine"+ },+ {+ "family": "Jones",+ "given": "Robert"+ }+ ],+ "id": "ambigs-13",+ "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Jones",+ "given": "Richard"+ }+ ],+ "id": "ambigs-14",+ "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_ByCiteGivennameNoShortFormInitializeWith.txt view
@@ -0,0 +1,97 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++Disambiguation by given name, when used with an initialize-with+attribute on the name, will expand initials to full names as+required.++>>===== RESULT =====>>+J Roe+John Doe; Jack Doe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + disambiguate-add-givenname="true"+ givenname-disambiguation-rule="by-cite">+ <layout delimiter="; ">+ <names variable="author">+ <name initialize-with="" />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Roe", + "given": "Jane"+ }+ ], + "id": "ITEM-1", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Doe", + "given": "John"+ }+ ], + "id": "ITEM-2", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Doe", + "given": "Jack"+ }+ ], + "id": "ITEM-3", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_ByCiteGivennameShortFormInitializeWith.txt view
@@ -0,0 +1,136 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++Disambiguation by given name, when used with the short form and an +initialize-with attribute on the name, will add an initial as required.++Edit 2011-01-14:++ Was:+ Disambiguation by full name expansion will not be attempted, and failed+ attempts at disambiguation will fall back to the short form.++ Now:+ By-cite disambiguation will attempt all givenname forms up to full+ expansion. To restrain expansion at the initialized form, we will+ need a separate disambiguation rule.++>>===== RESULT =====>>+Roe+J Doe; A Doe+Thomas Smith; Ted Smith+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + disambiguate-add-givenname="true"+ givenname-disambiguation-rule="by-cite">+ <layout delimiter="; ">+ <names variable="author">+ <name form="short" initialize-with="" />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ }+ ],+ [+ {+ "id": "ITEM-4"+ },+ {+ "id": "ITEM-5"+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Roe", + "given": "Jane"+ }+ ], + "id": "ITEM-1", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Doe", + "given": "John"+ }+ ], + "id": "ITEM-2", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Doe", + "given": "Aloysius"+ }+ ], + "id": "ITEM-3", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "Thomas"+ }+ ], + "id": "ITEM-4", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "Ted"+ }+ ], + "id": "ITEM-5", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_ByCiteGivennameShortFormNoInitializeWith.txt view
@@ -0,0 +1,97 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++Disambiguation by given name, when used with the short form alone+(without an initialize-with attribute on the name) will add a full+name as required.++>>===== RESULT =====>>+Roe+John Doe; Aloysius Doe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + disambiguate-add-givenname="true"+ givenname-disambiguation-rule="by-cite">+ <layout delimiter="; ">+ <names variable="author">+ <name form="short" />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Roe", + "given": "Jane"+ }+ ], + "id": "ITEM-1", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Doe", + "given": "John"+ }+ ], + "id": "ITEM-2", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Doe", + "given": "Aloysius"+ }+ ], + "id": "ITEM-3", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_ByCiteIncremental1.txt view
@@ -0,0 +1,513 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+(Baines, Lightfoot, Benedettini, et al., 2009)+(Baines, Lightfoot and Kay, 2009)+(Grubic et al., 2009)+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" default-locale="en-US">+ <info>+ <title>Emerald journals (Harvard)</title>+ <id>http://www.zotero.org/styles/emerald-harvard</id>+ <link href="http://www.zotero.org/styles/emerald-harvard" rel="self"/>+ <link href="http://www.emeraldinsight.com/authors/guides/write/harvard.htm?part=2" rel="documentation"/>+ <author>+ <name>Sebastian Karcher</name>+ </author>+ <contributor>+ <name>Bruce D'Arcus</name>+ </contributor>+ <contributor>+ <name>Curtis M. Humphrey</name>+ </contributor>+ <contributor>+ <name>Richard Karnesky</name>+ <email>karnesky+zotero@gmail.com</email>+ <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>+ </contributor>+ <contributor>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </contributor>+ <category citation-format="author-date"/>+ <category field="generic-base"/>+ <updated>2012-09-27T22:06:38+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale>+ <style-options punctuation-in-quote="false"/>+ </locale>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text term="in" suffix=" "/>+ <names variable="editor translator" delimiter="," suffix=",">+ <name and="text" initialize-with="." delimiter=", " delimiter-precedes-last="never" name-as-sort-order="all" sort-separator=", "/>+ <label form="short" prefix=" (" text-case="capitalize-first" suffix=")"/>+ </names>+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if type="chapter paper-conference" match="none">+ <names variable="editor translator" delimiter="," prefix=" (" suffix=")">+ <name and="text" initialize-with="." delimiter=", " delimiter-precedes-last="never" name-as-sort-order="all" sort-separator=", "/>+ <label form="short" prefix="," text-case="capitalize-first"/>+ </names>+ </if>+ </choose>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" and="text" sort-separator=", " initialize-with="." delimiter=", " delimiter-precedes-last="never"/>+ <label form="short" prefix=" (" suffix=".)" text-case="capitalize-first" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", " initialize-with="." delimiter-precedes-last="never"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <choose>+ <if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <text variable="title" form="short" font-style="italic"/>+ </if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <choose>+ <if type="thesis">+ <choose>+ <if variable="archive" match="any">+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="archive" suffix=". "/>+ <text variable="archive_location" prefix=" (" suffix=")"/>+ </group>+ </if>+ <else>+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </else>+ </choose>+ </if>+ <else>+ <choose>+ <if variable="page" match="none">+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix="doi:"/>+ </if>+ <else>+ <choose>+ <if type="webpage">+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <date variable="accessed" suffix=", ">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ <group>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </group>+ </if>+ <else>+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </else>+ </choose>+ </else>+ </choose>+ </if>+ </choose>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if type="report thesis" match="any">+ <text variable="title" font-style="italic"/>+ <group prefix=" (" suffix=")">+ <text variable="genre"/>+ <text variable="number" prefix=" No. "/>+ </group>+ </if>+ <else-if type="bill book graphic legal_case legislation manuscript motion_picture report song speech" match="any">+ <text variable="title" font-style="italic"/>+ </else-if>+ <else>+ <text variable="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <choose>+ <if type="report" match="any">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </if>+ <else-if type="thesis" match="any">+ <group delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </else-if>+ <else>+ <choose>+ <if variable="event" match="none">+ <text variable="genre" suffix=", "/>+ </if>+ </choose>+ <group delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="event">+ <choose>+ <if variable="event">+ <choose>+ <if variable="genre" match="none">+ <text term="presented at" text-case="capitalize-first" suffix=" "/>+ <text variable="event"/>+ </if>+ <else>+ <group delimiter="">+ <text variable="genre" text-case="capitalize-first"/>+ <text term="presented at"/>+ <text variable="event"/>+ </group>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issued">+ <choose>+ <if variable="issued">+ <group prefix=" (" suffix="),">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <choose>+ <if type="article-journal bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="none">+ <date variable="issued">+ <date-part prefix="," name="month"/>+ <date-part prefix="" name="day"/>+ </date>+ </if>+ </choose>+ </group>+ </if>+ <else>+ <text prefix=" (" term="no date" suffix=")." form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="issued-year">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter="">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal article-magazine article-newspaper" match="any">+ <group delimiter=", ">+ <group>+ <text variable="volume" prefix="Vol. "/>+ <text variable="issue" prefix=" No. "/>+ </group>+ <group>+ <label variable="page" form="short" suffix=" "/>+ <text variable="page"/>+ </group>+ </group>+ </if>+ <else-if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="any">+ <group prefix="" suffix="" delimiter=", ">+ <text macro="edition"/>+ <group>+ <text term="volume" form="short" plural="true" text-case="capitalize-first" suffix=". " strip-periods="true"/>+ <number variable="number-of-volumes" form="numeric" prefix="1-"/>+ </group>+ <group>+ <text term="volume" form="short" text-case="capitalize-first" suffix=". " strip-periods="true"/>+ <number variable="volume" form="numeric"/>+ </group>+ <group>+ <label variable="page" form="short" suffix=" "/>+ <text variable="page"/>+ </group>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="citation-locator">+ <group>+ <label variable="locator" form="short"/>+ <text variable="locator" prefix=" "/>+ </group>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" collapse="year">+ <sort>+ <key macro="author"/>+ <key macro="issued-year"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <text macro="author-short"/>+ <text macro="issued-year"/>+ <text macro="citation-locator"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="8" et-al-use-first="7" entry-spacing="0" line-spacing="2">+ <sort>+ <key macro="author"/>+ <key macro="issued-year" sort="ascending"/>+ </sort>+ <layout>+ <group suffix=".">+ <text macro="author" suffix="."/>+ <text macro="issued" suffix=" "/>+ <group delimiter=", ">+ <text macro="title"/>+ <group>+ <text macro="container-contributors"/>+ <text macro="secondary-contributors"/>+ <group delimiter=", ">+ <text variable="container-title" font-style="italic"/>+ <text variable="collection-title"/>+ </group>+ </group>+ </group>+ <group delimiter=", " prefix=", ">+ <text macro="event"/>+ <text macro="publisher"/>+ <text macro="locators"/>+ </group>+ </group>+ <text macro="access" prefix=". "/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "URL": "http://www.emeraldinsight.com/journals.htm?articleid=1795171&show=abstract",+ "accessed": {+ "date-parts": [+ [+ "2013",+ 1,+ 30+ ]+ ],+ "season": "22:56:08"+ },+ "author": [+ {+ "family": "Baines",+ "given": "T. S."+ },+ {+ "family": "Lightfoot",+ "given": "H. W."+ },+ {+ "family": "Benedettini",+ "given": "O."+ },+ {+ "family": "Kay",+ "given": "J. M."+ }+ ],+ "container-title": "Journal of Manufacturing Technology Management",+ "id": "ITEM-1",+ "issue": "5",+ "issued": {+ "date-parts": [+ [+ "2009"+ ]+ ]+ },+ "key": "T44568NT",+ "page": "547–567",+ "source": "Google Scholar",+ "title": "The servitization of manufacturing: a review of literature and reflection on future challenges",+ "title-short": "The servitization of manufacturing",+ "type": "article-journal",+ "volume": "20"+ },+ {+ "DOI": "10.1243/09544054JEM1552",+ "ISSN": "0954-4054, 2041-2975",+ "URL": "http://pib.sagepub.com/content/223/9/1207",+ "accessed": {+ "date-parts": [+ [+ "2013",+ 1,+ 30+ ]+ ],+ "season": "22:38:38"+ },+ "author": [+ {+ "family": "Baines",+ "given": "T. S."+ },+ {+ "family": "Lightfoot",+ "given": "H. W."+ },+ {+ "family": "Kay",+ "given": "J. M."+ }+ ],+ "container-title": "Proceedings of the Institution of Mechanical Engineers, Part B: Journal of Engineering Manufacture",+ "id": "ITEM-2",+ "issue": "9",+ "issued": {+ "date-parts": [+ [+ "2009",+ 9,+ 1+ ]+ ]+ },+ "journalAbbreviation": "Proceedings of the Institution of Mechanical Engineers, Part B: Journal of Engineering Manufacture",+ "key": "BZ6F9U6V",+ "language": "en",+ "page": "1207-1215",+ "source": "pib.sagepub.com",+ "title": "Servitized manufacture: Practical challenges of delivering integrated products and services",+ "title-short": "Servitized manufacture",+ "type": "article-journal",+ "volume": "223"+ },+ {+ "URL": "http://72.27.231.73/sites/phmsociety.org/files/phm_submission/2009/phmc_09_49.pdf",+ "accessed": {+ "date-parts": [+ [+ "2012",+ 10,+ 22+ ]+ ]+ },+ "author": [+ {+ "family": "Grubic",+ "given": "T."+ },+ {+ "family": "Jennions",+ "given": "I."+ },+ {+ "family": "Baines",+ "given": "T. S."+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ "2009"+ ]+ ]+ },+ "key": "3GG82XQE",+ "source": "Google Scholar",+ "title": "The Interaction of PSS and PHM-a mutual benefit case",+ "type": "paper-conference"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_ByCiteIncremental2.txt view
@@ -0,0 +1,458 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+(Baines, Lightfoot, Benedettini, et al., 2009; Baines, Lightfoot and Kay, 2009)+<<===== RESULT =====<<++++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" default-locale="en-US">+ <info>+ <title>Emerald journals (Harvard)</title>+ <id>http://www.zotero.org/styles/emerald-harvard</id>+ <link href="http://www.zotero.org/styles/emerald-harvard" rel="self"/>+ <link href="http://www.emeraldinsight.com/authors/guides/write/harvard.htm?part=2" rel="documentation"/>+ <author>+ <name>Sebastian Karcher</name>+ </author>+ <contributor>+ <name>Bruce D'Arcus</name>+ </contributor>+ <contributor>+ <name>Curtis M. Humphrey</name>+ </contributor>+ <contributor>+ <name>Richard Karnesky</name>+ <email>karnesky+zotero@gmail.com</email>+ <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>+ </contributor>+ <contributor>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </contributor>+ <category citation-format="author-date"/>+ <category field="generic-base"/>+ <updated>2012-09-27T22:06:38+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale>+ <style-options punctuation-in-quote="false"/>+ </locale>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text term="in" suffix=" "/>+ <names variable="editor translator" delimiter="," suffix=",">+ <name and="text" initialize-with="." delimiter=", " delimiter-precedes-last="never" name-as-sort-order="all" sort-separator=", "/>+ <label form="short" prefix=" (" text-case="capitalize-first" suffix=")"/>+ </names>+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if type="chapter paper-conference" match="none">+ <names variable="editor translator" delimiter="," prefix=" (" suffix=")">+ <name and="text" initialize-with="." delimiter=", " delimiter-precedes-last="never" name-as-sort-order="all" sort-separator=", "/>+ <label form="short" prefix="," text-case="capitalize-first"/>+ </names>+ </if>+ </choose>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" and="text" sort-separator=", " initialize-with="." delimiter=", " delimiter-precedes-last="never"/>+ <label form="short" prefix=" (" suffix=".)" text-case="capitalize-first" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", " initialize-with="." delimiter-precedes-last="never"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <choose>+ <if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <text variable="title" form="short" font-style="italic"/>+ </if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <choose>+ <if type="thesis">+ <choose>+ <if variable="archive" match="any">+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="archive" suffix=". "/>+ <text variable="archive_location" prefix=" (" suffix=")"/>+ </group>+ </if>+ <else>+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </else>+ </choose>+ </if>+ <else>+ <choose>+ <if variable="page" match="none">+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix="doi:"/>+ </if>+ <else>+ <choose>+ <if type="webpage">+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <date variable="accessed" suffix=", ">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ <group>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </group>+ </if>+ <else>+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </else>+ </choose>+ </else>+ </choose>+ </if>+ </choose>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if type="report thesis" match="any">+ <text variable="title" font-style="italic"/>+ <group prefix=" (" suffix=")">+ <text variable="genre"/>+ <text variable="number" prefix=" No. "/>+ </group>+ </if>+ <else-if type="bill book graphic legal_case legislation manuscript motion_picture report song speech" match="any">+ <text variable="title" font-style="italic"/>+ </else-if>+ <else>+ <text variable="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <choose>+ <if type="report" match="any">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </if>+ <else-if type="thesis" match="any">+ <group delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </else-if>+ <else>+ <choose>+ <if variable="event" match="none">+ <text variable="genre" suffix=", "/>+ </if>+ </choose>+ <group delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="event">+ <choose>+ <if variable="event">+ <choose>+ <if variable="genre" match="none">+ <text term="presented at" text-case="capitalize-first" suffix=" "/>+ <text variable="event"/>+ </if>+ <else>+ <group delimiter="">+ <text variable="genre" text-case="capitalize-first"/>+ <text term="presented at"/>+ <text variable="event"/>+ </group>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issued">+ <choose>+ <if variable="issued">+ <group prefix=" (" suffix="),">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <choose>+ <if type="article-journal bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="none">+ <date variable="issued">+ <date-part prefix="," name="month"/>+ <date-part prefix="" name="day"/>+ </date>+ </if>+ </choose>+ </group>+ </if>+ <else>+ <text prefix=" (" term="no date" suffix=")." form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="issued-year">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter="">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal article-magazine article-newspaper" match="any">+ <group delimiter=", ">+ <group>+ <text variable="volume" prefix="Vol. "/>+ <text variable="issue" prefix=" No. "/>+ </group>+ <group>+ <label variable="page" form="short" suffix=" "/>+ <text variable="page"/>+ </group>+ </group>+ </if>+ <else-if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="any">+ <group prefix="" suffix="" delimiter=", ">+ <text macro="edition"/>+ <group>+ <text term="volume" form="short" plural="true" text-case="capitalize-first" suffix=". " strip-periods="true"/>+ <number variable="number-of-volumes" form="numeric" prefix="1-"/>+ </group>+ <group>+ <text term="volume" form="short" text-case="capitalize-first" suffix=". " strip-periods="true"/>+ <number variable="volume" form="numeric"/>+ </group>+ <group>+ <label variable="page" form="short" suffix=" "/>+ <text variable="page"/>+ </group>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="citation-locator">+ <group>+ <label variable="locator" form="short"/>+ <text variable="locator" prefix=" "/>+ </group>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" collapse="year">+ <sort>+ <key macro="author"/>+ <key macro="issued-year"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <text macro="author-short"/>+ <text macro="issued-year"/>+ <text macro="citation-locator"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="8" et-al-use-first="7" entry-spacing="0" line-spacing="2">+ <sort>+ <key macro="author"/>+ <key macro="issued-year" sort="ascending"/>+ </sort>+ <layout>+ <group suffix=".">+ <text macro="author" suffix="."/>+ <text macro="issued" suffix=" "/>+ <group delimiter=", ">+ <text macro="title"/>+ <group>+ <text macro="container-contributors"/>+ <text macro="secondary-contributors"/>+ <group delimiter=", ">+ <text variable="container-title" font-style="italic"/>+ <text variable="collection-title"/>+ </group>+ </group>+ </group>+ <group delimiter=", " prefix=", ">+ <text macro="event"/>+ <text macro="publisher"/>+ <text macro="locators"/>+ </group>+ </group>+ <text macro="access" prefix=". "/>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "URL": "http://www.emeraldinsight.com/journals.htm?articleid=1795171&show=abstract",+ "accessed": {+ "date-parts": [+ [+ "2013",+ 1,+ 30+ ]+ ],+ "season": "22:56:08"+ },+ "author": [+ {+ "family": "Baines",+ "given": "T. S."+ },+ {+ "family": "Lightfoot",+ "given": "H. W."+ },+ {+ "family": "Benedettini",+ "given": "O."+ },+ {+ "family": "Kay",+ "given": "J. M."+ }+ ],+ "container-title": "Journal of Manufacturing Technology Management",+ "id": "ITEM-1",+ "issue": "5",+ "issued": {+ "date-parts": [+ [+ "2009"+ ]+ ]+ },+ "key": "T44568NT",+ "page": "547–567",+ "source": "Google Scholar",+ "title": "The servitization of manufacturing: a review of literature and reflection on future challenges",+ "title-short": "The servitization of manufacturing",+ "type": "article-journal",+ "volume": "20"+ },+ {+ "DOI": "10.1243/09544054JEM1552",+ "ISSN": "0954-4054, 2041-2975",+ "URL": "http://pib.sagepub.com/content/223/9/1207",+ "accessed": {+ "date-parts": [+ [+ "2013",+ 1,+ 30+ ]+ ],+ "season": "22:38:38"+ },+ "author": [+ {+ "family": "Baines",+ "given": "T. S."+ },+ {+ "family": "Lightfoot",+ "given": "H. W."+ },+ {+ "family": "Kay",+ "given": "J. M."+ }+ ],+ "container-title": "Proceedings of the Institution of Mechanical Engineers, Part B: Journal of Engineering Manufacture",+ "id": "ITEM-2",+ "issue": "9",+ "issued": {+ "date-parts": [+ [+ "2009",+ 9,+ 1+ ]+ ]+ },+ "journalAbbreviation": "Proceedings of the Institution of Mechanical Engineers, Part B: Journal of Engineering Manufacture",+ "key": "BZ6F9U6V",+ "language": "en",+ "page": "1207-1215",+ "source": "pib.sagepub.com",+ "title": "Servitized manufacture: Practical challenges of delivering integrated products and services",+ "title-short": "Servitized manufacture",+ "type": "article-journal",+ "volume": "223"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_ByCiteIsDefault.txt view
@@ -0,0 +1,346 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+(Hall and Thelen, 2009)+(Steinmo et al., 1992)+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="never" default-locale="en-US">+ <info>+ <title>Elsevier Harvard (with titles)</title>+ <id>http://www.zotero.org/styles/elsevier-harvard</id>+ <link href="http://www.zotero.org/styles/elsevier-harvard" rel="self"/>+ <link href="http://www.zotero.org/styles/ecology-letters" rel="template"/>+ <link href="http://www.elsevier.com/journals/biological-conservation/0006-3207/guide-for-authors#68000" rel="documentation"/>+ <author>+ <name>David Kaplan</name>+ <email>david.kaplan@ird.fr</email>+ </author>+ <contributor>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </contributor>+ <contributor>+ <name>Bruce D'Arcus</name>+ </contributor>+ <contributor>+ <name>Curtis M. Humphrey</name>+ </contributor>+ <contributor>+ <name>Richard Karnesky</name>+ <email>karnesky+zotero@gmail.com</email>+ <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>+ </contributor>+ <contributor>+ <name>Sebastian Karcher</name>+ </contributor>+ <category citation-format="author-date"/>+ <category field="biology"/>+ <category field="generic-base"/>+ <updated>2012-09-27T22:06:38+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <macro name="container">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text term="in" text-case="lowercase" prefix=", " suffix=": "/>+ <names variable="editor translator" delimiter=", " suffix=", ">+ <name name-as-sort-order="all" sort-separator=", " initialize-with="." delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" text-case="capitalize-first" prefix=" (" suffix=")"/>+ </names>+ <group delimiter=", ">+ <text variable="container-title" text-case="title"/>+ <text variable="collection-title" text-case="title"/>+ </group>+ </if>+ <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <group prefix=", " delimiter=", ">+ <text variable="container-title"/>+ <text variable="collection-title"/>+ </group>+ </else-if>+ <else>+ <group prefix=". " delimiter=", ">+ <text variable="container-title" form="short"/>+ <text variable="collection-title"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" sort-separator=", " initialize-with="." delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=" (" suffix=")" text-case="capitalize-first"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <choose>+ <if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <text variable="title" form="short" font-style="italic"/>+ </if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <choose>+ <if type="webpage">+ <group delimiter=" ">+ <text value="URL"/>+ <text variable="URL"/>+ <group prefix="(" suffix=").">+ <text term="accessed" suffix=" "/>+ <date variable="accessed">+ <date-part name="month" form="numeric" suffix="."/>+ <date-part name="day" suffix="."/>+ <date-part name="year" form="short"/>+ </date>+ </group>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if type="report thesis" match="any">+ <text variable="title"/>+ <group prefix=" (" suffix=")">+ <text variable="genre"/>+ <text variable="number" prefix=" No. "/>+ </group>+ </if>+ <else-if type="bill book graphic legal_case legislation motion_picture report song speech" match="any">+ <text variable="title"/>+ <text macro="edition" prefix=", "/>+ </else-if>+ <else-if type="webpage">+ <text variable="title"/>+ <text value="WWW Document" prefix=" [" suffix="]"/>+ </else-if>+ <else>+ <text variable="title"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <group delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </macro>+ <macro name="event">+ <choose>+ <if variable="event">+ <text term="presented at" text-case="capitalize-first" suffix=" "/>+ <text variable="event"/>+ </if>+ </choose>+ </macro>+ <macro name="issued">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <group delimiter=" ">+ <choose>+ <if is-numeric="edition">+ <number variable="edition" form="ordinal"/>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ <text value="ed"/>+ </group>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal article-magazine article-newspaper" match="any">+ <group prefix=" " delimiter=", ">+ <group>+ <text variable="volume"/>+ </group>+ <text variable="page"/>+ </group>+ </if>+ <else-if type="bill book graphic legal_case legislation motion_picture report song thesis" match="any">+ <group delimiter=", " prefix=". ">+ <text macro="event"/>+ <text macro="publisher"/>+ </group>+ </else-if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=", " prefix=". ">+ <text macro="event"/>+ <text macro="publisher"/>+ <group>+ <label variable="page" form="short" suffix=" "/>+ <text variable="page"/>+ </group>+ </group>+ </else-if>+ </choose>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" disambiguate-add-givenname="true" disambiguate-add-year-suffix="true" collapse="year" cite-group-delimiter=", " givenname-disambiguation-rule="by-cite">+ <sort>+ <key macro="author"/>+ <key macro="issued" sort="descending"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <text macro="author-short"/>+ <text macro="issued"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" entry-spacing="0" line-spacing="1">+ <sort>+ <key macro="author"/>+ <key macro="issued" sort="ascending"/>+ </sort>+ <layout>+ <group suffix=".">+ <text macro="author" suffix=","/>+ <text macro="issued" prefix=" "/>+ <group prefix=". ">+ <text macro="title"/>+ <text macro="container"/>+ <text macro="locators"/>+ </group>+ </group>+ <text macro="access" prefix=". "/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "DOI": "10.1093/ser/mwn020",+ "URL": "http://ser.oxfordjournals.org/cgi/content/abstract/7/1/7",+ "abstract": "Contemporary approaches to varieties to capitalism are often criticized for neglecting issues of institutional change. This paper develops an approach to institutional change more extended than the one provided in Hall and Soskice (in Varieties of Capitalism: The Institutional Foundations of Comparative Advantage, Oxford, Oxford University Press, 2001) but congruent with its varieties-of-capitalism perspective. It begins by outlining an approach to institutional stability, which suggests that the persistence of institutions depends not only on their aggregate welfare effects but also on the distributive benefits that they provide to the underlying social or political coalitions; and not only on the Pareto-optimal quality of such equilibria but also on continuous processes of mobilization through which the actors test the limits of the existing institutions. It then develops an analysis of institutional change that emphasizes the ways in which defection, reinterpretation and reform emerge out of such contestation and assesses the accuracy of this account against recent developments in the political economies of Europe. The paper concludes by outlining the implications of this perspective for contemporary analyses of liberalization in the political economy.",+ "accessed": {+ "date-parts": [+ [+ "2009",+ 2,+ 25+ ]+ ]+ },+ "author": [+ {+ "family": "Hall",+ "given": "Peter A"+ },+ {+ "family": "Thelen",+ "given": "Kathleen A"+ }+ ],+ "container-title": "Socioecon Rev",+ "id": "ITEM-1",+ "issue": "1",+ "issued": {+ "date-parts": [+ [+ "2009",+ 1,+ 1+ ]+ ]+ },+ "key": "7NI2TA9B",+ "page": "7-34",+ "source": "HighWire",+ "title": "Institutional change in varieties of capitalism",+ "type": "article-journal",+ "volume": "7"+ },+ {+ "ISBN": "0521417805",+ "archive-place": "Cambridge [England]",+ "call-number": "JF11 .S77 1992",+ "collection-title": "Cambridge studies in comparative politics",+ "editor": [+ {+ "family": "Steinmo",+ "given": "Sven"+ },+ {+ "family": "Thelen",+ "given": "Kathleen Ann"+ },+ {+ "family": "Longstreth",+ "given": "Frank"+ }+ ],+ "event-place": "Cambridge [England]",+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1992"+ ]+ ]+ },+ "key": "P9VUFEPC",+ "number-of-pages": "257",+ "publisher": "Cambridge University Press",+ "publisher-place": "Cambridge [England]",+ "source": "nucat.library.northwestern.edu Library Catalog",+ "title": "Structuring Politics: Historical Institutionalism in Comparative Analysis",+ "title-short": "Structuring Politics",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_ByCiteMinimalGivennameExpandMinimalNames.txt view
@@ -0,0 +1,107 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+A. Asthma, Brandon Bronchitis, et al.; A. Asthma, Biff Bronchitis, et al.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + disambiguate-add-givenname="true"+ disambiguate-add-names="true"+ et-al-min="3"+ et-al-use-first="1"+ givenname-disambiguation-rule="by-cite">+ <layout delimiter="; ">+ <names variable="author">+ <name delimiter=", " initialize-with="." />+ </names>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key variable="title" />+ </sort>+ <layout>+ <text value="Ignore me" />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Asthma",+ "given": "Albert"+ },+ {+ "family": "Bronchitis",+ "given": "Brandon"+ },+ {+ "family": "Cold",+ "given": "Charles"+ }+ ],+ "id": "ambigs-16",+ "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ },+ "title": "Book M",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Asthma",+ "given": "Albert"+ },+ {+ "family": "Bronchitis",+ "given": "Biff"+ },+ {+ "family": "Cold",+ "given": "Curtis"+ }+ ],+ "id": "ambigs-17",+ "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ },+ "title": "Book M",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_ByCiteRetainNamesOnFailureIfYearSuffixNotAvailable.txt view
@@ -0,0 +1,160 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++This no longer does what the fixture name suggests, because the+names-based disambiguation no longer fails.++>>===== RESULT =====>>+Asthma, Bosworth Bronchitis, et al. (1990); Asthma, Beauregarde Bronchitis, et al. (1990); Dropsy, Edward Enteritis, et al. (2000); Dropsy, Ernie Enteritis, et al. (2000)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + disambiguate-add-givenname="true"+ disambiguate-add-names="true"+ et-al-min="3"+ et-al-use-first="1"+ givenname-disambiguation-rule="by-cite">+ <layout delimiter="; ">+ <names delimiter="[X] " variable="author">+ <name delimiter=", " form="short" initialize-with="." />+ </names>+ <group prefix=" (" suffix=")">+ <date variable="issued">+ <date-part name="year" />+ </date>+ <text variable="year-suffix" />+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Asthma",+ "given": "Albert"+ },+ {+ "family": "Bronchitis",+ "given": "Bosworth"+ },+ {+ "family": "Cold",+ "given": "Crispin"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Asthma",+ "given": "Albert"+ },+ {+ "family": "Bronchitis",+ "given": "Beauregarde"+ },+ {+ "family": "Cold",+ "given": "Crispin"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Dropsy",+ "given": "Devon"+ },+ {+ "family": "Enteritis",+ "given": "Edward"+ },+ {+ "family": "Fever",+ "given": "Xavier"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book C",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Dropsy",+ "given": "Devon"+ },+ {+ "family": "Enteritis",+ "given": "Ernie"+ },+ {+ "family": "Fever",+ "given": "Yves"+ }+ ],+ "id": "ITEM-4",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book D",+ "type": "book"+ }+]+<<===== INPUT =====<<+++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_ByCiteTwoAuthorsSameCite.txt view
@@ -0,0 +1,66 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Collier and Collier+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + disambiguate-add-givenname="true"+ disambiguate-add-year-suffix="true"+ givenname-disambiguation-rule="by-cite">+ <layout delimiter="; ">+ <names delimiter=", " variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="never" form="short" initialize-with="." />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Collier",+ "given": "Ruth Berins"+ },+ {+ "family": "Collier",+ "given": "David"+ }+ ],+ "id": 15895,+ "issued": {+ "date-parts": [+ [+ 2002+ ]+ ]+ },+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_ByCiteTwoAuthorsSameFamilyName.txt view
@@ -0,0 +1,109 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Asthma and Asthma (1980); Bronchitis (1995); Asthma (1885)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + disambiguate-add-givenname="true"+ disambiguate-add-year-suffix="true"+ givenname-disambiguation-rule="by-cite">+ <layout delimiter="; ">+ <names delimiter=", " variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="never" form="short" initialize-with="." />+ </names>+ <group prefix=" (" suffix=")">+ <date variable="issued">+ <date-part name="year" />+ </date>+ <text variable="year-suffix" />+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Asthma",+ "given": "Albert"+ },+ {+ "family": "Asthma",+ "given": "Bridget"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1980"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Bronchitis",+ "given": "Beauregarde"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1995"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Asthma",+ "given": "Albert"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ "1885"+ ]+ ]+ },+ "title": "Book C",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_CitationLabelDefault.txt view
@@ -0,0 +1,95 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Asth00a; Asth00b; Bron00+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + disambiguate-add-year-suffix="true">+ <layout delimiter="; ">+ <text variable="citation-label"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Asthma",+ "given": "Albert"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1900"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Asthma",+ "given": "Zeppo"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1900"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Bronchitis",+ "given": "Buffy"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book C",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_CitationLabelInData.txt view
@@ -0,0 +1,153 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+SpiffLabel1900a; SpiffLabel1900b; Bron00; BrCh98; DEFG26+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + disambiguate-add-year-suffix="true">+ <layout delimiter="; ">+ <text variable="citation-label"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Asthma",+ "given": "Albert"+ }+ ],+ "citation-label": "SpiffLabel1900",+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1900"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Asthma",+ "given": "Zeppo"+ }+ ],+ "citation-label": "SpiffLabel1900",+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Bronchitis",+ "given": "Buffy"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book C",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Bronchitis",+ "given": "Buffy"+ },+ {+ "family": "Cholera",+ "given": "Cleopatra"+ }+ ],+ "id": "ITEM-4",+ "issued": {+ "date-parts": [+ [+ "1998"+ ]+ ]+ },+ "title": "Book D",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "von Dipheria",+ "given": "Doug"+ },+ {+ "family": "Eczema",+ "given": "Elihugh"+ },+ {+ "family": "Flatulence",+ "given": "Frankie"+ },+ {+ "family": "Goiter",+ "given": "Gus"+ },+ {+ "family": "Hiccups",+ "given": "Harvey"+ }+ ],+ "id": "ITEM-5",+ "issued": {+ "date-parts": [+ [+ "1926"+ ]+ ]+ },+ "title": "Book D",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_DifferentSpacingInInitials.txt view
@@ -0,0 +1,69 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Doe, His Anonymous Life (part 1); Doe, His Anonymous Life (part 2)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ disambiguate-add-givenname="true"+ givenname-disambiguation-rule="all-names">+ <layout delimiter="; ">+ <group delimiter=", ">+ <names variable="author">+ <name form="short" initialize-with=". " name-as-sort-order="first" sort-separator=", "/>+ </names>+ <text variable="title"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "J. J."+ }+ ],+ "id": "ITEM-1",+ "title": "His Anonymous Life (part 1)",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "J.J."+ }+ ],+ "id": "ITEM-2",+ "title": "His Anonymous Life (part 2)",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_DisambiguateTrueAndYearSuffixOne.txt view
@@ -0,0 +1,128 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Pollock, 1979+Pollock, 1980+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" default-locale="en-GB">+ <info>+ <title>zzz</title>+ <id>http://www.zotero.org/styles/zzz</id>+ <link href="http://www.zotero.org/styles/zzz" rel="self"/>+ <author>+ <name>zzz</name>+ <email>zzz@gmail.com</email>+ </author>+ <category citation-format="author-date"/>+ <category field="humanities"/>+ <updated>2012-06-29T00:00:00+00:00</updated>+ <summary>The University College London version of Harvard author-date style</summary>+ <link href="http://www.ucl.ac.uk/art-history/current_students/writing-guide/" rel="documentation"/>+ <rights>This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>+ </info>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <choose>+ <if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <text variable="title" form="short" font-style="italic"/>+ </if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </substitute>+ </names>+ </macro>+ <macro name="year-date">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="year-suffix"/>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" disambiguate-add-year-suffix="true">+ <layout>+ <group delimiter=", ">+ <text macro="author-short"/>+ <choose>+ <if disambiguate="true">+ <text variable="title"/>+ </if>+ </choose>+ <text macro="year-date"/>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Pollock",+ "given": "Sir Frederick"+ }+ ],+ "title": "Title One",+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1979+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Pollock",+ "given": "Sir Frederick"+ }+ ],+ "title": "Title Two",+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ },+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_DisambiguateTrueReflectedInBibliography.txt view
@@ -0,0 +1,114 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">Smith, Book One</div>+ <div class="csl-entry">Smith, Book Two</div>+ <div class="csl-entry">Brown</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name form="short" />+ </names>+ </macro>+ <citation>+ <layout delimiter="; ">+ <group delimiter=", ">+ <text macro="author" />+ <choose>+ <if disambiguate="true">+ <text variable="title"/>+ </if>+ </choose>+ </group>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <group delimiter=", ">+ <text macro="author" />+ <choose>+ <if disambiguate="true">+ <text variable="title"/>+ </if>+ </choose>+ </group>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Smith",+ "given": "Alan"+ }+ ],+ "id": "ITEM-1",+ "title": "Book One",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "Alan"+ }+ ],+ "id": "ITEM-2",+ "title": "Book Two",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Brown",+ "given": "Cadbury"+ }+ ],+ "id": "ITEM-3",+ "title": "Book the X",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_DisambiguateWithThree.txt view
@@ -0,0 +1,104 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+(Aalto, <i>Book A</i>)+(Aalto, <i>Book B</i>)+(Aalto, <i>Book C</i>)+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name form="short" />+ </names>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" disambiguate-add-names="true" disambiguate-add-givenname="true">+ <layout prefix="(" suffix=")">+ <group delimiter=", ">+ <text macro="author" />+ <choose>+ <if disambiguate="true">+ <text variable="title" font-style="italic"/>+ </if>+ </choose>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-1",+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-2",+ "title": "Book B",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-3",+ "title": "Book C",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_DisambiguateWithThree2.txt view
@@ -0,0 +1,193 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+(Spivak, <i>A Critique</i>)+(Spivak, “Cultural Talks”)+(Spivak, <i>Death of a Discipline</i>)+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": 55+ }+ ],+ [+ {+ "id": 53+ }+ ],+ [+ {+ "id": 59+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>Modern Language Association</title>+ <id>http://www.zotero.org/styles/mla</id>+ <link href="http://www.zotero.org/styles/mla" rel="self"/>+ <author>+ <name>Ilouise S. Bradford</name>+ <email>isbradford@gmail.com</email>+ </author>+ <contributor>+ <name>Sarah Ficke</name>+ <email>sficke@email.unc.edu</email>+ </contributor>+ <contributor>+ <name>Sebastian Karcher</name>+ <email>karcher@u.northwestern.edu</email>+ </contributor>+ <contributor>+ <name>Christian Werthschulte</name>+ <email>Christian.Werthschulte@rub.de</email>+ </contributor>+ <contributor>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </contributor>+ <contributor>+ <name>James Johnston</name>+ <email>thejamesjohnston@gmail.com</email>+ </contributor>+ <category field="generic-base"/>+ <category citation-format="author"/>+ <link href="http://owl.english.purdue.edu/owl/section/2/11/" rel="documentation"/>+ <updated>2011-05-28T18:16:02+00:00</updated>+ <summary>This style adheres to the MLA 7th edition handbook and contains modifications to these types of sources: e-mail, forum posts, interviews, manuscripts, maps, presentations, TV broadcasts, and web pages.</summary>+ <rights>This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License:+ http://creativecommons.org/licenses/by-sa/3.0/</rights>+ </info>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title-short"/>+ </substitute>+ </names>+ </macro>+ <macro name="title-short">+ <choose>+ <if type="bill book graphic legal_case manuscript motion_picture report song" match="any">+ <text variable="title" form="short" font-style="italic"/>+ </if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </macro>+ <citation disambiguate-add-names="true">+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <text macro="author-short"/>+ <choose>+ <if disambiguate="true">+ <text macro="title-short"/>+ </if>+ </choose>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Spivak",+ "given": "Gayatri Chakravorty"+ }+ ],+ "event-place": "Cambridge, Mass.",+ "id": 55,+ "issued": {+ "date-parts": [+ [+ 1999+ ]+ ]+ },+ "note": "Gayatri Chakravorty Spivak. 25 cm.",+ "publisher": "Harvard University Press",+ "publisher-place": "Cambridge, Mass.",+ "title": "A Critique of Postcolonial Reason: Toward a History of the Vanishing Present",+ "title-short": "A Critique",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Spivak",+ "given": "Gayatri Chakravorty"+ }+ ],+ "container-title": "Cosmopolitics: Thinking and Feeling Beyond the Nation",+ "editor": [+ {+ "family": "Cheah",+ "given": "Pheng"+ },+ {+ "family": "Robbins",+ "given": "Bruce"+ }+ ],+ "event-place": "Minneapolis",+ "id": 53,+ "issued": {+ "date-parts": [+ [+ 1998+ ]+ ]+ },+ "page": "329 - 348",+ "publisher": "University of Minnesota Press",+ "publisher-place": "Minneapolis",+ "title": "Cultural Talks in the 'Hot Peace': Revisiting the Global Village",+ "title-short": "Cultural Talks",+ "type": "chapter"+ },+ {+ "author": [+ {+ "family": "Spivak",+ "given": "Gayatri Chakravorty"+ }+ ],+ "event-place": "New York",+ "id": 59,+ "issued": {+ "date-parts": [+ [+ 2003+ ]+ ]+ },+ "note": "Gayatri Chakravorty Spivak. Crossing borders ― Collectivities ― Planetarity.",+ "publisher": "Columbia University Press",+ "publisher-place": "New York",+ "title": "Death of a Discipline",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_DisambiguationHang.txt view
@@ -0,0 +1,252 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-2",+ "citationItems": [+ {+ "id": "ITEM-2"+ }+ ],+ "properties": {+ "noteIndex": 2+ }+ },+ [+ [+ "CITATION-1",+ 1+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-3",+ "citationItems": [+ {+ "id": "ITEM-3"+ }+ ],+ "properties": {+ "noteIndex": 3+ }+ },+ [+ [+ "CITATION-1",+ 1+ ],+ [+ "CITATION-2",+ 2+ ]+ ],+ []+ ]+]+<<===== CITATIONS =====<<++++Updating all three is correct here, at least on the current+processor design. The logic is not simple.++Disambiguation is based on the subsequent form. In this test case,+the value of et-al-subsequent-min is 3. In the first two insertions,+the Burnod cites come out with one name only, because the list+of names is 3 or greater in length, and adding names contributes+nothing to disambiguation.++When the Urban cite is inserted, the internal parameters are+correctly adjusted to 3 for the first two cites, and that difference+triggers tainting, hence all three cites are queued for updating.++This is not entirely optimal, because in the *rendered* form,+all three insertions will result in five names on the Burnod+cites. However, controlling the redundant update in this case+would require that we code position context adjustments into+the disambiguation module. That is not practicable because+the et-al parameters may vary between name nodes in the CSL.++A clean and precise solution to this is possible, but it doesn't+seem to be worth the candle.++>>===== RESULT =====>>+>>[0] (Caminiti, Johnson, Burnod, Galli, & Ferraina 1990a)+>>[1] (Caminiti, Johnson, Burnod, Galli, & Ferraina 1990b)+>>[2] (Caminiti, Johnson, & Urbano 1990)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + et-al-min="6"+ et-al-use-first="1"+ et-al-subsequent-min="3" + et-al-subsequent-use-first="1" + disambiguate-add-names="true" + disambiguate-add-givenname="true"+ disambiguate-add-year-suffix="true">+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=" ">+ <names variable="author">+ <name form="short" and="symbol"/>+ </names>+ <date variable="issued" form="text" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "type" : "article-journal",+ "id" : "ITEM-1",+ "author": [+ {+ "family": "Caminiti",+ "given": "R"+ },+ {+ "family" : "Johnson",+ "given": "P B"+ },+ {+ "family" : "Burnod",+ "given": "Y"+ },+ {+ "family" : "Galli",+ "given": "C"+ },+ {+ "family" : "Ferraina",+ "given": "S"+ }+ ],+ "issued" : {+ "date-parts" : [+ [1990]+ ]+ }+ },+ {+ "type" : "article-journal",+ "id" : "ITEM-2",+ "author": [+ {+ "family": "Caminiti",+ "given": "R"+ },+ {+ "family" : "Johnson",+ "given": "P B"+ },+ {+ "family" : "Burnod",+ "given": "Y"+ },+ {+ "family" : "Galli",+ "given": "C"+ },+ {+ "family" : "Ferraina",+ "given": "S"+ }+ ],+ "issued" : {+ "date-parts" : [+ [1990]+ ]+ }+ },+ {+ "type" : "article-journal",+ "id" : "ITEM-3",+ "author": [+ {+ "family" : "Caminiti",+ "given": "R"+ },+ {+ "family" : "Johnson",+ "given": "P B"+ },+ {+ "family" : "Urbano",+ "given": "A"+ }+ ],+ "issued" : {+ "date-parts" : [+ [1990,7]+ ]+ }+ },+ {+ "type" : "article-journal",+ "id" : "ITEM-4",+ "author": [+ {+ "family" : "Caminiti",+ "given": "R"+ },+ {+ "family" : "Johnson",+ "given": "P B"+ },+ {+ "family" : "Urbano",+ "given": "A"+ }+ ],+ "issued" : {+ "date-parts" : [+ [1990,7]+ ]+ }+ }+]+<<===== INPUT =====<<++++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_ExtraTextCitation.txt view
@@ -0,0 +1,90 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Bumke, Courtly Culture: Literature and Society in the High Middle Ages+Bumke, Höfische+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation disambiguate-add-givenname="true">+ <layout>+ <group delimiter=", ">+ <names variable="author">+ <name form="short" and="text"/>+ </names>+ <choose>+ <if disambiguate="true">+ <text variable="title"/>+ </if>+ </choose>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Bumke",+ "given": "Joachim"+ }+ ],+ "id": "ITEM-1",+ "title": "Courtly Culture: Literature and Society in the High Middle Ages",+ "translator": [+ {+ "family": "Dunlap",+ "given": "Thomas"+ }+ ],+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Bumke",+ "given": "Joachim"+ }+ ],+ "id": "ITEM-2",+ "title": "Höfische",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_FailWithYearSuffix.txt view
@@ -0,0 +1,507 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+(Caritas Europa et al. 2004a)+(Caritas Europa et al. 2004b)+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" page-range-format="chicago">+ <info>+ <title>Chicago Manual of Style (Author-Date format)</title>+ <id>http://www.zotero.org/styles/chicago-author-date</id>+ <link href="http://www.zotero.org/styles/chicago-author-date" rel="self"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <category citation-format="author-date"/>+ <category field="generic-base"/>+ <updated>2009-12-04T20:22:16+00:00</updated>+ <summary>The author-date variant of the Chicago style</summary>+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>+ </info>+ <macro name="secondary-contributors">+ <choose>+ <if match="none" type="chapter">+ <group delimiter=". ">+ <choose>+ <if variable="author">+ <names variable="editor">+ <label form="verb-short" prefix=" " suffix=". " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names variable="translator">+ <label form="verb-short" prefix=" " suffix=". " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter">+ <group delimiter=", " prefix=",">+ <choose>+ <if variable="author">+ <names variable="editor">+ <label form="verb-short" prefix=" " suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names variable="translator">+ <label form="verb-short" prefix=" " suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="anon">+ <choose>+ <if match="none" variable="author editor translator">+ <text form="short" term="anonymous" text-case="capitalize-first" />+ </if>+ </choose>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="recipient">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ <else>+ <text term="letter" text-case="capitalize-first" />+ </else>+ </choose>+ </if>+ </choose>+ <names delimiter=", " variable="recipient">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="contributors">+ <names variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." text-case="lowercase" />+ <substitute>+ <text macro="editor" />+ <text macro="translator" />+ </substitute>+ </names>+ <text macro="anon" />+ <text macro="recipient" />+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name and="text" delimiter=", " form="short" />+ <substitute>+ <names variable="editor" />+ <names variable="translator" />+ </substitute>+ </names>+ <text macro="anon" />+ </macro>+ <macro name="interviewer">+ <names delimiter=", " variable="interviewer">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="archive">+ <group delimiter=". ">+ <text text-case="capitalize-first" variable="archive_location" />+ <text variable="archive" />+ <text variable="archive-place" />+ </group>+ </macro>+ <macro name="access">+ <group delimiter=". ">+ <choose>+ <if match="any" type="graphic report">+ <text macro="archive" />+ </if>+ <else-if match="none" type="book thesis chapter article-journal article-newspaper article-magazine">+ <text macro="archive" />+ </else-if>+ </choose>+ <text prefix="doi:" variable="DOI" />+ <text variable="URL" />+ </group>+ </macro>+ <macro name="title">+ <choose>+ <if match="none" variable="title">+ <choose>+ <if match="none" type="personal_communication">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ </if>+ <else-if type="book">+ <text font-style="italic" variable="title" />+ </else-if>+ <else>+ <text variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if match="any" type="book chapter">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number form="ordinal" variable="edition" />+ <text form="short" suffix="." term="edition" />+ </group>+ </if>+ <else>+ <text suffix="." variable="edition" form="short"/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <text prefix=" " variable="volume" />+ <text prefix=", no. " variable="issue" />+ </if>+ <else-if type="book">+ <group delimiter=". " prefix=". ">+ <group>+ <text form="short" suffix=". " term="volume" text-case="capitalize-first" />+ <number form="numeric" variable="volume" />+ </group>+ <group>+ <number form="numeric" variable="number-of-volumes" />+ <text form="short" plural="true" prefix=" " suffix="." term="volume" />+ </group>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter">+ <group prefix=", ">+ <text suffix=":" variable="volume" />+ <text variable="page" />+ </group>+ </if>+ </choose>+ </macro>+ <macro name="locators-article">+ <choose>+ <if type="article-newspaper">+ <group delimiter=", " prefix=", ">+ <group>+ <text suffix=" " variable="edition" />+ <text prefix=" " term="edition" />+ </group>+ <group>+ <text form="short" suffix=". " term="section" />+ <text variable="section" />+ </group>+ </group>+ </if>+ <else-if type="article-journal">+ <text prefix=": " variable="page" />+ </else-if>+ </choose>+ </macro>+ <macro name="point-locators">+ <group>+ <choose>+ <if locator="page" match="none">+ <label form="short" suffix=" " variable="locator" />+ </if>+ </choose>+ <text variable="locator" />+ </group>+ </macro>+ <macro name="container-prefix">+ <text term="in" text-case="capitalize-first" />+ </macro>+ <macro name="container-title">+ <choose>+ <if type="chapter">+ <text macro="container-prefix" suffix=" " />+ </if>+ </choose>+ <text font-style="italic" variable="container-title" />+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place" />+ <text variable="publisher" />+ </group>+ </macro>+ <macro name="date">+ <date variable="issued">+ <date-part name="year" />+ </date>+ </macro>+ <macro name="day-month">+ <date variable="issued">+ <date-part name="month" />+ <date-part name="day" prefix=" " />+ </date>+ </macro>+ <macro name="collection-title">+ <text variable="collection-title" />+ <text prefix=" " variable="collection-number" />+ </macro>+ <macro name="event">+ <group>+ <text suffix=" " term="presented at" />+ <text variable="event" />+ </group>+ </macro>+ <macro name="description">+ <group delimiter=". ">+ <text macro="interviewer" />+ <text text-case="capitalize-first" variable="medium" />+ </group>+ <choose>+ <if match="none" variable="title"> </if>+ <else-if type="thesis"> </else-if>+ <else>+ <text prefix=". " text-case="capitalize-first" variable="genre" />+ </else>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="article-journal">+ <text macro="day-month" prefix=" (" suffix=")" />+ </if>+ <else-if type="speech">+ <group delimiter=", " prefix=" ">+ <text macro="event" />+ <text macro="day-month" />+ <text variable="event-place" />+ </group>+ </else-if>+ <else-if match="any" type="article-newspaper article-magazine">+ <text macro="day-month" prefix=", " />+ </else-if>+ <else>+ <group delimiter=", " prefix=". ">+ <choose>+ <if type="thesis">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ <text macro="publisher" />+ <text macro="day-month" />+ </group>+ </else>+ </choose>+ </macro>+ <citation + disambiguate-add-givenname="true"+ disambiguate-add-names="true"+ disambiguate-add-year-suffix="true"+ et-al-min="4"+ et-al-subsequent-min="4"+ et-al-subsequent-use-first="1"+ et-al-use-first="1">+ <layout delimiter="; " prefix="(" suffix=")">+ <group delimiter=", ">+ <group delimiter=" ">+ <text macro="contributors-short" />+ <text macro="date" />+ </group>+ <text macro="point-locators" />+ </group>+ </layout>+ </citation>+ <bibliography + entry-spacing="0"+ et-al-min="11"+ et-al-use-first="7"+ hanging-indent="true"+ subsequent-author-substitute="---">+ <sort>+ <key macro="contributors" />+ <key variable="issued" />+ <key variable="title" />+ </sort>+ <layout suffix=".">+ <text macro="contributors" suffix=". " />+ <text macro="date" suffix=". " />+ <text macro="title" />+ <text macro="description" />+ <text macro="secondary-contributors" prefix=". " />+ <text macro="container-title" prefix=". " />+ <text macro="container-contributors" />+ <text macro="locators-chapter" />+ <text macro="edition" prefix=". " />+ <text macro="locators" />+ <text macro="collection-title" prefix=". " />+ <text macro="issue" />+ <text macro="locators-article" />+ <text macro="access" prefix=". " />+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "URL": "http://www.comece.org/site/en/publications/otherpublications/article/3341.html",+ "accessed": {+ "date-parts": [+ [+ 2012,+ 1,+ 16+ ]+ ]+ },+ "author": [+ {+ "family": "Caritas Europa",+ "isInstitution": "true"+ },+ {+ "family": "CCME",+ "isInstitution": "true"+ },+ {+ "family": "COMECE",+ "isInstitution": "true"+ },+ {+ "family": "ICMC",+ "isInstitution": "true"+ },+ {+ "family": "JRS-Europe",+ "isInstitution": "true"+ },+ {+ "family": "QCEA",+ "isInstitution": "true"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2004",+ 12,+ 18+ ]+ ]+ },+ "title": "Integrating Migrants, Integrating Societies: Essential Elements for EU Migration Policy",+ "type": "article"+ },+ {+ "URL": "http://www.comece.org/site/en/publications/otherpublications/article/3341.html",+ "accessed": {+ "date-parts": [+ [+ 2012,+ 1,+ 16+ ]+ ]+ },+ "author": [+ {+ "family": "Caritas Europa",+ "isInstitution": "true"+ },+ {+ "family": "CCME",+ "isInstitution": "true"+ },+ {+ "family": "COMECE",+ "isInstitution": "true"+ },+ {+ "family": "ICMC",+ "isInstitution": "true"+ },+ {+ "family": "JRS-Europe",+ "isInstitution": "true"+ },+ {+ "family": "QCEA",+ "isInstitution": "true"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "2004",+ 12,+ 18+ ]+ ]+ },+ "title": "Integrating Migrants, Integrating Societies: Essential Elements for EU Migration Policy",+ "type": "article"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_FamilyNameOnly.txt view
@@ -0,0 +1,97 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Blevins2001+Blevins2001+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name form="short" />+ </names>+ </macro>+ <citation givenname-disambiguation-rule="by-cite" disambiguate-add-givenname="true">+ <layout delimiter="; ">+ <names variable="author">+ <name form="short"/>+ </names>+ <date variable="issued" form="text" date-parts="year"/>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Blevins",+ "given": ""+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2001+ ]+ ]+ },+ "title": "Book 1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Blevins",+ "given": ""+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 2001+ ]+ ]+ },+ "title": "Book 2",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_HonorFullnameInBibliography.txt view
@@ -0,0 +1,99 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">Alan Aalto</div>+ <div class="csl-entry">Richard Aalto</div>+ <div class="csl-entry">Old Blevins</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation disambiguate-add-givenname="true">+ <layout delimiter="; ">+ <names variable="author">+ <name form="short" initialize-with="."/>+ </names>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key variable="author" />+ </sort>+ <layout>+ <names variable="author">+ <name/>+ </names>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Blevins",+ "given": "Old"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Richard"+ }+ ],+ "id": "ITEM-3",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_ImplicitYearSuffixOnceOnly.txt view
@@ -0,0 +1,107 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++When year-suffix is implicit (the CSL 0.8.1 legacy mode),+the suffix should be rendered only the first time a date+is printed in the cite.+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">[1990a] Doe, Book A 05/30/1990</div>+ <div class="csl-entry">[1990b] Doe, Book B 05/30/1990</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + disambiguate-add-year-suffix="true">+ <layout delimiter="; " prefix="(" suffix=")">+ <group delimiter=" ">+ <names variable="author">+ <name form="short"/>+ </names>+ <date variable="issued" date-parts="year" form="text"/>+ </group>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <group delimiter=" ">+ <date date-parts="year" form="text" variable="issued" prefix="[" suffix="]"/>+ <group delimiter=", ">+ <names variable="author">+ <name form="short"/>+ </names>+ <text variable="title"/>+ </group>+ <date form="numeric" variable="issued"/>+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1990",+ "5",+ "30"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1990",+ "5",+ "30"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_IncrementalExtraText.txt view
@@ -0,0 +1,147 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Yost Trisk+John Smith, Book One+John Smith, Book Two+John Smith, Complete Works, ed. 5+John Smith, Complete Works, ed. 6+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-0"+ }+ ],+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ],+ [+ {+ "id": "ITEM-4"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <group delimiter=", ">+ <names variable="author">+ <name/>+ </names>+ <choose>+ <if disambiguate="true">+ <text variable="title"/>+ </if>+ </choose>+ <choose>+ <if disambiguate="true">+ <group delimiter=" ">+ <label variable="edition" form="short"/>+ <number variable="edition"/>+ </group>+ </if>+ </choose>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Trisk",+ "given": "Yost"+ }+ ],+ "id": "ITEM-0",+ "title": "Book One",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "edition": "3",+ "id": "ITEM-1",+ "title": "Book One",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "edition": "4",+ "id": "ITEM-2",+ "title": "Book Two",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "edition": "5",+ "id": "ITEM-3",+ "title": "Complete Works",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "edition": "6",+ "id": "ITEM-4",+ "title": "Complete Works",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_InitializeWithButNoDisambiguation.txt view
@@ -0,0 +1,335 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+(Doe, 1965a, 1965b)+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="UTF-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" version="1.0" class="in-text" demote-non-dropping-particle="sort-only" default-locale="en-GB" page-range-format="expanded">+<info>+<title>Imperial College School of Medicine</title>+<link href="http://www.zotero.org/styles/style-title" rel="self"/>+<author>+ <name></name>+ </author>+ <category citation-format="author-date"/>+ <category field="medicine"/>+<id>http://www3.imperial.ac.uk/library/subjectsandsupport/referencemanagement/harvard/references</id>+ <updated>2011-07-19T19:50:00+01:00</updated>+ <summary>Style according to the specification for Harvard Referencing at Imperial College London</summary>+<rights>This work is licensed under a Creative Commons+ Attribution-Share Alike 3.0 Unported License+ http://creativecommons.org/licenses/by-sa/3.0/</rights>+</info>++<macro name="editor">+ <names variable="editor" delimiter=", ">+ <name and="symbol" delimiter=", "/>+ <label form="short" prefix=" (" text-case="lowercase" suffix=".)" strip-periods="true"/>+ </names>+ </macro>+ + <macro name="anon">+ <text term="anonymous" form="short" text-case="capitalize-first" strip-periods="true"/>+ </macro>+ + <macro name="author">+ <names variable="author">+<name and="symbol" name-as-sort-order="all" sort-separator=", " initialize-with="." delimiter-precedes-last="never" delimiter=", "/>+ <label form="short" prefix=" " suffix="." text-case="lowercase" strip-periods="true"/>+ <substitute>+ <text macro="editor"/>+ <text macro="anon"/>+ </substitute>+</names>+ </macro>+ + <macro name="author-short">+ <names variable="author">+ <name form="short" and="symbol" delimiter=", " delimiter-precedes-last="never" initialize-with="."/>+ <et-al font-style="italic"/>+<substitute>+ <names variable="translator"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ + <macro name="access">+ <group>+ <text value="Available from: "/>+ <text variable="DOI" prefix="doi:" suffix=""/>+ <group prefix=" [" suffix="]">+ <text term="accessed" text-case="capitalize-first" suffix=": "/>+ <date variable="accessed">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ </group>+</group>+ </macro>++ <macro name="title">+ <choose>+ <if type="book webpage graphic" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else-if variable="container-title" match="none">+ <text variable="title" font-style="italic"/>+ </else-if>+ <else>+ <text variable="title"/>+ </else>+ </choose>+ </macro>+ + <macro name="publisher">+ <text variable="publisher-place" suffix=", "/>+ <text variable="publisher" suffix="."/>++ </macro>+ <macro name="year-date">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ + <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="long" suffix="" text-case="lowercase" strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix=""/>+ </else>+ </choose>+ </macro>++ <macro name="pages">+ <group>+ <text variable="page"/>+ </group>+ </macro>+ + <macro name="online">+ <choose>+ <if variable="DOI">+ <text value="[Online]"/>+ </if>+ </choose>+ </macro>+ + <macro name="issued">+ <choose>+ <if type="article-newspaper paper-conference broadcast" match="any">+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=""/>+ </date>+ </if>+ </choose>+ <choose>+ <if type="paper-conference" match="any">+ <date variable="issued">+ <date-part name="year" prefix=" "/>+ </date>+ </if>+ </choose>+ </macro>+ ++ <citation et-al-min="4" et-al-use-first="3" disambiguate-add-year-suffix="true" collapse="year">+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <text macro="author-short"/>+ <text macro="year-date"/>+ <group>+ <label variable="locator" suffix="*" form="short" strip-periods="true"/>+ <text variable="locator"/>+ </group>+ </group>+ </layout>+ </citation>+ + + <bibliography hanging-indent="true" et-al-min="5" et-al-use-first="4">+ <sort>+ <key macro="author"/>+ <key variable="title"/>+ </sort>+ <layout>+ <text macro="author"/>+ <text macro="year-date" prefix=" (" suffix=")"/>+ <choose>+ + <if type="thesis">+ <group prefix=" " delimiter=". " suffix=".">+ <text macro="title" font-style="italic"/>+ <text macro="edition"/>+ <text variable="genre"/>+ <text macro="online"/>+ <text macro="publisher"/>+ </group>+ </if>++ <else-if type="webpage">+ <group prefix=" " delimiter=". " suffix=".">+ <text macro="title" suffix=". "/>+ <text macro="edition"/>+ <text macro="online"/>+ </group>+ <group prefix=" " delimiter=". " suffix=".">+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ <text variable="container-title"/>+ </group>+ </else-if>++ +<else-if type="article-journal article-newspaper broadcast personal_communication thesis webpage" match="any">+ <group suffix=".">+ <text macro="title" prefix=" "/>+ <text macro="editor" prefix=" "/>+ </group>+ <choose>+ <if variable="author" match="any">+ <text variable="container-title" font-style="italic" prefix=" " suffix="."/>+ </if>+</choose>+ <text macro="online" prefix=" " suffix=""/>+ <group prefix=" " suffix="." delimiter="">+ <group prefix="">+ <text variable="volume"/>+ <text variable="issue" prefix=" (" suffix="), "/>+ <text macro="issued"/>+ </group>+ <group prefix="">+ <text macro="pages"/>+ </group>+ </group>+ </else-if>++ <else-if type="book graphic" match="any">+ <group prefix=" " delimiter=". " suffix=".">+ <text variable="note"/>+ <text macro="title"/>+ <group delimiter=" ">+ <text variable="collection-title"/>+ <text variable="collection-number"/>+ </group>+ <text macro="edition"/>+ <text macro="editor"/>+ <text macro="online"/>+ <text macro="publisher"/>+ </group>+ </else-if>++ <else-if type="chapter paper-conference" match="any">+ <text macro="title" prefix=" " suffix=". "/>+ <group prefix=" " delimiter=" ">+ <text term="in" text-case="capitalize-first" suffix=":"/>+ <text macro="editor" suffix=". "/>+ <text variable="container-title" font-style="italic" suffix="."/>+ <text variable="collection-title" suffix="."/>+<text macro="edition" prefix=" " suffix="."/>+ <text macro="online" suffix="." prefix=""/>+ <text macro="issued"/>+ <text macro="publisher" prefix="" suffix="."/>+<label variable="page" form="short" suffix=""/>+ <text macro="pages" suffix="."/>+ </group>+ </else-if>++ <else>+ <group suffix=".">+ <text macro="title" prefix=" "/>+ <text macro="editor" prefix=" "/>+ </group>+ <text variable="container-title" font-style="italic" prefix=" " suffix="."/>+ <text macro="online" prefix=" " suffix=". "/>+ <group prefix=" " suffix=".">+ <group prefix=" ">+ <text variable="volume"/>+ <text variable="issue" prefix=" (" suffix=")"/>+ <text macro="issued"/>+ </group>+ <group prefix=" ">+ <label variable="locator" suffix="." form="short" strip-periods="true"/>+ <text macro="pages"/>+ </group>+ </group>+ </else>+ </choose>+ <text prefix=" " macro="access" suffix="."/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1965"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "Heroclitus"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1965"+ ]+ ]+ },+ "title": "His Anonymous Second Life",+ "type": "chapter"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_LastOnlyFailWithByCite.txt view
@@ -0,0 +1,107 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Organisation 2010a+Organisation 2010b+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="in-text"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation et-al-min="4" + et-al-use-first="1" + et-al-subsequent-min="4" + et-al-subsequent-use-first="1" + disambiguate-add-givenname="true" + givenname-disambiguation-rule="by-cite" + disambiguate-add-year-suffix="true" + collapse="year">+ <layout delimiter="; ">+ <group delimiter=", ">+ <group delimiter=" ">+ <names variable="author">+ <name initialize-with=". "/>+ </names>+ <date variable="issued" date-parts="year" form="text"/>+ </group>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Organisation"+ }+ ],+ "event-place": "Canberra",+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2010+ ]+ ]+ },+ "key": "QXTWKDFN",+ "publisher-place": "Canberra",+ "title": "blah",+ "type": "report"+ },+ {+ "author": [+ {+ "family": "Organisation"+ }+ ],+ "event-place": "Melbourne",+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 2010+ ]+ ]+ },+ "key": "HE34J5AE",+ "publisher-place": "Melbourne",+ "title": "blash",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_NoTextElementUsesYearSuffixVariable.txt view
@@ -0,0 +1,83 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Doe (2000a); Doe (2000b)+<<===== RESULT =====<<++++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + disambiguate-add-year-suffix="true">+ <layout delimiter="; ">+ <names variable="author">+ <name form="short" />+ </names>+ <date variable="issued" prefix=" (" suffix=")">+ <date-part name="year" />+ </date>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_PrimaryNameGenerally.txt view
@@ -0,0 +1,91 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Aloysius Asthma and Bronchitis (1980); Artemis Asthma and Bronchitis (1995)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + disambiguate-add-givenname="true"+ givenname-disambiguation-rule="primary-name">+ <layout delimiter="; ">+ <names delimiter=", " variable="author">+ <name and="text" delimiter-precedes-last="never" form="short" />+ </names>+ <group prefix=" (" suffix=")">+ <date variable="issued">+ <date-part name="year" />+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Asthma",+ "given": "Aloysius"+ },+ {+ "family": "Bronchitis",+ "given": "Bosworth"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1980"+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Asthma",+ "given": "Artemis"+ },+ {+ "family": "Bronchitis",+ "given": "Beauregarde"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1995"+ ]+ ]+ },+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_PrimaryNameWithInitialsLimitedToPrimary.txt view
@@ -0,0 +1,127 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+A. Asthma et al. (1980); G. Asthma et al. (1995); Dropsy and Asthma (1995)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + et-al-min="3"+ et-al-use-first="1"+ disambiguate-add-givenname="true"+ disambiguate-add-year-suffix="true"+ givenname-disambiguation-rule="primary-name-with-initials">+ <layout delimiter="; ">+ <names delimiter=", " variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="never" form="short" initialize-with="." />+ </names>+ <group prefix=" (" suffix=")">+ <date variable="issued">+ <date-part name="year" />+ </date>+ <text variable="year-suffix" />+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Asthma",+ "given": "Albert"+ },+ {+ "family": "Bronchitis",+ "given": "Bosworth"+ },+ {+ "family": "Cold",+ "given": "Crispin"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1980"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Asthma",+ "given": "Gargoyle"+ },+ {+ "family": "Bronchitis",+ "given": "Billy"+ },+ {+ "family": "Cold",+ "given": "Odeous"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1995"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Dropsy",+ "given": "Duncan"+ },+ {+ "family": "Asthma",+ "given": "Albert"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ "1995"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_SetsOfNames.txt view
@@ -0,0 +1,329 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++Test a combination reported by Zotero user @gauthamg, 2012-03-12++>>===== RESULT =====>>+(Ely, Gautam, et al. 2001; Ely, Inouye, et al. 2001; Ely, Margolin, et al. 2001)+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" default-locale="en-GB">+ <info>+ <title>Harvard Reference format 3</title>+ <id>http://www.zotero.org/styles/harvard3</id>+ <link href="http://www.zotero.org/styles/harvard3" rel="self"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Sebastian Karcher</name>+ </contributor>+ <category citation-format="author-date"/>+ <category field="generic-base"/>+ <updated>2012-01-01T00:00:00+00:00</updated>+ <summary>The Australian version of the Harvard author-date style</summary>+ <link href="http://www.lib.monash.edu.au/tutorials/citing/harvard.html" rel="documentation"/>+ <link href="http://www.swinburne.edu.au/lib/researchhelp/harvard_system.htm" rel="documentation"/>+ <rights>This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>+ </info>+ <locale xml:lang="en-GB">+ <terms>+ <term name="editor" form="short">+ <single>ed.</single>+ <multiple>eds</multiple>+ </term>+ </terms>+ </locale>+ <macro name="editor">+ <group delimiter=" ">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text term="in"/>+ </if>+ </choose>+ <names variable="editor" delimiter=", " suffix=",">+ <name and="symbol" initialize-with="" delimiter=", " delimiter-precedes-last="never"/>+ <label form="short" prefix=" (" suffix=")"/>+ </names>+ </group>+ </macro>+ <macro name="anon">+ <text term="anonymous" form="short" text-case="capitalize-first" strip-periods="true"/>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with="" delimiter=", " delimiter-precedes-last="never"/>+ <label form="short" prefix=" (" suffix=")"/>+ <substitute>+ <names variable="editor"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="symbol" delimiter=", " delimiter-precedes-last="never" initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="title">+ <choose>+ <if type="bill book thesis graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else>+ <text variable="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <group delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </macro>+ <macro name="year-date">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="year-suffix"/>+ </if>+ <else>+ <text term="no date" form="short"/>+ <text variable="year-suffix"/>+ </else>+ </choose>+ </macro>+ <macro name="locators-journal">+ <choose>+ <if type="article-journal article-magazine" match="any">+ <group delimiter=", ">+ <text variable="volume" prefix="vol. "/>+ <text variable="issue" prefix="no. "/>+ </group>+ </if>+ <else-if type="article-newspaper">+ <date variable="issued" delimiter=" ">+ <date-part name="day"/>+ <date-part name="month"/>+ </date>+ <text variable="year-suffix"/>+ </else-if>+ </choose>+ </macro>+ <macro name="pages">+ <group delimiter=" ">+ <label variable="page" form="short"/>+ <text variable="page"/>+ </group>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <macro name="access">+ <choose>+ <if variable="URL">+ <text value="viewed"/>+ <group prefix=" " delimiter=", ">+ <date variable="accessed" delimiter=" ">+ <date-part name="day"/>+ <date-part name="month" suffix=","/>+ <date-part name="year"/>+ </date>+ <text variable="URL" prefix="<" suffix=">"/>+ </group>+ </if>+ </choose>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" collapse="year" givenname-disambiguation-rule="by-cite">+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <group delimiter=" ">+ <text macro="author-short"/>+ <text macro="year-date"/>+ </group>+ <group delimiter=" ">+ <label variable="locator" plural="never" form="short"/>+ <text variable="locator"/>+ </group>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true">+ <sort>+ <key macro="author"/>+ <key variable="title"/>+ </sort>+ <layout suffix=".">+ <group delimiter=", ">+ <group delimiter=" ">+ <text macro="author"/>+ <text macro="year-date"/>+ </group>+ <text macro="title"/>+ <group delimiter=" ">+ <text macro="editor"/>+ <text variable="container-title" font-style="italic"/>+ </group>+ <text macro="locators-journal"/>+ <text macro="edition"/>+ <text variable="genre"/>+ <text macro="publisher"/>+ <text macro="pages"/>+ <text macro="access"/>+ </group>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "DOI": "10.1007/s00134-001-1132-2",+ "URL": "http://www.ncbi.nlm.nih.gov/pubmed/11797025",+ "author": [+ {+ "family": "Ely",+ "given": "E W"+ },+ {+ "family": "Gautam",+ "given": "S"+ },+ {+ "family": "Margolin",+ "given": "R"+ },+ {+ "family": "Francis",+ "given": "J"+ }+ ],+ "container-title": "Intensive Care Medicine",+ "id": 15892,+ "issue": "12",+ "issued": {+ "date-parts": [+ [+ "2001",+ 12+ ]+ ]+ },+ "key": "CX6579SQ",+ "note": "PMID: 11797025",+ "page": "1892–1900",+ "title": "The impact of delirium in the intensive care unit on hospital length of stay",+ "type": "article-journal",+ "volume": "27"+ },+ {+ "DOI": "10.1001/jama.286.21.2703",+ "URL": "http://jama.ama-assn.org/content/286/21/2703.abstract",+ "author": [+ {+ "family": "Ely",+ "given": "E W"+ },+ {+ "family": "Inouye",+ "given": "Sharon K."+ },+ {+ "family": "Bernard",+ "given": "Gordon R."+ },+ {+ "family": "Gordon",+ "given": "Sharon"+ }+ ],+ "container-title": "JAMA: The Journal of the American Medical Association",+ "id": 15893,+ "issue": "21",+ "issued": {+ "date-parts": [+ [+ "2001",+ 12+ ]+ ]+ },+ "key": "VKWUI22E",+ "page": "2703 –2710",+ "title": "Delirium in Mechanically Ventilated Patients",+ "type": "article-journal",+ "volume": "286"+ },+ {+ "URL": "http://www.ncbi.nlm.nih.gov/pubmed/11445689",+ "author": [+ {+ "family": "Ely",+ "given": "E W"+ },+ {+ "family": "Margolin",+ "given": "R"+ },+ {+ "family": "Francis",+ "given": "J"+ },+ {+ "family": "May",+ "given": "L"+ }+ ],+ "container-title": "Critical Care Medicine",+ "id": 15894,+ "issue": "7",+ "issued": {+ "date-parts": [+ [+ "2001",+ 7+ ]+ ]+ },+ "key": "9E5QVF4E",+ "note": "PMID: 11445689",+ "page": "1370–1379",+ "title": "Evaluation of delirium in critically ill patients: validation of the Confusion Assessment Method for the Intensive Care Unit (CAM-ICU)",+ "title-short": "Evaluation of delirium in critically ill patients",+ "type": "article-journal",+ "volume": "29"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_SkipAccessedYearSuffix.txt view
@@ -0,0 +1,196 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry"><b>Doe J</b>. His Anonymous Life. http://example.com (accessed 15 December 2000). 1965a</div>+ <div class="csl-entry"><b>Doe J</b>. His Anonymous Life. http://example.com (accessed 15 December 2000). 1965b</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author-bib">+ <names variable="author" suffix=". ">+ <name sort-separator=" " initialize-with="" name-as-sort-order="all" delimiter=", " font-weight="bold" delimiter-precedes-last="always"/>+ <label form="long" prefix=", " suffix="." text-case="lowercase"/>+ </names>+ </macro>+ <macro name="publisher">+ <text variable="publisher" suffix=", "/> + <text variable="publisher-place" suffix=", "/> + <text macro="date"/>+ </macro>+ <macro name="date">+ <choose>+ <if variable="issued">+ <group>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="year-suffix"/>+ </group>+ </if>+ <else>+ <group delimiter="-">+ <text term="no date"/>+ <text variable="year-suffix"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="access">+ <choose>+ <if variable="DOI"/>+ <!--don't use if there is a DOI-->+ <else>+ <choose>+ <if variable="URL">+ <group delimiter=" " prefix=" ">+ <group>+ <text variable="URL"/>+ </group>+ <group prefix="(accessed " suffix="). " delimiter=" ">+ <date variable="accessed" suffix="">+ <date-part name="day" prefix=""/>+ <date-part name="month" prefix=" " suffix=" " form="long" strip-periods="true"/>+ <date-part name="year"/>+ </date>+ </group>+ </group>+ </if>+ </choose>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if variable="DOI">+ <text variable="title"/>+ </if>+ <else>+ <group delimiter=" ">+ <choose>+ <if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <choose>+ <if variable="URL">+ <text variable="title"/>+ </if>+ <else>+ <text variable="title" font-style="italic"/>+ </else>+ </choose>+ </if>+ <else>+ <text variable="title"/>+ </else>+ </choose>+ </group>+ </else>+ </choose>+ </macro>+ <!-- formatting citation -->+ <citation et-al-min="3" et-al-use-first="1" disambiguate-add-year-suffix="true" collapse="year">+ <layout>+ <text value="BOGUS"/>+ </layout>+ </citation>+ <!-- formatting bibliography -->+ <bibliography>+ <sort>+ <key macro="author-bib"/>+ <key macro="date"/>+ </sort>+ <layout suffix="">+ <text macro="author-bib"/>+ <text macro="title" suffix=". "/>+ <text macro="access"/>+ <text macro="publisher"/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "URL": "http://example.com",+ "accessed": {+ "date-parts": [+ [+ "2000",+ "12",+ "15"+ ]+ ]+ },+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "book"+ },+ {+ "URL": "http://example.com",+ "accessed": {+ "date-parts": [+ [+ "2000",+ "12",+ "15"+ ]+ ]+ },+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_ThreeNoAuthorNoTitleEntries.txt view
@@ -0,0 +1,123 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">BleagleA, 2000</div>+ <div class="csl-entry">BleagleB, 2000</div>+ <div class="csl-entry">BleagleC, 2000</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation et-al-min="4" et-al-use-first="1" disambiguate-add-names="true">+ <layout>+ <group delimiter=", ">+ <choose>+ <if position="subsequent">+ <names variable="author">+ <name/>+ </names>+ </if>+ <else-if position="first">+ <names variable="author">+ <name/>+ </names>+ <text variable="container-title"/>+ <date variable="issued" form="text" date-parts="year"/>+ </else-if>+ </choose>+ </group>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <group delimiter=", ">+ <names variable="author">+ <name/>+ </names>+ <text variable="container-title"/>+ <date variable="issued" form="text" date-parts="year"/>+ </group>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "container-title": "BleagleA",+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ },+ "type": "book"+ },+ {+ "container-title": "BleagleB",+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ },+ "type": "book"+ },+ {+ "container-title": "BleagleC",+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ },+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_ToInitialOnly.txt view
@@ -0,0 +1,86 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Smith; Smith; B. Muggins; J. Muggins+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + disambiguate-add-givenname="true"+ givenname-disambiguation-rule="all-names-with-initials">+ <layout delimiter="; ">+ <names delimiter=", " variable="author">+ <name and="text" + delimiter-precedes-last="never" + initialize-with="." form="short"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith",+ "given": "Cecil"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "Charles"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Muggins",+ "given": "Bob"+ }+ ],+ "id": "ITEM-3",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Muggins",+ "given": "Jardine"+ }+ ],+ "id": "ITEM-4",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_Trigraph.txt view
@@ -0,0 +1,110 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Aalt02a+Aalt02b+Aalt02c+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation disambiguate-add-year-suffix="true">+ <layout>+ <text variable="citation-label" />+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2002+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 2002+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ 2002+ ]+ ]+ },+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_WithOriginalYear.txt view
@@ -0,0 +1,341 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+(Castel, [1995] 1999)+(Castel, 1999)+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" default-locale="fr-FR" page-range-format="expanded">+ <info>+ <title>Revue française de sociologie (French)</title>+ <title-short>RFS</title-short>+ <id>http://www.zotero.org/styles/revue-francaise-de-sociologie</id>+ <link href="http://www.zotero.org/styles/revue-francaise-de-sociologie" rel="self"/>+ <link href="http://www.zotero.org/styles/economie-et-statistique" rel="template"/>+ <link href="http://www.rfs-revue.com/" rel="documentation"/>+ <author>+ <name>Milan Bouchet-Valat</name>+ <email>nalimilan@club.fr</email>+ </author>+ <category citation-format="author-date"/>+ <category field="social_science"/>+ <category field="sociology"/>+ <issn>0035-2969</issn>+ <eissn>1958-5691</eissn>+ <summary>Le style utilisé depuis 2013 par la Revue française de sociologie.</summary>+ <updated>2015-01-29T20:52:59+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale xml:lang="fr">+ <terms>+ <term name="editor" form="short">+ <single>dir.</single>+ <multiple>dirs.</multiple>+ </term>+ </terms>+ </locale>+ <macro name="editor">+ <names variable="editor" delimiter=" ">+ <name name-as-sort-order="all" sort-separator=" " delimiter=", " delimiter-precedes-last="always" initialize-with="." font-variant="small-caps"/>+ <label form="short" prefix=" (" suffix=")" text-case="lowercase"/>+ <substitute>+ <names variable="editorial-director"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-last">+ <names variable="author">+ <name name-as-sort-order="all" sort-separator=" " delimiter=", " delimiter-precedes-last="always" initialize-with="." font-variant="small-caps"/>+ <label form="short" prefix=" " text-case="lowercase"/>+ <substitute>+ <names variable="editor">+ <name name-as-sort-order="all" sort-separator=", " delimiter=", " delimiter-precedes-last="always" initialize-with="." font-variant="small-caps"/>+ <label form="short" prefix=" (" suffix=")" text-case="lowercase"/>+ <substitute>+ <names variable="editorial-director"/>+ </substitute>+ </names>+ </substitute>+ </names>+ </macro>+ <!-- Same as author-last except that name is not initialized to sort on first name too -->+ <macro name="author-sort">+ <names variable="author">+ <name name-as-sort-order="all" sort-separator=" " delimiter=", " delimiter-precedes-last="always" font-variant="small-caps"/>+ <label form="short" prefix=" " text-case="lowercase"/>+ <substitute>+ <names variable="editor">+ <name and="text" name-as-sort-order="all" sort-separator=", " delimiter=", " delimiter-precedes-last="always" font-variant="small-caps"/>+ <label form="short" prefix=" (" suffix=")" text-case="lowercase"/>+ <substitute>+ <names variable="editorial-director"/>+ </substitute>+ </names>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", " delimiter-precedes-last="never"/>+ <substitute>+ <names variable="editor"/>+ </substitute>+ </names>+ </macro>+ <macro name="translator">+ <text term="translator" form="verb" suffix=" "/>+ <names variable="translator">+ <name name-as-sort-order="all" sort-separator=" " delimiter=", " delimiter-precedes-last="always" initialize-with="." font-variant="small-caps"/>+ </names>+ </macro>+ <macro name="publisher-collection">+ <group delimiter=", ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ <text variable="collection-title" prefix=" (" suffix=")"/>+ </macro>+ <macro name="year-date-short">+ <choose>+ <if variable="original-date">+ <date variable="original-date" prefix="[" suffix="] ">+ <date-part name="year"/>+ </date>+ </if>+ </choose>+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="full-date">+ <date variable="issued" delimiter=" ">+ <date-part name="day"/>+ <date-part name="month"/>+ <date-part name="year"/>+ </date>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="long"/>+ </group>+ </if>+ <else>+ <text variable="edition"/>+ </else>+ </choose>+ </macro>+ <macro name="citation-locator">+ <group>+ <label variable="locator" form="short" suffix=". "/>+ <text variable="locator"/>+ </group>+ </macro>+ <macro name="page">+ <group>+ <label variable="page" suffix=". " form="short"/>+ <text variable="page"/>+ </group>+ </macro>+ <macro name="number-of-pages">+ <group>+ <text variable="number-of-pages" suffix=" p"/>+ </group>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" collapse="year">+ <sort>+ <key macro="author-last"/>+ <key macro="year-date-short"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter=" ; ">+ <group delimiter=", ">+ <text macro="author-short"/>+ <text macro="year-date-short"/>+ <text macro="citation-locator"/>+ </group>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key macro="author-sort"/>+ <key variable="issued"/>+ </sort>+ <layout suffix=".">+ <text macro="author-last" suffix=", "/>+ <text macro="year-date-short" suffix=", "/>+ <choose>+ <if type="report">+ <group delimiter=", ">+ <text variable="title" quotes="true"/>+ <text macro="translator"/>+ <text variable="genre"/>+ <text variable="collection-title" font-style="italic"/>+ <text variable="number"/>+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </if>+ <else-if type="book">+ <group delimiter=", ">+ <text variable="title" font-style="italic"/>+ <text macro="translator"/>+ <text variable="genre"/>+ <text macro="editor"/>+ <text macro="edition"/>+ <text macro="publisher-collection"/>+ <text variable="medium"/>+ <group delimiter=" ">+ <text term="version"/>+ <text variable="version"/>+ </group>+ <text macro="number-of-pages"/>+ </group>+ </else-if>+ <else-if type="thesis">+ <group delimiter=", ">+ <text variable="title" font-style="italic"/>+ <text macro="translator"/>+ <choose>+ <if variable="genre">+ <text variable="genre"/>+ </if>+ <else>+ <text value="Thèse de doctorat"/>+ </else>+ </choose>+ <text macro="edition"/>+ <text macro="publisher-collection"/>+ <text macro="number-of-pages"/>+ </group>+ </else-if>+ <else-if type="chapter">+ <text variable="title" quotes="true"/>+ <group prefix=", ">+ <text value="dans" suffix=" "/>+ <text macro="editor" suffix=", "/>+ <group delimiter=", ">+ <text variable="container-title" font-style="italic"/>+ <text macro="translator"/>+ <text macro="edition"/>+ <text macro="publisher-collection"/>+ <text macro="page"/>+ </group>+ </group>+ </else-if>+ <else-if type="speech">+ <group delimiter=", ">+ <text variable="title" quotes="true"/>+ <text variable="event"/>+ <text variable="event-place"/>+ <text macro="full-date"/>+ <text macro="translator"/>+ </group>+ </else-if>+ <else-if type="article-newspaper article-magazine interview broadcast" match="any">+ <group delimiter=", ">+ <text variable="title" quotes="true"/>+ <text variable="container-title" font-style="italic" prefix=" "/>+ <text macro="full-date"/>+ <text macro="translator"/>+ <text macro="page"/>+ </group>+ </else-if>+ <else>+ <group delimiter=" " suffix=",">+ <text variable="title" quotes="true"/>+ <text macro="editor"/>+ </group>+ <group prefix=" " delimiter=", ">+ <text variable="container-title" font-style="italic"/>+ <text variable="volume" font-style="italic"/>+ <text variable="issue"/>+ <text macro="translator"/>+ <text macro="page"/>+ </group>+ </else>+ </choose>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Castel",+ "given": "Christopher"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1999+ ]+ ]+ },+ "original-date": {+ "date-parts": [+ [+ 1995+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Castel",+ "given": "Christopher"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 1999+ ]+ ]+ },+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_YearCollapseWithInstitution.txt view
@@ -0,0 +1,135 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+(Smith Co 2000a; 2000b; 2000c)+(Smith Co 2000b)+(Smith Co 2000c)+<<===== RESULT =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ]+]+<<===== CITATION-ITEMS =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + et-al-min="3"+ et-al-use-first="1"+ et-al-subsequent-min="3"+ et-al-subsequent-use-first="1"+ disambiguate-add-names="true"+ disambiguate-add-year-suffix="true"+ collapse="year">++ <layout delimiter="; " prefix="(" suffix=")">+ <group delimiter=" ">+ <names delimiter=", " variable="author">+ <name and="symbol" form="short"/>+ </names>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith Co"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ }, + "title": "Book A",+ "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith Co"+ }+ ], + "id": "ITEM-2", + "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ }, + "title": "Book B",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith Co"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ },+ "title": "Book C",+ "type": "book"+ }+]+<<===== INPUT =====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_YearSuffixAndSort.txt view
@@ -0,0 +1,471 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ambigs-1"+ },+ {+ "id": "ambigs-2"+ },+ {+ "id": "ambigs-3"+ },+ {+ "id": "ambigs-4"+ },+ {+ "id": "ambigs-5"+ },+ {+ "id": "ambigs-6"+ },+ {+ "id": "ambigs-7"+ },+ {+ "id": "ambigs-8"+ },+ {+ "id": "ambigs-9"+ },+ {+ "id": "ambigs-10"+ },+ {+ "id": "ambigs-11"+ },+ {+ "id": "ambigs-12"+ },+ {+ "id": "ambigs-13"+ }+ ]+]+<<===== CITATION-ITEMS =====<<++>>===== RESULT =====>>+1990m!; 1990l!; 1990k!; 1990j!; 1990i!; 1990h!; 1990g!; 1990f!; 1990e!; 1990d!; 1990c!; 1990b!; 1990a!+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="date">+ <date variable="issued">+ <date-part name="year" />+ </date>+ <text suffix="!" variable="year-suffix" />+ </macro>+ <citation + disambiguate-add-year-suffix="true">+ <layout delimiter="; ">+ <text macro="date" />+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key variable="issued" />+ <key variable="title" />+ </sort>+ <layout>+ <text value="Ignore me" />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Asthma", + "given": "Albert"+ }, + {+ "family": "Bronchitis", + "given": "Bosworth"+ }, + {+ "family": "Cold", + "given": "Crispin"+ }, + {+ "family": "Dropsy", + "given": "David"+ }, + {+ "family": "Ebola", + "given": "Elvin"+ }, + {+ "family": "Fever", + "given": "Fergus"+ }+ ], + "id": "ambigs-1", + "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ }, + "title": "Book M", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Asthma", + "given": "Albert"+ }, + {+ "family": "Bronchitis", + "given": "Bosworth"+ }, + {+ "family": "Cold", + "given": "Crispin"+ }, + {+ "family": "Dropsy", + "given": "David"+ }, + {+ "family": "Enteritis", + "given": "Ernie"+ }, + {+ "family": "Fever", + "given": "Fergus"+ }+ ], + "id": "ambigs-2", + "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ }, + "title": "Book L", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Asthma", + "given": "Albert"+ }, + {+ "family": "Bronchitis", + "given": "Bosworth"+ }, + {+ "family": "Cold", + "given": "Crispin"+ }, + {+ "family": "Dropsy", + "given": "David"+ }, + {+ "family": "Ebola", + "given": "Elvin"+ }, + {+ "family": "Fever", + "given": "Fergus"+ }+ ], + "id": "ambigs-3", + "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ }, + "title": "Book K", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Asthma", + "given": "Albert"+ }, + {+ "family": "Bronchitis", + "given": "Bosworth"+ }, + {+ "family": "Cold", + "given": "Crispin"+ }+ ], + "id": "ambigs-4", + "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ }, + "title": "Book J", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Asthma", + "given": "Albert"+ }, + {+ "family": "Bronchitis", + "given": "Beauregarde"+ }, + {+ "family": "Cold", + "given": "Crispin"+ }+ ], + "id": "ambigs-5", + "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ }, + "title": "Book I", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Asthma", + "given": "Alan"+ }, + {+ "family": "Bronchitis", + "given": "Bosworth"+ }, + {+ "family": "Cold", + "given": "Crispin"+ }, + {+ "family": "Dropsy", + "given": "David"+ }, + {+ "family": "Ebola", + "given": "Elvin"+ }, + {+ "family": "Fever", + "given": "Fergus"+ }+ ], + "id": "ambigs-6", + "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ }, + "title": "Book H", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Doe", + "given": "John"+ }, + {+ "family": "Roe", + "given": "Janet"+ }+ ], + "id": "ambigs-7", + "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ }, + "title": "Book G", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Doe", + "given": "John"+ }, + {+ "family": "Roe", + "given": "Jane"+ }+ ], + "id": "ambigs-8", + "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ }, + "title": "Book F", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Doe", + "given": "John"+ }, + {+ "family": "Roe", + "given": "Jane"+ }+ ], + "id": "ambigs-9", + "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ }, + "title": "Book E", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Doe", + "given": "John"+ }, + {+ "family": "Roe", + "given": "Janet"+ }+ ], + "id": "ambigs-10", + "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ }, + "title": "Book D", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Doe", + "given": "John"+ }, + {+ "family": "Roe", + "given": "Jane"+ }, + {+ "family": "Jones", + "given": "Robert"+ }+ ], + "id": "ambigs-11", + "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ }, + "title": "Book C", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Doe", + "given": "John"+ }, + {+ "family": "Roe", + "given": "Josephine"+ }, + {+ "family": "Jones", + "given": "Robert"+ }+ ], + "id": "ambigs-12", + "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ }, + "title": "Book B", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Doe", + "given": "John"+ }, + {+ "family": "Roe", + "given": "Jane"+ }, + {+ "family": "Jones", + "given": "Richard"+ }+ ], + "id": "ambigs-13", + "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ }, + "title": "Book A", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_YearSuffixAtTwoLevels.txt view
@@ -0,0 +1,175 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Smith, Jones & Brown (1986a); Smith, Jones & Brown (1986b); Smith, Jones, Brown, et al. (1986a); Smith, Jones, Brown, et al. (1986b)+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-4"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + et-al-min="3"+ et-al-use-first="1"+ disambiguate-add-names="true"+ disambiguate-add-year-suffix="true">+ <layout delimiter="; ">+ <group delimiter=" ">+ <names delimiter=", " variable="author">+ <name and="symbol" delimiter-precedes-last="never" form="short"/>+ </names>+ <date variable="issued" prefix="(" suffix=")">+ <date-part name="year"/>+ </date>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ },+ {+ "family": "Jones",+ "given": "John"+ },+ {+ "family": "Brown",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ },+ {+ "family": "Jones",+ "given": "John"+ },+ {+ "family": "Brown",+ "given": "John"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ },+ {+ "family": "Jones",+ "given": "John"+ },+ {+ "family": "Brown",+ "given": "John"+ },+ {+ "family": "Green",+ "given": "John"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ },+ {+ "family": "Jones",+ "given": "John"+ },+ {+ "family": "Brown",+ "given": "John"+ },+ {+ "family": "Green",+ "given": "John"+ }+ ],+ "id": "ITEM-4",+ "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ },+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_YearSuffixFiftyTwoEntries.txt view
@@ -0,0 +1,1149 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++Note the two-full-stops prefix on the first entry, which shows that+the processor has recognized that this entire run of year-suffixed+cites can be left untouched.++>>===== RESULT =====>>+..[0] (Smith 1986a; Smith 1986b; Smith 1986c; Smith 1986d; Smith 1986e; Smith 1986f; Smith 1986g; Smith 1986h; Smith 1986i; Smith 1986j; Smith 1986k; Smith 1986l; Smith 1986m; Smith 1986n; Smith 1986o; Smith 1986p; Smith 1986q; Smith 1986r; Smith 1986s; Smith 1986t; Smith 1986u; Smith 1986v; Smith 1986w; Smith 1986x; Smith 1986y; Smith 1986z; Smith 1986aa; Smith 1986ab; Smith 1986ac; Smith 1986ad; Smith 1986ae; Smith 1986af; Smith 1986ag; Smith 1986ah; Smith 1986ai; Smith 1986aj; Smith 1986ak; Smith 1986al; Smith 1986am; Smith 1986an; Smith 1986ao; Smith 1986ap; Smith 1986aq; Smith 1986ar; Smith 1986as; Smith 1986at; Smith 1986au; Smith 1986av; Smith 1986aw; Smith 1986ax; Smith 1986ay)+>>[1] (Smith 1986az)+<<===== RESULT =====<<+++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-4"+ },+ {+ "id": "ITEM-5"+ },+ {+ "id": "ITEM-6"+ },+ {+ "id": "ITEM-7"+ },+ {+ "id": "ITEM-8"+ },+ {+ "id": "ITEM-9"+ },+ {+ "id": "ITEM-10"+ },+ {+ "id": "ITEM-11"+ },+ {+ "id": "ITEM-12"+ },+ {+ "id": "ITEM-13"+ },+ {+ "id": "ITEM-14"+ },+ {+ "id": "ITEM-15"+ },+ {+ "id": "ITEM-16"+ },+ {+ "id": "ITEM-17"+ },+ {+ "id": "ITEM-18"+ },+ {+ "id": "ITEM-19"+ },+ {+ "id": "ITEM-20"+ },+ {+ "id": "ITEM-22"+ },+ {+ "id": "ITEM-23"+ },+ {+ "id": "ITEM-24"+ },+ {+ "id": "ITEM-25"+ },+ {+ "id": "ITEM-26"+ },+ {+ "id": "ITEM-27"+ },+ {+ "id": "ITEM-28"+ },+ {+ "id": "ITEM-29"+ },+ {+ "id": "ITEM-30"+ },+ {+ "id": "ITEM-31"+ },+ {+ "id": "ITEM-32"+ },+ {+ "id": "ITEM-33"+ },+ {+ "id": "ITEM-34"+ },+ {+ "id": "ITEM-35"+ },+ {+ "id": "ITEM-36"+ },+ {+ "id": "ITEM-37"+ },+ {+ "id": "ITEM-38"+ },+ {+ "id": "ITEM-39"+ },+ {+ "id": "ITEM-40"+ },+ {+ "id": "ITEM-41"+ },+ {+ "id": "ITEM-42"+ },+ {+ "id": "ITEM-43"+ },+ {+ "id": "ITEM-44"+ },+ {+ "id": "ITEM-45"+ },+ {+ "id": "ITEM-46"+ },+ {+ "id": "ITEM-47"+ },+ {+ "id": "ITEM-48"+ },+ {+ "id": "ITEM-49"+ },+ {+ "id": "ITEM-50"+ },+ {+ "id": "ITEM-51"+ },+ {+ "id": "ITEM-52"+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-2",+ "citationItems": [+ {+ "id": "ITEM-53"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [+ [+ "CITATION-1",+ 0+ ]+ ],+ []+ ]+]+<<===== CITATIONS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + et-al-min="3"+ et-al-use-first="1"+ disambiguate-add-names="true"+ disambiguate-add-givenname="true"+ disambiguate-add-year-suffix="true"+ givenname-disambiguation-rule="all-names">+ <layout delimiter="; " prefix="(" suffix=")">+ <group delimiter=" ">+ <names delimiter=", " variable="author">+ <name and="symbol" delimiter-precedes-last="never" form="short"/>+ </names>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-1"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-2"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-3"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-4"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-5"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-6"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-7"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-8"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-9"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-10"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-11"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-12"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-13"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-14"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-15"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-16"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-17"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-18"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-19"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-20"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-21"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-22"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-23"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-24"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-25"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-26"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-27"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-28"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-29"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-30"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-31"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-32"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-33"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-34"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-35"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-36"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-37"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-38"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-39"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-40"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-41"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-42"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-43"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-44"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-45"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-46"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-47"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-48"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-49"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-50"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-51"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-52"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-53"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_YearSuffixFiftyTwoEntriesByCite.txt view
@@ -0,0 +1,1154 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++Note the two-full-stops prefix on the first entry, which shows that+the processor has recognized that this entire run of year-suffixed+cites can be left untouched.++## 2013-04-17 :: Frank Bennett <biercenator@gmail.com>++ This is particularly difficult to achieve with by-cite+ disambiguation. Fortunately, it can be done.++>>===== RESULT =====>>+..[0] (Smith 1986a; Smith 1986b; Smith 1986c; Smith 1986d; Smith 1986e; Smith 1986f; Smith 1986g; Smith 1986h; Smith 1986i; Smith 1986j; Smith 1986k; Smith 1986l; Smith 1986m; Smith 1986n; Smith 1986o; Smith 1986p; Smith 1986q; Smith 1986r; Smith 1986s; Smith 1986t; Smith 1986u; Smith 1986v; Smith 1986w; Smith 1986x; Smith 1986y; Smith 1986z; Smith 1986aa; Smith 1986ab; Smith 1986ac; Smith 1986ad; Smith 1986ae; Smith 1986af; Smith 1986ag; Smith 1986ah; Smith 1986ai; Smith 1986aj; Smith 1986ak; Smith 1986al; Smith 1986am; Smith 1986an; Smith 1986ao; Smith 1986ap; Smith 1986aq; Smith 1986ar; Smith 1986as; Smith 1986at; Smith 1986au; Smith 1986av; Smith 1986aw; Smith 1986ax; Smith 1986ay)+>>[1] (Smith 1986az)+<<===== RESULT =====<<+++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-4"+ },+ {+ "id": "ITEM-5"+ },+ {+ "id": "ITEM-6"+ },+ {+ "id": "ITEM-7"+ },+ {+ "id": "ITEM-8"+ },+ {+ "id": "ITEM-9"+ },+ {+ "id": "ITEM-10"+ },+ {+ "id": "ITEM-11"+ },+ {+ "id": "ITEM-12"+ },+ {+ "id": "ITEM-13"+ },+ {+ "id": "ITEM-14"+ },+ {+ "id": "ITEM-15"+ },+ {+ "id": "ITEM-16"+ },+ {+ "id": "ITEM-17"+ },+ {+ "id": "ITEM-18"+ },+ {+ "id": "ITEM-19"+ },+ {+ "id": "ITEM-20"+ },+ {+ "id": "ITEM-22"+ },+ {+ "id": "ITEM-23"+ },+ {+ "id": "ITEM-24"+ },+ {+ "id": "ITEM-25"+ },+ {+ "id": "ITEM-26"+ },+ {+ "id": "ITEM-27"+ },+ {+ "id": "ITEM-28"+ },+ {+ "id": "ITEM-29"+ },+ {+ "id": "ITEM-30"+ },+ {+ "id": "ITEM-31"+ },+ {+ "id": "ITEM-32"+ },+ {+ "id": "ITEM-33"+ },+ {+ "id": "ITEM-34"+ },+ {+ "id": "ITEM-35"+ },+ {+ "id": "ITEM-36"+ },+ {+ "id": "ITEM-37"+ },+ {+ "id": "ITEM-38"+ },+ {+ "id": "ITEM-39"+ },+ {+ "id": "ITEM-40"+ },+ {+ "id": "ITEM-41"+ },+ {+ "id": "ITEM-42"+ },+ {+ "id": "ITEM-43"+ },+ {+ "id": "ITEM-44"+ },+ {+ "id": "ITEM-45"+ },+ {+ "id": "ITEM-46"+ },+ {+ "id": "ITEM-47"+ },+ {+ "id": "ITEM-48"+ },+ {+ "id": "ITEM-49"+ },+ {+ "id": "ITEM-50"+ },+ {+ "id": "ITEM-51"+ },+ {+ "id": "ITEM-52"+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-2",+ "citationItems": [+ {+ "id": "ITEM-53"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [+ [+ "CITATION-1",+ 0+ ]+ ],+ []+ ]+]+<<===== CITATIONS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + et-al-min="3"+ et-al-use-first="1"+ disambiguate-add-names="true"+ disambiguate-add-givenname="true"+ disambiguate-add-year-suffix="true"+ givenname-disambiguation-rule="by-cite">+ <layout delimiter="; " prefix="(" suffix=")">+ <group delimiter=" ">+ <names delimiter=", " variable="author">+ <name and="symbol" delimiter-precedes-last="never" form="short"/>+ </names>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-1"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-2"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-3"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-4"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-5"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-6"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-7"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-8"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-9"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-10"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-11"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-12"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-13"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-14"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-15"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-16"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-17"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-18"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-19"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-20"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-21"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-22"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-23"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-24"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-25"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-26"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-27"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-28"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-29"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-30"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-31"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-32"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-33"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-34"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-35"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-36"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-37"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-38"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-39"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-40"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-41"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-42"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-43"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-44"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-45"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-46"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-47"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-48"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-49"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-50"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-51"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-52"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-53"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_YearSuffixMacroSameYearExplicit.txt view
@@ -0,0 +1,97 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+A Smith 2001+B Smith 2001+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation disambiguate-add-givenname="true" disambiguate-add-year-suffix="true">+ <layout>+ <group delimiter=" ">+ <names variable="author">+ <name form="short" />+ </names>+ <group delimiter="">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="year-suffix"/>+ </group>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Smith",+ "given": "A"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2001+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "B"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 2001+ ]+ ]+ },+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_YearSuffixMacroSameYearImplicit.txt view
@@ -0,0 +1,94 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+A Smith 2001+B Smith 2001+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation disambiguate-add-givenname="true" disambiguate-add-year-suffix="true">+ <layout>+ <group delimiter=" ">+ <names variable="author">+ <name form="short" />+ </names>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Smith",+ "given": "A"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2001+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "B"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 2001+ ]+ ]+ },+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_YearSuffixMidInsert.txt view
@@ -0,0 +1,483 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+(UN DESA 2011b)+(UN DESA 2011c)+(UN DESA 2011a)+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": 76+ }+ ],+ [+ {+ "id": 71+ }+ ],+ [+ {+ "id": 72+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" page-range-format="chicago">+ <info>+ <title>Chicago Manual of Style (Author-Date format)</title>+ <id>http://www.zotero.org/styles/chicago-author-date</id>+ <link href="http://www.zotero.org/styles/chicago-author-date" rel="self"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <category citation-format="author-date"/>+ <category field="generic-base"/>+ <updated>2009-12-04T20:22:16+00:00</updated>+ <summary>The author-date variant of the Chicago style</summary>+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>+ </info>+ <macro name="secondary-contributors">+ <choose>+ <if match="none" type="chapter">+ <group delimiter=". ">+ <choose>+ <if variable="author">+ <names variable="editor">+ <label form="verb-short" prefix=" " suffix=". " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names variable="translator">+ <label form="verb-short" prefix=" " suffix=". " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter">+ <group delimiter=", " prefix=",">+ <choose>+ <if variable="author">+ <names variable="editor">+ <label form="verb-short" prefix=" " suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names variable="translator">+ <label form="verb-short" prefix=" " suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="anon">+ <choose>+ <if match="none" variable="author editor translator">+ <text form="short" term="anonymous" text-case="capitalize-first" />+ </if>+ </choose>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="recipient">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ <else>+ <text term="letter" text-case="capitalize-first" />+ </else>+ </choose>+ </if>+ </choose>+ <names delimiter=", " variable="recipient">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="contributors">+ <names variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." text-case="lowercase" />+ <substitute>+ <text macro="editor" />+ <text macro="translator" />+ </substitute>+ </names>+ <text macro="anon" />+ <text macro="recipient" />+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name and="text" delimiter=", " form="short" />+ <substitute>+ <names variable="editor" />+ <names variable="translator" />+ </substitute>+ </names>+ <text macro="anon" />+ </macro>+ <macro name="interviewer">+ <names delimiter=", " variable="interviewer">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="archive">+ <group delimiter=". ">+ <text text-case="capitalize-first" variable="archive_location" />+ <text variable="archive" />+ <text variable="archive-place" />+ </group>+ </macro>+ <macro name="access">+ <group delimiter=". ">+ <choose>+ <if match="any" type="graphic report">+ <text macro="archive" />+ </if>+ <else-if match="none" type="book thesis chapter article-journal article-newspaper article-magazine">+ <text macro="archive" />+ </else-if>+ </choose>+ <text prefix="doi:" variable="DOI" />+ <text variable="URL" />+ </group>+ </macro>+ <macro name="title">+ <choose>+ <if match="none" variable="title">+ <choose>+ <if match="none" type="personal_communication">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ </if>+ <else-if type="book">+ <text font-style="italic" variable="title" />+ </else-if>+ <else>+ <text variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if match="any" type="book chapter">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number form="ordinal" variable="edition" />+ <text form="short" suffix="." term="edition" />+ </group>+ </if>+ <else>+ <text suffix="." variable="edition" form="short"/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <text prefix=" " variable="volume" />+ <text prefix=", no. " variable="issue" />+ </if>+ <else-if type="book">+ <group delimiter=". " prefix=". ">+ <group>+ <text form="short" suffix=". " term="volume" text-case="capitalize-first" />+ <number form="numeric" variable="volume" />+ </group>+ <group>+ <number form="numeric" variable="number-of-volumes" />+ <text form="short" plural="true" prefix=" " suffix="." term="volume" />+ </group>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter">+ <group prefix=", ">+ <text suffix=":" variable="volume" />+ <text variable="page" />+ </group>+ </if>+ </choose>+ </macro>+ <macro name="locators-article">+ <choose>+ <if type="article-newspaper">+ <group delimiter=", " prefix=", ">+ <group>+ <text suffix=" " variable="edition" />+ <text prefix=" " term="edition" />+ </group>+ <group>+ <text form="short" suffix=". " term="section" />+ <text variable="section" />+ </group>+ </group>+ </if>+ <else-if type="article-journal">+ <text prefix=": " variable="page" />+ </else-if>+ </choose>+ </macro>+ <macro name="point-locators">+ <group>+ <choose>+ <if locator="page" match="none">+ <label form="short" suffix=" " variable="locator" />+ </if>+ </choose>+ <text variable="locator" />+ </group>+ </macro>+ <macro name="container-prefix">+ <text term="in" text-case="capitalize-first" />+ </macro>+ <macro name="container-title">+ <choose>+ <if type="chapter">+ <text macro="container-prefix" suffix=" " />+ </if>+ </choose>+ <text font-style="italic" variable="container-title" />+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place" />+ <text variable="publisher" />+ </group>+ </macro>+ <macro name="date">+ <date variable="issued">+ <date-part name="year" />+ </date>+ </macro>+ <macro name="day-month">+ <date variable="issued">+ <date-part name="month" />+ <date-part name="day" prefix=" " />+ </date>+ </macro>+ <macro name="collection-title">+ <text variable="collection-title" />+ <text prefix=" " variable="collection-number" />+ </macro>+ <macro name="event">+ <group>+ <text suffix=" " term="presented at" />+ <text variable="event" />+ </group>+ </macro>+ <macro name="description">+ <group delimiter=". ">+ <text macro="interviewer" />+ <text text-case="capitalize-first" variable="medium" />+ </group>+ <choose>+ <if match="none" variable="title"> </if>+ <else-if type="thesis"> </else-if>+ <else>+ <text prefix=". " text-case="capitalize-first" variable="genre" />+ </else>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="article-journal">+ <text macro="day-month" prefix=" (" suffix=")" />+ </if>+ <else-if type="speech">+ <group delimiter=", " prefix=" ">+ <text macro="event" />+ <text macro="day-month" />+ <text variable="event-place" />+ </group>+ </else-if>+ <else-if match="any" type="article-newspaper article-magazine">+ <text macro="day-month" prefix=", " />+ </else-if>+ <else>+ <group delimiter=", " prefix=". ">+ <choose>+ <if type="thesis">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ <text macro="publisher" />+ <text macro="day-month" />+ </group>+ </else>+ </choose>+ </macro>+ <citation + disambiguate-add-givenname="true"+ disambiguate-add-names="true"+ disambiguate-add-year-suffix="true"+ et-al-min="4"+ et-al-subsequent-min="4"+ et-al-subsequent-use-first="1"+ et-al-use-first="1">+ <layout delimiter="; " prefix="(" suffix=")">+ <group delimiter=", ">+ <group delimiter=" ">+ <text macro="contributors-short" />+ <text macro="date" />+ </group>+ <text macro="point-locators" />+ </group>+ </layout>+ </citation>+ <bibliography + entry-spacing="0"+ et-al-min="11"+ et-al-use-first="7"+ hanging-indent="true"+ subsequent-author-substitute="---">+ <sort>+ <key macro="contributors" />+ <key variable="issued" />+ <key variable="title" />+ </sort>+ <layout suffix=".">+ <text macro="contributors" suffix=". " />+ <text macro="date" suffix=". " />+ <text macro="title" />+ <text macro="description" />+ <text macro="secondary-contributors" prefix=". " />+ <text macro="container-title" prefix=". " />+ <text macro="container-contributors" />+ <text macro="locators-chapter" />+ <text macro="edition" prefix=". " />+ <text macro="locators" />+ <text macro="collection-title" prefix=". " />+ <text macro="issue" />+ <text macro="locators-article" />+ <text macro="access" prefix=". " />+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "URL": "http://www.un.org/en/development/desa/policy/wesp/wesp_mb/wesp_mb30.pdf",+ "author": [+ {+ "family": "UN DESA",+ "given": ""+ }+ ],+ "collection-title": "Monthly Briefing",+ "id": 76,+ "issued": {+ "date-parts": [+ [+ "2011",+ 4,+ 11+ ]+ ]+ },+ "number": "30",+ "publisher": "United Nations",+ "title": "Monthly Briefing: World Economic Situation and Prospects",+ "type": "report"+ },+ {+ "URL": "http://www.un.org/en/development/desa/policy/wesp/wesp_current/2011wespupdate_pr_en.pdf",+ "author": [+ {+ "family": "UN DESA",+ "given": ""+ }+ ],+ "collection-title": "WESP",+ "id": 71,+ "issued": {+ "date-parts": [+ [+ "2011",+ 5,+ 25+ ]+ ]+ },+ "publisher": "United Nations",+ "title": "World Economic Situation and Prospects 2011: Update as of mid-2011",+ "type": "report"+ },+ {+ "author": [+ {+ "family": "UN DESA",+ "given": ""+ }+ ],+ "call-number": "E.11.II.C.2",+ "id": 72,+ "issued": {+ "date-parts": [+ [+ 2011,+ 1,+ 13+ ]+ ]+ },+ "note": "#",+ "publisher": "United Nations",+ "title": "World Economic Situation and Prospects 2011",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_YearSuffixMixedDates.txt view
@@ -0,0 +1,106 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++>>===== RESULT =====>>+(A Ylinen, 1995a; b; c)+<<===== RESULT =====<<++>>===== CSL =====>>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>The Journal of Neuroscience vJT</title>+ <id>http://www.zotero.org/styles/journal-of-neuroscience-collapsedciteyears</id>+ <link href="http://www.zotero.org/styles/journal-of-neuroscience-collapsedciteyears" rel="self"/>+ <author>+ <name>Ullrich Bartsch</name>+ <email>ubartsch@gmail.com</email>+ </author>+ <contributor>+ <name>Omar Mian</name>+ <email>o.mian@ucl.ac.uk</email>+ </contributor>+ <category citation-format="author-date"/>+ <category field="medicine"/>+ <updated>2011-08-14T18:46:01+00:00</updated>+ <summary>The Journal of Neuroscience style</summary>+ <link href="http://www.jneurosci.org/misc/ifa_organization.shtml" rel="documentation"/>+ <rights>This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>+ </info>+ <citation disambiguate-add-year-suffix="true" collapse="year-suffix">+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <names variable="author"/>+ <date variable="issued" form="text" date-parts="year"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="20" et-al-use-first="1">+ <layout suffix=".">+ <text value="forget me"/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Ylinen",+ "given": "A"+ }+ ],+ "id": 22,+ "issued": {+ "date-parts": [+ [+ 1995+ ]+ ]+ },+ "type": "article-journal"+ },+ {+ "author": [+ {+ "family": "Ylinen",+ "given": "A"+ }+ ],+ "id": 21,+ "issued": {+ "date-parts": [+ [+ "1995"+ ]+ ]+ },+ "type": "article-journal"+ },+ {+ "author": [+ {+ "family": "Ylinen",+ "given": "A"+ }+ ],+ "id": 23,+ "issued": {+ "date-parts": [+ [+ "1995"+ ]+ ]+ },+ "type": "article-journal"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_YearSuffixTwoPairsBibliography.txt view
@@ -0,0 +1,159 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++Original test by Bruce D'Arcus.++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">J. Doe and S. Jones, 1999a</div>+ <div class="csl-entry">J. Doe and S. Jones, 1999b</div>+ <div class="csl-entry">J. Doe and S. Smith, 1999a</div>+ <div class="csl-entry">J. Doe and S. Smith, 1999b</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="in-text"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2011-06-10T04:49:00+09:00</updated>+ </info>+ <macro name="date">+ <date variable="issued">+ <date-part name="year" />+ </date>+ <text variable="year-suffix" />+ </macro>+ <macro name="author">+ <names variable="author">+ <name delimiter=", " initialize-with=". " and="text"/>+ </names>+ </macro>+ <citation + disambiguate-add-year-suffix="true">+ <layout>+ <names variable="author">+ <name initialize-with="."/>+ </names>+ <date form="text" date-parts="year" variable="issued"/>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key macro="author"/>+ <key macro="date" />+ </sort>+ <layout>+ <text macro="author" suffix=", "/>+ <text macro="date"/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Jones",+ "given": "Sarah"+ }+ ],+ "id": "suffix1",+ "issued": {+ "date-parts": [+ [+ "1999"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "James"+ },+ {+ "family": "Jones",+ "given": "Steven"+ }+ ],+ "id": "suffix2",+ "issued": {+ "date-parts": [+ [+ "1999"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "Jake"+ },+ {+ "family": "Smith",+ "given": "Stan"+ }+ ],+ "id": "suffix3",+ "issued": {+ "date-parts": [+ [+ "1999"+ ]+ ]+ },+ "title": "Book C",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "Jasper"+ },+ {+ "family": "Smith",+ "given": "Sandra"+ }+ ],+ "id": "suffix4",+ "issued": {+ "date-parts": [+ [+ "1999"+ ]+ ]+ },+ "title": "Book D",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_YearSuffixTwoPairsFirstNameBibliography.txt view
@@ -0,0 +1,161 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++Original test by Bruce D'Arcus.++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">J. Doe and S. Jones, 1999a</div>+ <div class="csl-entry">J. Doe and S. Jones, 1999b</div>+ <div class="csl-entry">J. Doe and S. Smith, 1999a</div>+ <div class="csl-entry">J. Doe and S. Smith, 1999b</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="in-text"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2011-06-10T04:49:00+09:00</updated>+ </info>+ <macro name="date">+ <date variable="issued">+ <date-part name="year" />+ </date>+ <text variable="year-suffix" />+ </macro>+ <macro name="author">+ <names variable="author">+ <name delimiter=", " initialize-with=". " and="text"/>+ </names>+ </macro>+ <citation + et-al-min="3"+ et-al-use-first="1"+ disambiguate-add-year-suffix="true">+ <layout>+ <names variable="author">+ <name initialize-with="."/>+ </names>+ <date form="text" date-parts="year" variable="issued"/>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key macro="author"/>+ <key macro="date" />+ </sort>+ <layout>+ <text macro="author" suffix=", "/>+ <text macro="date"/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Jones",+ "given": "Sarah"+ }+ ],+ "id": "suffix1",+ "issued": {+ "date-parts": [+ [+ "1999"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "James"+ },+ {+ "family": "Jones",+ "given": "Steven"+ }+ ],+ "id": "suffix2",+ "issued": {+ "date-parts": [+ [+ "1999"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "Jake"+ },+ {+ "family": "Smith",+ "given": "Stan"+ }+ ],+ "id": "suffix3",+ "issued": {+ "date-parts": [+ [+ "1999"+ ]+ ]+ },+ "title": "Book C",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "Jasper"+ },+ {+ "family": "Smith",+ "given": "Sandra"+ }+ ],+ "id": "suffix4",+ "issued": {+ "date-parts": [+ [+ "1999"+ ]+ ]+ },+ "title": "Book D",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_YearSuffixTwoPairsFullNamesBibliography.txt view
@@ -0,0 +1,159 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++Original test by Bruce D'Arcus.++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">J. Doe and S. Jones, 1999</div>+ <div class="csl-entry">J. Doe and S. Jones, 1999</div>+ <div class="csl-entry">J. Doe and S. Smith, 1999</div>+ <div class="csl-entry">J. Doe and S. Smith, 1999</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="in-text"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2011-06-10T04:49:00+09:00</updated>+ </info>+ <macro name="date">+ <date variable="issued">+ <date-part name="year" />+ </date>+ <text variable="year-suffix" />+ </macro>+ <macro name="author">+ <names variable="author">+ <name delimiter=", " initialize-with=". " and="text"/>+ </names>+ </macro>+ <citation + disambiguate-add-year-suffix="true">+ <layout>+ <names variable="author">+ <name/>+ </names>+ <date form="text" date-parts="year" variable="issued"/>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key macro="author"/>+ <key macro="date" />+ </sort>+ <layout>+ <text macro="author" suffix=", "/>+ <text macro="date"/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Jones",+ "given": "Sarah"+ }+ ],+ "id": "suffix1",+ "issued": {+ "date-parts": [+ [+ "1999"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "James"+ },+ {+ "family": "Jones",+ "given": "Steven"+ }+ ],+ "id": "suffix2",+ "issued": {+ "date-parts": [+ [+ "1999"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "Jake"+ },+ {+ "family": "Smith",+ "given": "Stan"+ }+ ],+ "id": "suffix3",+ "issued": {+ "date-parts": [+ [+ "1999"+ ]+ ]+ },+ "title": "Book C",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "Jasper"+ },+ {+ "family": "Smith",+ "given": "Sandra"+ }+ ],+ "id": "suffix4",+ "issued": {+ "date-parts": [+ [+ "1999"+ ]+ ]+ },+ "title": "Book D",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_YearSuffixWithEtAlSubequent.txt view
@@ -0,0 +1,138 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+(Smith 2000a; 2000b; 2000c)+(Smith 2000b)+(Smith 2000c)+<<===== RESULT =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ]+]+<<===== CITATION-ITEMS =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + et-al-min="3"+ et-al-use-first="1"+ et-al-subsequent-min="3"+ et-al-subsequent-use-first="1"+ disambiguate-add-names="true"+ disambiguate-add-year-suffix="true"+ collapse="year">++ <layout delimiter="; " prefix="(" suffix=")">+ <group delimiter=" ">+ <names delimiter=", " variable="author">+ <name and="symbol" form="short"/>+ </names>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ }, + "title": "Book A",+ "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "id": "ITEM-2", + "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ }, + "title": "Book B",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ },+ "title": "Book C",+ "type": "book"+ }+]+<<===== INPUT =====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/disambiguate_YearSuffixWithMixedCreatorTypes.txt view
@@ -0,0 +1,109 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ]+]+<<===== CITATION-ITEMS =====<<++>>===== RESULT =====>>+(Asthma 1990a)+(Asthma 1990b)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + disambiguate-add-year-suffix="true">+ <layout prefix="(" suffix=")">+ <group delimiter=" ">+ <names variable="author">+ <name form="short"/>+ <substitute>+ <names variable="editor"/>+ </substitute>+ </names>+ <date form="text" date-parts="year" variable="issued" />+ </group>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key variable="issued" />+ <key variable="title" />+ </sort>+ <layout>+ <text value="Ignore me" />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Asthma", + "given": "Albert"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ }, + "title": "Book A", + "type": "book"+ }, + {+ "editor": [+ {+ "family": "Asthma", + "given": "Albert"+ }+ ], + "id": "ITEM-2", + "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ }, + "title": "Book B", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/display_AuthorAsHeading.txt view
@@ -0,0 +1,180 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++An illustration of how the class attribute could be used to support+the grouping of authors in the AAA style bibliography format.++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">++ <div class="csl-block">John Aloysius Doe</div>++ <div class="csl-left-margin">1999</div><div class="csl-right-inline">Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa</div>+ </div>+ <div class="csl-entry">+ <div class="csl-left-margin">2000</div><div class="csl-right-inline">Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb</div>+ </div>+ <div class="csl-entry">++ <div class="csl-block">Jane Henrietta Roe</div>++ <div class="csl-left-margin">1999a</div><div class="csl-right-inline">Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc</div>+ </div>+ <div class="csl-entry">+ <div class="csl-left-margin">1999b</div><div class="csl-right-inline">Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd</div>+ </div>+ <div class="csl-entry">+ <div class="csl-left-margin">2000</div><div class="csl-right-inline">Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee</div>+ </div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + disambiguate-add-year-suffix="true">+ <layout>+ <names variable="author">+ <name />+ </names>+ <date variable="issued">+ <date-part name="year" />+ </date>+ </layout>+ </citation>+ <bibliography + subsequent-author-substitute="">+ <layout>+ <group display="block">+ <names variable="author">+ <name and="text" />+ </names>+ </group>+ <group display="left-margin">+ <date variable="issued">+ <date-part name="year" />+ </date>+ <text variable="year-suffix" />+ </group>+ <group display="right-inline">+ <text variable="title" />+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John Aloysius"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1999+ ]+ ]+ },+ "title": "Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John Aloysius"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ },+ "title": "Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane Henrietta"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ 1999+ ]+ ]+ },+ "title": "Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane Henrietta"+ }+ ],+ "id": "ITEM-4",+ "issued": {+ "date-parts": [+ [+ 1999+ ]+ ]+ },+ "title": "Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane Henrietta"+ }+ ],+ "id": "ITEM-5",+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ },+ "title": "Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/display_DisplayBlock.txt view
@@ -0,0 +1,99 @@+>>== MODE ==>>+bibliography+<<== MODE ==<<++++>>== RESULT ==>>+<div class="csl-bib-body">+ <div class="csl-entry">John Smith, Book A (2000)<div class="csl-indent">An interesting book by an interesting author.</div>+ </div>+ <div class="csl-entry">Robert Jones, Book B (2001)<div class="csl-indent">An old contribution to a new field.</div>+ </div>+</div>+<<== RESULT ==<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="hello" />+ </layout>+ </citation>+ <bibliography>+ <layout>+ <group delimiter=" ">+ <group delimiter=", ">+ <names variable="author">+ <name />+ </names>+ <text variable="title" />+ </group>+ <date prefix="(" suffix=")" variable="issued">+ <date-part name="year" />+ </date>+ </group>+ <text display="indent" variable="abstract" />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "abstract": "An interesting book by an interesting author.",+ "author": [+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "abstract": "An old contribution to a new field.",+ "author": [+ {+ "family": "Jones",+ "given": "Robert"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "2001"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/display_LostSuffix.txt view
@@ -0,0 +1,272 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">Book One, (zitiert als: <i>Aalto</i>, Chapter One).</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" version="1.0" class="note" default-locale="de-DE">+ <info>+ <title>Juristische Zitierweise (Stüber) (German)</title>+ <id>http://www.zotero.org/styles/juristische-zitierweise</id>+ <link href="http://www.zotero.org/styles/juristische-zitierweise" rel="self"/>+ <link href="www.niederle-media.de/Zitieren.pdf" rel="documentation"/>+ <link href="https://forums.zotero.org/discussion/20886/citation-style-for-german-lawyers/" rel="documentation"/>+ <author>+ <name>Oliver Wolf</name>+ <email>wolf.o@gmx.net</email>+ </author>+ <contributor>+ <name>Philipp Zumstein</name>+ </contributor>+ <category citation-format="note"/>+ <category field="law"/>+ <summary>Juristische Zitierweise nach Stüber www.niederle-media.de/Zitieren.pdf</summary>+ <updated>2014-08-10T17:03:15+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <macro name="author">+ <names variable="author" font-style="italic">+ <name delimiter=" / " name-as-sort-order="all" sort-separator=", " form="long"/>+ <label form="short" prefix=" (" suffix=")"/>+ <substitute>+ <names variable="editor"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-note">+ <names variable="author" font-style="italic">+ <name form="short" delimiter="/" et-al-min="5" et-al-use-first="1" name-as-sort-order="all"/>+ </names>+ </macro>+ <macro name="locator-with-label">+ <group delimiter=" ">+ <label variable="locator" form="symbol"/>+ <text variable="locator"/>+ </group>+ </macro>+ <macro name="autor-editor-note">+ <names variable="author" font-style="italic">+ <name form="short" delimiter="/" et-al-min="5" et-al-use-first="1" sort-separator=""/>+ <substitute>+ <names variable="editor"/>+ </substitute>+ </names>+ </macro>+ <macro name="journalname-year">+ <group delimiter=" ">+ <text variable="container-title" form="short"/>+ <date date-parts="year" form="text" variable="issued"/>+ </group>+ </macro>+ <macro name="inbook">+ <group delimiter=": ">+ <text term="in"/>+ <group delimiter=", ">+ <names variable="editor">+ <name form="short" delimiter="/" initialize-with=""/>+ </names>+ </group>+ </group>+ </macro>+ <macro name="firstpage-locator">+ <group delimiter=" ">+ <text variable="page-first"/>+ <text variable="locator" prefix="(" suffix=")"/>+ </group>+ </macro>+ <citation>+ <layout delimiter="; ">+ <choose>+ <if type="article-journal">+ <group delimiter=", ">+ <text macro="author-note"/>+ <text macro="journalname-year"/>+ <text macro="firstpage-locator"/>+ </group>+ </if>+ <else-if type="book">+ <group delimiter=", ">+ <text macro="autor-editor-note"/>+ <text variable="title" form="short"/>+ <text macro="locator-with-label"/>+ </group>+ </else-if>+ <else-if type="chapter">+ <group delimiter=", ">+ <text macro="author-note"/>+ <text macro="inbook"/>+ <text variable="title" form="short" suffix=","/>+ <text variable="note"/>+ <text macro="locator-with-label"/>+ </group>+ </else-if>+ <else-if type="entry-encyclopedia">+ <text value=", in: "/>+ <text variable="title" suffix="," form="short"/>+ <text variable="note" suffix=","/>+ </else-if>+ <else-if type="legal_case" match="any"> + <choose>+ <if variable="number">+ <text variable="authority" suffix=", "/>+ <text variable="note" suffix=" "/>+ <date form="numeric" variable="issued" prefix="v. " suffix=" – " />+ <text variable="number"/>+ </if>+ <else>+ <text variable="authority" suffix=" "/>+ <text variable="container-title" suffix=" "/>+ <text variable="volume" suffix=", "/>+ <text macro="firstpage-locator"/>+ </else>+ </choose> + </else-if>+ <else-if type="webpage">+ <text variable="note" suffix=" unter "/>+ <text variable="URL" font-style="italic" suffix=" [zuletzt aufgerufen am "/>+ <date form="numeric" variable="issued" suffix="]"/>+ </else-if>+ <else-if type="legislation">+ <text variable="title" form="short"/>+ </else-if>+ </choose>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key macro="author"/>+ <key variable="issued"/>+ </sort>+ <layout>+ <choose>+ <if type="article-journal">+ <text macro="author" font-weight="bold"/>+ <text variable="title" prefix=": " suffix=", "/>+ <text variable="container-title" form="short" suffix=" "/>+ <date variable="issued" suffix=", ">+ <date-part name="year" form="long"/>+ <date-part name="month" form="numeric"/>+ <date-part name="day" form="ordinal"/>+ </date>+ <text variable="page" prefix="S. " suffix=" ff."/>+ </if>+ <else-if type="book">+ <text macro="author" font-weight="bold"/>+ <text variable="title" prefix=", " suffix=", "/>+ <text variable="edition" suffix=" Auflage, "/>+ <text variable="publisher-place" suffix=" "/> + <date variable="issued">+ <date-part name="year" form="long"/>+ </date>+ <group prefix=" (zitiert als: " suffix=").">+ <text macro="autor-editor-note" suffix=", "/> + <text variable="title" form="short"/>+ </group> + </else-if> + <else-if type="chapter">+ <names variable="editor" font-weight="bold" font-style="italic" suffix=" (Hrsg.)">+ <name delimiter=" / " name-as-sort-order="all" sort-separator=", " form="long"/> + </names>+ <text variable="container-title" prefix=": " suffix=", "/>+ <text variable="volume" prefix="Band " suffix=", "/>+ <text variable="collection-title" suffix=", "/>+ <text variable="edition" suffix=" Auflage, "/>+ <text variable="publisher-place" suffix=" "/>+ <date variable="issued">+ <date-part name="year" form="long"/>+ </date>+ <group prefix=" (zitiert als: " suffix=").">+ <text macro="autor-editor-note" suffix=", "/> + <text variable="title" form="short"/>+ </group> + </else-if>+ <else-if type="thesis">+ <text macro="author" font-weight="bold"/>+ <text variable="title" prefix=", " suffix=", Diss. jur., "/>+ <text variable="publisher-place" suffix=" "/>+ <date variable="issued" suffix=". ">+ <date-part name="year" form="long"/>+ </date>+ </else-if>+ <else-if type="entry-encyclopedia">+ <names variable="editor" font-weight="bold" font-style="italic" suffix=" (Hrsg.)">+ <name delimiter=" / " name-as-sort-order="all" sort-separator=", " form="long"/> + </names>+ <text variable="container-title" prefix=": " suffix=", "/>+ <text variable="volume" prefix="Band " suffix=", "/>+ <text variable="collection-title" suffix=", "/>+ <text variable="edition" suffix=" Auflage, "/>+ <text variable="publisher-place" suffix=" "/>+ <date variable="issued" >+ <date-part name="year" form="long"/>+ </date>+ <group display="block">+ <group prefix=" (zitiert als: " suffix=").">+ <text value="Bearbeiter," suffix=" " font-style="italic"/>+ <text value="in:" suffix=" "/>+ <text variable="title" form="short"/>+ </group>+ </group>+ </else-if>+ <else-if type="legal_case">+ <text value="Rechtsprechung"/>+ </else-if>+ <else-if type="webpage">+ <text value="webpage"/>+ </else-if>+ <else>+ <text macro="author"/>+ <text variable="title" prefix=", " suffix=", "/>+ <text variable="container-title" suffix=" "/>+ <date variable="issued" suffix=", ">+ <date-part name="year" form="long"/>+ <date-part name="month" form="numeric"/>+ <date-part name="day" form="ordinal"/>+ </date>+ <text variable="page" suffix="."/>+ </else>+ </choose>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "collection-title": "Book One",+ "id": "ITEM-1",+ "title": "Chapter One",+ "type": "chapter"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/display_SecondFieldAlignClone.txt view
@@ -0,0 +1,106 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">+ <div class="csl-left-margin">[1]</div><div class="csl-right-inline"> John Aloysius Doe, “John’s Book” (1999)</div>+ </div>+ <div class="csl-entry">+ <div class="csl-left-margin">[2]</div><div class="csl-right-inline"> Jane Henrietta Roe, “Jane’s Book” (2000)</div>+ </div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="in-text"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name and="text" />+ </names>+ </macro>+ <macro name="date">+ <date variable="issued">+ <date-part name="year" />+ </date>+ <text variable="year-suffix" />+ </macro>+ <citation>+ <layout>+ <text variable="citation-number"/>+ </layout>+ </citation>+ <bibliography + subsequent-author-substitute="">+ <layout>+ <text variable="citation-number" prefix="[" suffix="]" display="left-margin"/>+ <group delimiter=" " prefix=" " display="right-inline">+ <group delimiter=", ">+ <text macro="author"/>+ <text variable="title" quotes="true"/>+ </group>+ <text macro="date" prefix="(" suffix=")"/>+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John Aloysius"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1999+ ]+ ]+ },+ "title": "John's Book",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane Henrietta"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ },+ "title": "Jane's Book",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/display_SecondFieldAlignMigratePunctuation.txt view
@@ -0,0 +1,208 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">+ <div class="csl-left-margin">[1]</div><div class="csl-right-inline"> B. D’Arcus, <i>Boundaries of Dissent: Protest and State Power in the Media Age</i>, Routledge, 2005.</div>+ </div>+ <div class="csl-entry">+ <div class="csl-left-margin">[2]</div><div class="csl-right-inline"> F.G. Bennett Jr., “Getting Property Right: ‘Informal’ Mortgages in the Japanese Courts,” <i>Pac. Rim L. & Pol’y J.</i>, vol. 18, Aug. 2009, pp. 463–509.</div>+ </div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>IEEE</title>+ <id>http://www.zotero.org/styles/ieee</id>+ <link href="http://www.zotero.org/styles/ieee" rel="self"/>+ <author>+ <name>Michael Berkowitz</name>+ <email>mberkowi@gmu.edu</email>+ </author>+ <contributor>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </contributor>+ <contributor>+ <name>Rintze Zelle</name>+ <uri>http://forums.zotero.org/account/831/</uri>+ </contributor>+ <category field="engineering"/>+ <category field="generic-base"/>+ <category citation-format="numeric"/>+ <updated>2010-02-06T06:35:40+00:00</updated>+ <link href="http://www.ieee.org/portal/cms_docs_iportals/iportals/publications/authors/transjnl/stylemanual.pdf" rel="documentation"/>+ </info>+ <macro name="author">+ <names variable="author">+ <name initialize-with="." delimiter=", " and="text"/>+ <label form="short" prefix=", " text-case="capitalize-first" suffix="." strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name initialize-with="." delimiter=", " and="text" name-as-sort-order="all"/>+ <label form="short" prefix=", " text-case="capitalize-first" suffix="." strip-periods="true"/>+ </names>+ </macro>+ <macro name="title">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else>+ <text variable="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <text variable="publisher-place" suffix=": " prefix=" "/>+ <text variable="publisher" suffix=", "/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </macro>+ <macro name="access">+ <text variable="URL"/>+ </macro>+ <macro name="page">+ <group>+ <label variable="page" form="short" suffix=". " strip-periods="true"/>+ <text variable="page"/>+ </group>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" collapse="citation-number">+ <sort>+ <key variable="citation-number"/>+ </sort>+ <layout delimiter=",">+ <text variable="citation-number" prefix="[" suffix="]"/>+ </layout>+ </citation>+ <bibliography entry-spacing="0" second-field-align="flush">+ <layout suffix=".">+ <text variable="citation-number" prefix="[" suffix="]"/>+ <text macro="author" prefix=" " suffix=", "/>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="publisher"/>+ </group>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=", ">+ <text macro="title"/>+ <text variable="container-title" font-style="italic"/>+ <text macro="editor"/>+ <text macro="publisher"/>+ <text macro="page"/>+ </group>+ </else-if>+ <else-if type="patent">+ <text macro="title" suffix=", "/>+ <text variable="number" prefix="U.S. Patent "/>+ <date variable="issued" prefix=", ">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </else-if>+ <else-if type="thesis">+ <group delimiter=", ">+ <text macro="title"/>+ <text variable="genre"/>+ <text variable="publisher"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ <else>+ <group delimiter=", ">+ <text macro="title"/>+ <text variable="container-title" font-style="italic"/>+ <text variable="volume" prefix=" vol. "/>+ <date variable="issued">+ <date-part name="month" form="short" suffix=". " strip-periods="true"/>+ <date-part name="year"/>+ </date>+ <text macro="page"/>+ </group>+ </else>+ </choose>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "D'Arcus",+ "given": "Bruce"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2005,+ 11,+ 22+ ]+ ]+ },+ "note": "The apostrophe in Bruce's name appears in proper typeset form.",+ "publisher": "Routledge",+ "title": "Boundaries of Dissent: Protest and State Power in the Media Age",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Bennett",+ "given": "Frank G.",+ "suffix": "Jr."+ }+ ],+ "container-title": "Pac. Rim L. & Pol'y J.",+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 2009,+ 8+ ]+ ]+ },+ "page": "463-509",+ "title": "Getting Property Right: \"Informal\" Mortgages in the Japanese Courts",+ "type": "article-journal",+ "volume": "18"+ }+]+<<===== INPUT =====<<+++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/etal_CitationAndBibliographyDecorationsInBibliography.txt view
@@ -0,0 +1,141 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Doe, J. et al. 1965.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" default-locale="en-US">+ <info>+ <title>Emerald journals (Harvard)</title>+ <id>http://www.zotero.org/styles/emerald-harvard</id>+ <link href="http://www.zotero.org/styles/emerald-harvard" rel="self"/>+ <link href="http://www.emeraldinsight.com/authors/guides/write/harvard.htm?part=2" rel="documentation"/>+ <author>+ <name>Sebastian Karcher</name>+ </author>+ <category citation-format="author-date"/>+ <category field="generic-base"/>+ <updated>2013-08-29T05:27:03+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" and="text" sort-separator=", " initialize-with="." delimiter=", " delimiter-precedes-last="never"/>+ <label form="short" prefix=" (" suffix=".)" text-case="capitalize-first" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", " initialize-with="." delimiter-precedes-last="never"/>+<et-al font-style="italic"/> + <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <choose>+ <if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <text variable="title" form="short" font-style="italic"/>+ </if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </substitute>+ </names>+ </macro>+ <macro name="issued-year">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="citation-locator">+ <group>+ <label variable="locator" form="short"/>+ <text variable="locator" prefix=" "/>+ </group>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" collapse="year">+ <sort>+ <key macro="author"/>+ <key macro="issued-year"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <text macro="author-short"/>+ <text macro="issued-year"/>+ <text macro="citation-locator"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="3" et-al-use-first="1" entry-spacing="0" line-spacing="2">+ <sort>+ <key macro="author"/>+ <key macro="issued-year" sort="ascending"/>+ </sort>+ <layout suffix=".">+ <group delimiter=" ">+ <text macro="author" suffix="."/>+ <text macro="issued-year"/>+ </group> + </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Noakes",+ "given": "Richard"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/etal_CitationAndBibliographyDecorationsInCitation.txt view
@@ -0,0 +1,139 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+(Doe <i>et al.</i>, 1965)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" default-locale="en-US">+ <info>+ <title>Emerald journals (Harvard)</title>+ <id>http://www.zotero.org/styles/emerald-harvard</id>+ <link href="http://www.zotero.org/styles/emerald-harvard" rel="self"/>+ <link href="http://www.emeraldinsight.com/authors/guides/write/harvard.htm?part=2" rel="documentation"/>+ <author>+ <name>Sebastian Karcher</name>+ </author>+ <category citation-format="author-date"/>+ <category field="generic-base"/>+ <updated>2013-08-29T05:27:03+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" and="text" sort-separator=", " initialize-with="." delimiter=", " delimiter-precedes-last="never"/>+ <label form="short" prefix=" (" suffix=".)" text-case="capitalize-first" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", " initialize-with="." delimiter-precedes-last="never"/>+<et-al font-style="italic"/> + <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <choose>+ <if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <text variable="title" form="short" font-style="italic"/>+ </if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </substitute>+ </names>+ </macro>+ <macro name="issued-year">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="citation-locator">+ <group>+ <label variable="locator" form="short"/>+ <text variable="locator" prefix=" "/>+ </group>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" collapse="year">+ <sort>+ <key macro="author"/>+ <key macro="issued-year"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <text macro="author-short"/>+ <text macro="issued-year"/>+ <text macro="citation-locator"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="3" et-al-use-first="1" entry-spacing="0" line-spacing="2">+ <sort>+ <key macro="author"/>+ <key macro="issued-year" sort="ascending"/>+ </sort>+ <layout suffix=".">+ <group delimiter=" ">+ <text macro="author" suffix="."/>+ <text macro="issued-year"/>+ </group> + </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Noakes",+ "given": "Richard"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/etal_ShortFormOfName.txt view
@@ -0,0 +1,63 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Doe <i>et al.</i>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ et-al-min="3"+ et-al-use-first="1">+ <layout>+ <names variable="author">+ <name form="short"/>+ <et-al font-style="italic"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Noakes",+ "given": "Richard"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/etal_UseZeroFirst.txt view
@@ -0,0 +1,67 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe et al.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <group delimiter=" // ">+ <names variable="author">+ <name et-al-min="2" et-al-use-first="0"/>+ </names>+ <names variable="author">+ <name et-al-min="2" et-al-use-first="1"/>+ </names>+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/flipflop_ApostropheInsideTag.txt view
@@ -0,0 +1,68 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++>>===== RESULT =====>>+l’’’+<<===== RESULT =====<<++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0" demote-non-dropping-particle="never">+ <info>+ <title>Chicago Manual of Style (full note, no Ibid.)</title>+ <id>http://www.zotero.org/styles/chicago-fullnote-bibliography-no-ibid</id>+ <link href="http://www.zotero.org/styles/chicago-fullnote-bibliography-no-ibid" rel="self"/>+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </contributor>+ <contributor>+ <name>Elena Razlogova</name>+ <email>elena.razlogova@gmail.com</email>+ </contributor>+ <contributor>+ <name>Frank Bennett</name>+ <email>biercenator@gmail.com</email>+ </contributor>+ <category citation-format="note"/>+ <category field="generic-base"/>+ <summary>Chicago format with full notes and bibliography</summary>+ <updated>2012-10-25T21:15:26+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <citation>+ <layout>+ <text variable="title"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "multi": {+ "_keys": {},+ "main": {}+ },+ "title": "<span class=\"nocase\">l'''</span>",+ "type": "article-journal"+ }+]+<<===== INPUT =====<<+++ "title": "<sc>l'</sc>wow",+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/flipflop_Apostrophes.txt view
@@ -0,0 +1,1077 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+“Supplément Aux Annales Du Service Des Antiquités de l’Égypte, Cahier” (Cairo: Conseil Suprême des Antiquités de l’Égypte [formerly Imprimerie de l’Institut français d’archéologie orientale], n.d.).+<<===== RESULT =====<<++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0" demote-non-dropping-particle="never">+ <info>+ <title>Chicago Manual of Style (full note, no Ibid.)</title>+ <id>http://www.zotero.org/styles/chicago-fullnote-bibliography-no-ibid</id>+ <link href="http://www.zotero.org/styles/chicago-fullnote-bibliography-no-ibid" rel="self"/>+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </contributor>+ <contributor>+ <name>Elena Razlogova</name>+ <email>elena.razlogova@gmail.com</email>+ </contributor>+ <contributor>+ <name>Frank Bennett</name>+ <email>biercenator@gmail.com</email>+ </contributor>+ <category citation-format="note"/>+ <category field="generic-base"/>+ <summary>Chicago format with full notes and bibliography</summary>+ <updated>2012-10-25T21:15:26+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale xml:lang="en">+ <terms>+ <term name="editortranslator" form="verb-short">+ <single>trans. and ed.</single>+ <multiple>trans. and ed.</multiple>+ </term>+ <term name="editortranslator" form="verb">+ <single>Translated and edited by</single>+ <multiple>Translated and edited by</multiple>+ </term>+ <term name="editor" form="verb-short">ed.</term>+ <term name="translator" form="verb-short">trans.</term>+ <term name="translator" form="short">trans.</term>+ </terms>+ </locale>+ <macro name="editor-translator">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <group delimiter=" ">+ <choose>+ <if variable="container-author">+ <group>+ <names variable="container-author">+ <label form="verb-short" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </if>+ </choose>+ </group>+ <names variable="editor translator" delimiter=", ">+ <label form="verb-short" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="secondary-contributors-note">+ <choose>+ <if type="chapter paper-conference" match="none">+ <text macro="editor-translator"/>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors-note">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text macro="editor-translator"/>+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if type="chapter paper-conference" match="none">+ <group delimiter=". ">+ <choose>+ <if variable="author">+ <names variable="editor translator" delimiter=". ">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference" match="any">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <choose>+ <if variable="container-author">+ <names variable="container-author">+ <label form="verb-short" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ </choose>+ <!--This includes page numers after the container author, e.g. for Introductions -->+ <choose>+ <if variable="container-author author" match="all">+ <group delimiter=". ">+ <text variable="page"/>+ <names variable="editor translator" delimiter=", ">+ <label form="verb" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </if>+ <else>+ <names variable="editor translator" delimiter=", ">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </else>+ </choose>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="recipient-note">+ <names variable="recipient" delimiter=", ">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="contributors-note">+ <group delimiter=" ">+ <names variable="author">+ <name and="text" sort-separator=", " delimiter=", "/>+ <label form="short" prefix=", "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ <text macro="recipient-note"/>+ </group>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", "/>+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="verb-short" prefix=", "/>+ </names>+ </macro>+ <macro name="recipient">+ <group delimiter=" ">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ <else>+ <text term="letter" text-case="capitalize-first"/>+ </else>+ </choose>+ </if>+ </choose>+ <text macro="recipient-note"/>+ </group>+ </macro>+ <macro name="contributors">+ <group delimiter=". ">+ <names variable="author">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <substitute>+ <text macro="editor"/>+ <text macro="translator"/>+ </substitute>+ </names>+ <text macro="recipient"/>+ </group>+ </macro>+ <macro name="recipient-short">+ <names variable="recipient">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name form="short" and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="contributors-short">+ <group delimiter=" ">+ <names variable="author">+ <name form="short" and="text" delimiter=", "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ <text macro="recipient-short"/>+ </group>+ </macro>+ <macro name="contributors-sort">+ <names variable="author">+ <name name-as-sort-order="all" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="interviewer-note">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="interviewer">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="title-note">+ <choose>+ <if variable="title" match="none">+ <text variable="genre"/>+ </if>+ <else-if type="bill book graphic legislation motion_picture report song" match="any">+ <text variable="title" text-case="title" font-style="italic"/>+ <group delimiter=" " prefix=", ">+ <text term="version"/>+ <text variable="version"/>+ </group>+ </else-if>+ <else-if type="legal_case interview" match="any">+ <text variable="title"/>+ </else-if>+ <else>+ <text variable="title" text-case="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if variable="title" match="none">+ <choose>+ <if type="personal_communication" match="none">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ </choose>+ </if>+ <else-if type="bill book graphic legislation motion_picture report song" match="any">+ <text variable="title" text-case="title" font-style="italic"/>+ <group prefix=" (" suffix=")" delimiter=" ">+ <text term="version"/>+ <text variable="version"/>+ </group>+ </else-if>+ <else-if type="legal_case interview" match="any">+ <text variable="title"/>+ </else-if>+ <else>+ <text variable="title" text-case="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="title-short">+ <choose>+ <if variable="title" match="none">+ <choose>+ <if type="interview">+ <text term="interview"/>+ </if>+ <else-if type="manuscript speech" match="any">+ <text variable="genre" form="short"/>+ </else-if>+ <else-if type="personal_communication">+ <text macro="issued"/>+ </else-if>+ </choose>+ </if>+ <else-if type="bill book graphic legislation motion_picture report song" match="any">+ <text variable="title" text-case="title" form="short" font-style="italic"/>+ </else-if>+ <else-if type="legal_case interview" match="any">+ <text variable="title"/>+ </else-if>+ <else>+ <text variable="title" text-case="title" form="short" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="date-disambiguate">+ <choose>+ <if disambiguate="true">+ <text macro="issued"/>+ </if>+ </choose>+ </macro>+ <macro name="description-note">+ <group delimiter=", ">+ <text macro="interviewer-note"/>+ <text variable="medium"/>+ <choose>+ <if variable="title" match="none"/>+ <else-if type="thesis speech" match="any"/>+ <else>+ <text variable="genre"/>+ </else>+ </choose>+ </group>+ </macro>+ <macro name="description">+ <group delimiter=", ">+ <group delimiter=". ">+ <text macro="interviewer"/>+ <text variable="medium" text-case="capitalize-first"/>+ </group>+ <choose>+ <if variable="title" match="none"/>+ <else-if type="thesis speech" match="any"/>+ <else>+ <text variable="genre" text-case="capitalize-first"/>+ </else>+ </choose>+ </group>+ </macro>+ <macro name="container-title-note">+ <group delimiter=" ">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text term="in" text-case="lowercase"/>+ </if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <text variable="container-title" text-case="title" font-style="italic"/>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="container-title">+ <group delimiter=" ">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text term="in" text-case="capitalize-first"/>+ </if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <text variable="container-title" text-case="title" font-style="italic"/>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="collection-title">+ <group delimiter=" ">+ <text variable="collection-title" text-case="title"/>+ <text variable="collection-number"/>+ </group>+ </macro>+ <macro name="edition-note">+ <choose>+ <if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short"/>+ </group>+ </if>+ <else>+ <number variable="edition" suffix="."/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short"/>+ </group>+ </if>+ <else>+ <number variable="edition" text-case="capitalize-first" suffix="."/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-note-join-with-space">+ <choose>+ <if type="article-journal">+ <text macro="locators-note"/>+ </if>+ </choose>+ </macro>+ <macro name="locators-note-join-with-comma">+ <choose>+ <if type="article-journal" match="none">+ <text macro="locators-note"/>+ </if>+ </choose>+ </macro>+ <macro name="locators-note">+ <choose>+ <if type="article-journal">+ <group delimiter=", ">+ <number variable="volume"/>+ <group delimiter=" ">+ <text term="issue" form="short"/>+ <number variable="issue"/>+ </group>+ </group>+ </if>+ <else-if type="legal_case">+ <group delimiter=", ">+ <group delimiter=" ">+ <number variable="volume"/>+ <text variable="container-title"/>+ <text variable="page"/>+ </group>+ <text variable="locator"/>+ </group>+ </else-if>+ <else-if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="any">+ <group delimiter=", ">+ <group delimiter=" ">+ <text term="volume" form="short"/>+ <number variable="volume" form="numeric"/>+ </group>+ <choose>+ <if variable="locator" match="none">+ <group delimiter=" ">+ <number variable="number-of-volumes" form="numeric"/>+ <text term="volume" form="short" plural="true"/>+ </group>+ </if>+ </choose>+ <text macro="edition-note"/>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-join-with-space">+ <choose>+ <if type="article-journal">+ <text macro="locators"/>+ </if>+ </choose>+ </macro>+ <macro name="locators-join-with-comma">+ <choose>+ <if type="legal_case">+ <text macro="locators"/>+ </if>+ </choose>+ </macro>+ <macro name="locators-join-with-period">+ <choose>+ <if type="legal_case article-journal" match="none">+ <text macro="locators"/>+ </if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <group delimiter=", ">+ <number variable="volume"/>+ <group delimiter=" ">+ <text term="issue" form="short"/>+ <number variable="issue"/>+ </group>+ </group>+ </if>+ <else-if type="legal_case">+ <group delimiter=" ">+ <number variable="volume"/>+ <text variable="container-title"/>+ <text variable="page"/>+ </group>+ </else-if>+ <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <group delimiter=". ">+ <group delimiter=" ">+ <text term="volume" form="short" text-case="capitalize-first"/>+ <number variable="volume" form="numeric"/>+ </group>+ <group delimiter=" ">+ <number variable="number-of-volumes" form="numeric"/>+ <text term="volume" form="short" plural="true"/>+ </group>+ <text macro="edition"/>+ </group>+ </else-if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=". ">+ <choose>+ <if variable="page" match="none">+ <group delimiter=" ">+ <text term="volume" form="short" text-case="capitalize-first"/>+ <number variable="volume" form="numeric"/>+ </group>+ </if>+ </choose>+ <text macro="edition"/>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-newspaper">+ <choose>+ <if type="article-newspaper">+ <group delimiter=", ">+ <group delimiter=" ">+ <number variable="edition"/>+ <text term="edition"/>+ </group>+ <group delimiter=" ">+ <text term="section" form="short"/>+ <text variable="section"/>+ </group>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="event">+ <group delimiter=" ">+ <text term="presented at"/>+ <text variable="event"/>+ </group>+ </macro>+ <macro name="publisher">+ <choose>+ <if type="thesis">+ <text variable="publisher"/>+ </if>+ <else>+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="issued">+ <choose>+ <if variable="issued">+ <choose>+ <if type="graphic report" match="any">+ <date variable="issued" form="text"/>+ </if>+ <else-if type="legal_case">+ <group delimiter=" ">+ <text variable="authority"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ <else-if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song thesis" match="any">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </else-if>+ <else>+ <date variable="issued" form="text"/>+ </else>+ </choose>+ </if>+ <else-if variable="accessed URL" match="all"/>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="point-locators-subsequent">+ <choose>+ <if variable="locator">+ <choose>+ <if locator="page" match="none">+ <group delimiter=" ">+ <choose>+ <if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <choose>+ <if variable="volume">+ <group delimiter=", ">+ <group delimiter=" ">+ <text term="volume" form="short" text-case="lowercase"/>+ <number variable="volume" form="numeric"/>+ </group>+ <label variable="locator" form="short"/>+ </group>+ </if>+ <else>+ <label variable="locator" form="short"/>+ </else>+ </choose>+ </if>+ <else>+ <label variable="locator" form="short"/>+ </else>+ </choose>+ <text variable="locator"/>+ </group>+ </if>+ <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <group delimiter=":">+ <number variable="volume" form="numeric"/>+ <text variable="locator"/>+ </group>+ </else-if>+ <else>+ <text variable="locator"/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="point-locators-join-with-colon">+ <choose>+ <if type="article-journal">+ <choose>+ <if variable="locator page" match="any">+ <text macro="point-locators"/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="point-locators-join-with-comma">+ <choose>+ <if type="article-journal" match="none">+ <text macro="point-locators"/>+ </if>+ </choose>+ </macro>+ <macro name="point-locators">+ <choose>+ <if variable="locator" match="none">+ <choose>+ <if type="article-journal chapter paper-conference" match="any">+ <text variable="page"/>+ </if>+ </choose>+ </if>+ <else-if type="article-journal">+ <group delimiter=" ">+ <choose>+ <if locator="page" match="none">+ <label variable="locator" form="short" suffix=" "/>+ </if>+ </choose>+ <text variable="locator"/>+ </group>+ </else-if>+ <else-if type="legal_case"/>+ <else>+ <group delimiter=" ">+ <choose>+ <if locator="page" match="none">+ <label variable="locator" form="short"/>+ </if>+ </choose>+ <text variable="locator"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter paper-conference" match="any">+ <choose>+ <if variable="author container-author" match="all"/>+ <else>+ <choose>+ <if variable="page">+ <number variable="volume" suffix=":"/>+ <text variable="page"/>+ </if>+ </choose>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-journal">+ <choose>+ <if type="article-journal">+ <text variable="page"/>+ </if>+ </choose>+ </macro>+ <macro name="archive-note">+ <choose>+ <if type="thesis">+ <group delimiter=" ">+ <text variable="archive"/>+ <text variable="archive_location" prefix="(" suffix=")"/>+ </group>+ </if>+ <else>+ <group delimiter=", ">+ <text variable="archive_location"/>+ <text variable="archive"/>+ <text variable="archive-place"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="archive">+ <choose>+ <if type="thesis">+ <group delimiter=" ">+ <text variable="archive"/>+ <text variable="archive_location" prefix="(" suffix=")"/>+ </group>+ </if>+ <else>+ <group delimiter=". ">+ <text variable="archive_location" text-case="capitalize-first"/>+ <text variable="archive"/>+ <text variable="archive-place"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="issue-note-join-with-space">+ <choose>+ <if type="article-journal legal_case" variable="publisher-place publisher" match="any">+ <!--Chicago doesn't use publisher/place for Newspapers and we want the date delimited by a comma-->+ <choose>+ <if type="article-newspaper" match="none">+ <text macro="issue-note"/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issue-note-join-with-comma">+ <choose>+ <if type="article-journal legal_case" variable="publisher-place publisher" match="none">+ <text macro="issue-note"/>+ </if>+ <else-if type="article-newspaper">+ <text macro="issue-note"/>+ </else-if>+ </choose>+ </macro>+ <macro name="issue-note">+ <choose>+ <if type="article-journal legal_case" match="any">+ <text macro="issued" prefix="(" suffix=")"/>+ </if>+ <else-if type="article-newspaper">+ <text macro="issued"/>+ </else-if>+ <else-if variable="publisher-place publisher" match="any">+ <group prefix="(" suffix=")" delimiter=", ">+ <group delimiter=" ">+ <choose>+ <if variable="title" match="none"/>+ <else-if type="thesis speech" match="any">+ <text variable="genre"/>+ </else-if>+ </choose>+ <text macro="event"/>+ </group>+ <text macro="publisher"/>+ <text macro="issued"/>+ </group>+ </else-if>+ <else>+ <text macro="issued"/>+ </else>+ </choose>+ </macro>+ <macro name="issue-join-with-space">+ <choose>+ <if type="article-journal legal_case" match="any">+ <text macro="issue"/>+ </if>+ </choose>+ </macro>+ <macro name="issue-join-with-period">+ <choose>+ <if type="article-journal legal_case" match="none">+ <choose>+ <if type="speech" variable="publisher publisher-place" match="any">+ <text macro="issue"/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issue-join-with-comma">+ <choose>+ <if type="article-journal legal_case" match="none">+ <choose>+ <if type="speech" variable="publisher publisher-place" match="none">+ <text macro="issue"/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="article-journal legal_case" match="any">+ <text macro="issued" prefix="(" suffix=")"/>+ </if>+ <else-if type="speech">+ <group delimiter=", ">+ <group delimiter=" ">+ <choose>+ <if variable="title" match="none"/>+ <else>+ <text variable="genre" text-case="capitalize-first"/>+ </else>+ </choose>+ <text macro="event"/>+ </group>+ <text variable="event-place"/>+ <text macro="issued"/>+ </group>+ </else-if>+ <!--Chicago doesn't use publisher/place for Newspapers -->+ <else-if type="article-newspaper">+ <text macro="issued"/>+ </else-if>+ <else-if variable="publisher-place publisher" match="any">+ <group delimiter=", ">+ <choose>+ <if type="thesis">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ </choose>+ <text macro="publisher"/>+ <text macro="issued"/>+ </group>+ </else-if>+ <else>+ <text macro="issued"/>+ </else>+ </choose>+ </macro>+ <macro name="access-note">+ <group delimiter=", ">+ <choose>+ <if type="graphic report" match="any">+ <text macro="archive-note"/>+ </if>+ <else-if type="article-journal bill book chapter legal_case legislation motion_picture paper-conference" match="none">+ <text macro="archive-note"/>+ </else-if>+ </choose>+ <choose>+ <if variable="issued" match="none">+ <group delimiter=" ">+ <text term="accessed"/>+ <date variable="accessed" form="text"/>+ </group>+ </if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix="doi:"/>+ </if>+ <else>+ <text variable="URL"/>+ </else>+ </choose>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="access">+ <group delimiter=". ">+ <choose>+ <if type="graphic report" match="any">+ <text macro="archive"/>+ </if>+ <else-if type="article-journal bill book chapter legal_case legislation motion_picture paper-conference" match="none">+ <text macro="archive"/>+ </else-if>+ </choose>+ <choose>+ <if variable="issued" match="none">+ <group delimiter=" ">+ <text term="accessed" text-case="capitalize-first"/>+ <date variable="accessed" form="text"/>+ </group>+ </if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix="doi:"/>+ </if>+ <else>+ <text variable="URL"/>+ </else>+ </choose>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="case-locator-subsequent">+ <choose>+ <if type="legal_case">+ <text macro="locators-note"/>+ </if>+ </choose>+ </macro>+ <macro name="case-issue-subsequent">+ <choose>+ <if type="legal_case">+ <text macro="issue"/>+ </if>+ </choose>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" disambiguate-add-names="true">+ <layout suffix="." delimiter="; ">+ <choose>+ <if position="subsequent">+ <group delimiter=", ">+ <text macro="contributors-short"/>+ <group delimiter=" ">+ <group delimiter=", ">+ <text macro="title-short"/>+ <!--if title & author are the same: -->+ <text macro="date-disambiguate"/>+ <text macro="case-locator-subsequent"/>+ </group>+ <text macro="case-issue-subsequent"/>+ </group>+ <text macro="point-locators-subsequent"/>+ </group>+ </if>+ <else>+ <group delimiter=", ">+ <group delimiter=": ">+ <group delimiter=", ">+ <group delimiter=" ">+ <group delimiter=", ">+ <group delimiter=" ">+ <group delimiter=", ">+ <group delimiter=", ">+ <text macro="contributors-note"/>+ <text macro="title-note"/>+ </group>+ <text macro="description-note"/>+ <text macro="secondary-contributors-note"/>+ <text macro="container-title-note"/>+ <text macro="container-contributors-note"/>+ </group>+ <text macro="locators-note-join-with-space"/>+ </group>+ <text macro="locators-note-join-with-comma"/>+ <text macro="collection-title"/>+ <text macro="issue-note-join-with-comma"/>+ </group>+ <text macro="issue-note-join-with-space"/>+ </group>+ <text macro="locators-newspaper"/>+ <text macro="point-locators-join-with-comma"/>+ </group>+ <text macro="point-locators-join-with-colon"/>+ </group>+ <text macro="access-note"/>+ </group>+ </else>+ </choose>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="11" et-al-use-first="7" subsequent-author-substitute="———" entry-spacing="0">+ <sort>+ <key macro="contributors-sort"/>+ <key variable="title"/>+ <key variable="genre"/>+ <key variable="issued"/>+ </sort>+ <layout suffix=".">+ <group delimiter=". ">+ <group delimiter=": ">+ <group delimiter=", ">+ <group delimiter=" ">+ <group delimiter=". ">+ <group delimiter=" ">+ <group delimiter=", ">+ <group delimiter=". ">+ <group delimiter=". ">+ <text macro="contributors"/>+ <text macro="title"/>+ </group>+ <text macro="description"/>+ <text macro="secondary-contributors"/>+ <group delimiter=", ">+ <text macro="container-title"/>+ <text macro="container-contributors"/>+ <text macro="locators-chapter"/>+ </group>+ <text macro="locators-join-with-period"/>+ </group>+ <text macro="locators-join-with-comma"/>+ </group>+ <text macro="locators-join-with-space"/>+ </group>+ <text macro="collection-title"/>+ <text macro="issue-join-with-period"/>+ </group>+ <text macro="issue-join-with-space"/>+ </group>+ <text macro="issue-join-with-comma"/>+ <text macro="locators-newspaper"/>+ </group>+ <text macro="locators-journal"/>+ </group>+ <text macro="access"/>+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "publisher": "Conseil Suprême des Antiquités de l'Égypte [formerly Imprimerie de l'Institut français d'archéologie orientale]",+ "publisher-place": "Cairo",+ "title": "Supplément aux annales du Service des Antiquités de l'Égypte, Cahier",+ "type": ""+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/flipflop_BoldfaceNodeLevelMarkup.txt view
@@ -0,0 +1,43 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+<b>Speak, <span style="font-weight:normal;">friend</span>, and enter.</b>+<<===== RESULT =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout prefix="Speak, " suffix=", and enter." font-weight="bold">+ <text value="<b>friend</b>"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/flipflop_CompleteCiteInPrefix.txt view
@@ -0,0 +1,58 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Wilhelm Dilthey, “The Types of World Views and Their Unfoldment Within the Metaphysical Systems,” in <i>Dilthey’s Philosophy of Existence: Introduction to Weltanschauungslehre</i>, trans. William Kluback and Martin Weinbaum (New York: Bookman Associates, 1957), 26–27 Other Book Title+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1",+ "prefix": "Wilhelm Dilthey, \"The Types of World Views and Their Unfoldment Within the Metaphysical Systems,\" in <i>Dilthey’s Philosophy of Existence: Introduction to Weltanschauungslehre</i>, trans. William Kluback and Martin Weinbaum (New York: Bookman Associates, 1957), 26–27 "+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name form="short" />+ </names>+ </macro>+ <citation>+ <layout delimiter="; ">+ <text variable="title" />+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Other Book Title",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/flipflop_ItalicsFlipped.txt view
@@ -0,0 +1,66 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+<i>One Two <span style="font-style:normal;">Three</span> Four Five!</i>+<i>One <span style="font-style:normal;">Two <i>Three</i> Four</span> Five!</i>+<<===== RESULT =====<<++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text font-style="italic" variable="title" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "title": "One Two <i>Three</i> Four Five!", + "type": "book"+ }, + {+ "id": "ITEM-2", + "title": "One <i>Two <i>Three</i> Four</i> Five!", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/flipflop_ItalicsSimple.txt view
@@ -0,0 +1,120 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+One TwoA <i>Three Four</i> Five!+<i>One TwoB</i> Three Four Five!+One TwoC Three <i>Four Five!</i>+<i>One TwoD</i> Three <i>Four Five!</i>+<i>One TwoE <span style="font-style:normal;">Three</span> Four Five!</i>+One TwoF</i> Three Four Five!+<<===== RESULT =====<<+++++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ],+ [+ {+ "id": "ITEM-4"+ }+ ],+ [+ {+ "id": "ITEM-5"+ }+ ],+ [+ {+ "id": "ITEM-6"+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<++++++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "title": "One TwoA <i>Three Four</i> Five!", + "type": "book"+ }, + {+ "id": "ITEM-2", + "title": "<i>One TwoB</i> Three Four Five!", + "type": "book"+ }, + {+ "id": "ITEM-3", + "title": "One TwoC Three <i>Four Five!</i>", + "type": "book"+ }, + {+ "id": "ITEM-4", + "title": "<i>One TwoD</i> Three <i>Four Five!</i>", + "type": "book"+ }, + {+ "id": "ITEM-5", + "title": "<i>One TwoE <i>Three</i> Four Five!</i>", + "type": "book"+ }, + {+ "id": "ITEM-6", + "title": "One TwoF</i> Three Four Five!", + "type": "book"+ }+]+<<===== INPUT =====<<+++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/flipflop_ItalicsWithOk.txt view
@@ -0,0 +1,71 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry"><i>Lessard <span style="font-style:normal;">v.</span> Schmidt</i>. 1972. 349 F. Supp. 1078 (E.D. Wisc.).</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" suffix=". " font-style="italic"/>+ <text value="BOGUS"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <group suffix=".">+ <text variable="title" suffix=". " font-style="italic"/>+ <date variable="issued" date-parts="year" form="text" suffix=". "/>+ <text variable="volume" suffix=" "/>+ <text variable="container-title"/>+ <text variable="page-first" prefix=" "/>+ <text variable="authority" prefix=" (" suffix=")"/>+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "authority": "E.D. Wisc.",+ "container-title": "F. Supp.",+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1972+ ]+ ]+ },+ "page": "1078-1100",+ "title": "Lessard <span class=\"nodecor\">v.</span> Schmidt",+ "type": "legal_case",+ "volume": "349"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/flipflop_ItalicsWithOkAndTextcase.txt view
@@ -0,0 +1,71 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry"><span style="font-variant:small-caps;">Lessard <span style="font-variant:normal;">v.</span> Schmidt</span>. 1972. 349 F. Supp. 1078 (E.D. Wisc.).</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" suffix=". " font-style="italic"/>+ <text value="BOGUS"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <group suffix=".">+ <text variable="title" suffix=". " font-variant="small-caps" text-case="capitalize-all"/>+ <date variable="issued" date-parts="year" form="text" suffix=". "/>+ <text variable="volume" suffix=" "/>+ <text variable="container-title"/>+ <text variable="page-first" prefix=" "/>+ <text variable="authority" prefix=" (" suffix=")"/>+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "authority": "E.D. Wisc.",+ "container-title": "F. Supp.",+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1972+ ]+ ]+ },+ "page": "1078-1100",+ "title": "lessard <span class=\"nodecor\">v.</span> schmidt",+ "type": "legal_case",+ "volume": "349"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/flipflop_LeadingMarkupWithApostrophe.txt view
@@ -0,0 +1,63 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+<i>Insha’Allah</i> is an Arabic phrase meaning ‘God willing’. Another Arabic word is <i>bukra</i>. Aalto+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1",+ "prefix": "<i>Insha’Allah</i> is an Arabic phrase meaning ‘God willing’. Another Arabic word is <i>bukra</i>. "+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name form="short" />+ </names>+ </macro>+ <citation>+ <layout delimiter="; ">+ <text macro="author" />+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/flipflop_LeadingSingleQuote.txt view
@@ -0,0 +1,45 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+“‘Parmenides’ 132c–133a and the development of Plato’s thought”+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" quotes="true"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "‘Parmenides’ 132c–133a and the development of Plato's thought",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/flipflop_LongComplexPrefix.txt view
@@ -0,0 +1,58 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+The French translation provided there runs, <i>Toi, qui cultives notre philosophie sous lhabit étranger—et peut-être pas si étranger que cela, puisque la chevelure des naziréens et la consécration de la tête, dont il a toujours tenu le fer à lécart, sont aussi comme une loi des sanctuaires, et que la blancheur et l’éclat des vêtements appartiennent aux anges, quand on les représente sous une forme corporelle: c’est, je pense, le symbole de la pureté propre à leur nature—!</i> Other Book Title+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1",+ "prefix": "The French translation provided there runs, <i>Toi, qui cultives notre philosophie sous lhabit étranger—et peut-être pas si étranger que cela, puisque la chevelure des naziréens et la consécration de la tête, dont il a toujours tenu le fer à lécart, sont aussi comme une loi des sanctuaires, et que la blancheur et l’éclat des vêtements appartiennent aux anges, quand on les représente sous une forme corporelle: c’est, je pense, le symbole de la pureté propre à leur nature—!</i> "+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name form="short" />+ </names>+ </macro>+ <citation>+ <layout delimiter="; ">+ <text variable="title" />+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Other Book Title",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/flipflop_NumericField.txt view
@@ -0,0 +1,75 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++That is to say, rich text markup is not parsed on numeric fields with+numeric content.++This is the result in citeproc-js, but the correct behavior under CSL+at large is TBD.++As of this writing (2018-05-05), citeproc-js DOES parse rich text+markup in numeric fields if the field contains no numeric value+(not demonstrated by this fixture, but it is so). This inconsistency,+at least, is not desirable.+++>>===== RESULT =====>>+1<sup>er</sup>+<<===== RESULT =====<<++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0" demote-non-dropping-particle="never">+ <info>+ <title>Chicago Manual of Style (full note, no Ibid.)</title>+ <id>http://www.zotero.org/styles/chicago-fullnote-bibliography-no-ibid</id>+ <link href="http://www.zotero.org/styles/chicago-fullnote-bibliography-no-ibid" rel="self"/>+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </contributor>+ <contributor>+ <name>Elena Razlogova</name>+ <email>elena.razlogova@gmail.com</email>+ </contributor>+ <contributor>+ <name>Frank Bennett</name>+ <email>biercenator@gmail.com</email>+ </contributor>+ <category citation-format="note"/>+ <category field="generic-base"/>+ <summary>Chicago format with full notes and bibliography</summary>+ <updated>2012-10-25T21:15:26+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <citation>+ <layout>+ <number variable="number"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "number": "1<sup>er</sup>",+ "type": ""+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/flipflop_OrphanQuote.txt view
@@ -0,0 +1,52 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Nation of "Positive Obligations " of State under the European Convention on Human Rights (1)+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; ">+ <text variable="title" text-case="title"/>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Nation of \"Positive Obligations \" of State under the European Convention on Human Rights (1)",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/flipflop_QuotesInFieldNotOnNode.txt view
@@ -0,0 +1,43 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Speak, “friend,” and enter.+<<===== RESULT =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout prefix="Speak, " suffix=", and enter.">+ <text value="'friend'"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/flipflop_QuotesNodeLevelMarkup.txt view
@@ -0,0 +1,59 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+“Speak, ‘friend’ of mine on this day, March 15, 1973, and enter.”+<<===== RESULT =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="passphrase">+ <group prefix="Speak, " suffix=", and enter.">+ <text value=""friend""/>+ <text value=" of mine on this day, "/>+ <date variable="issued" form="text"/>+ </group>+ </macro>+ <citation>+ <layout>+ <text macro="passphrase" quotes="true"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1973,+ 3,+ 15+ ]+ ]+ },+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/flipflop_SingleBeforeColon.txt view
@@ -0,0 +1,52 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+“Nobody Knows You’re a Dog”: As Iconic Internet Cartoon Turns 20, Creator Peter Steiner Knows the Joke Rings as Relevant as Ever+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text text-case="title" variable="title" />+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "'Nobody Knows You're a Dog': As iconic Internet cartoon turns 20, creator Peter Steiner knows the joke rings as relevant as ever",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/flipflop_SingleQuotesOnItalics.txt view
@@ -0,0 +1,43 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+It is official (“<i>My Title</i>”) now+<<===== RESULT =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "It is official (\"<i>My Title</i>\") now"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/flipflop_SmallCaps.txt view
@@ -0,0 +1,49 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+<span style="font-variant:small-caps;">His <span style="font-variant:normal;">Anonymous</span> Life</span>, His <span style="font-variant:small-caps;">Anthology</span>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <group delimiter=", ">+ <text variable="title" font-variant="small-caps"/>+ <text variable="container-title"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "container-title": "His <span style=\"font-variant:small-caps;\">Anthology</span>",+ "id": "ITEM-1",+ "title": "His <span style=\"font-variant:small-caps;\">Anonymous</span> Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/flipflop_StartingApostrophe.txt view
@@ -0,0 +1,44 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+IEEE Conference on Emerging Technologies and Factory Automation (ETFA ’09)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "title": "IEEE Conference on Emerging Technologies and Factory Automation (ETFA '09)",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/form_TitleShort.txt view
@@ -0,0 +1,46 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Book A+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" form="short"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "Book A: The Long Version",+ "title-short": "Book A",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/form_TitleShortNoLong.txt view
@@ -0,0 +1,45 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Book A+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" form="short"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title-short": "Book A",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/form_TitleTestNoLongFalse.txt view
@@ -0,0 +1,52 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+false+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <choose>+ <if variable="title">+ <text value="true"/>+ </if>+ <else>+ <text value="false"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title-short": "Book A",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/fullstyles_ABdNT.txt view
@@ -0,0 +1,713 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++Note: Previously expected plain hyphen on issue number.+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">COLE, S. J.; MOORE, R. Hydrological modelling using raingauge- and radar-based estimators of areal rainfall. <b>Journal of Hydrology</b>, v. 358, n. 3–4, p. 159–181, 2008. </div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" version="1.0" class="in-text" default-locale="pt-BR">+ <info>+ <title>Associação Brasileira de Normas Técnicas (ABNT)</title>+ <id>http://www.zotero.org/styles/associacao-brasileira-de-normas-tecnicas</id>+ <link href="http://www.zotero.org/styles/associacao-brasileira-de-normas-tecnicas" rel="self"/>+ <author>+ <name>Juliana Geyna Régis</name>+ <email>juliana.regis@ipea.gov.br</email>+ </author>+ <contributor>+ <name>Lucas Mation</name>+ <email>lucas.mation@ipea.gov.br</email>+ </contributor>+ <contributor>+ <name>Eduardo Michelotti Bettoni</name>+ <email>webtur@ufpr.br</email>+ </contributor>+ <contributor>+ <name>Paulo Augusto Nascimento</name>+ <email>paulo.nascimento@ipea.gov.br</email>+ </contributor>+ <contributor>+ <name>José Antonio Meira da Rocha</name>+ <email>joseantoniorocha@gmail.com</email>+ <uri>http://meiradarocha.jor.br</uri>+ </contributor>+ <contributor>+ <name>Mario José</name>+ <email>gnumario [at-mark] gmail [dot-mark] com</email>+ </contributor>+ <category citation-format="author-date"/>+ <category field="generic-base"/>+ <summary>The Brazilian standard style</summary>+ <updated>2012-12-11T02:56:15+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale xml:lang="pt-BR">+ <terms>+ <!--Abreviacoes meses "Forma Curta"-->+ <term name="month-01" form="short">jan.</term>+ <term name="month-02" form="short">fev.</term>+ <term name="month-03" form="short">mar.</term>+ <term name="month-04" form="short">abr.</term>+ <term name="month-05" form="short">maio</term>+ <term name="month-06" form="short">jun.</term>+ <term name="month-07" form="short">jul.</term>+ <term name="month-08" form="short">ago.</term>+ <term name="month-09" form="short">set.</term>+ <term name="month-10" form="short">out.</term>+ <term name="month-11" form="short">nov.</term>+ <term name="month-12" form="short">dez.</term>+ <!--Os termos abaixo serao utilizados quando houverem nomes de editores. Apos a citacao dos nomes, eles irao aparecer entre parenteses.-->+ <term name="editor" form="short">+ <single>ed</single>+ <multiple>eds</multiple>+ </term>+ <term name="container-author" form="short">+ <single>ed</single>+ <multiple>eds</multiple>+ </term>+ <term name="collection-editor" form="short">+ <single>ed</single>+ <multiple>eds</multiple>+ </term>+ </terms>+ </locale>+ <!--A macro 'container-contribuitor' e responsavel por mostrar os nomes dos editores, serao apresentados SOBRENOME, INICIAIS PRENOMES +tendo as inicias separadas por ponto.-->+ <macro name="container-contributors">+ <choose>+ <if type="chapter">+ <names variable="container-author" delimiter=", ">+ <name name-as-sort-order="all" sort-separator=", " initialize-with=". " delimiter="; " delimiter-precedes-last="always">+ <name-part name="family" text-case="uppercase"/>+ <name-part name="given" text-case="uppercase"/>+ </name>+ <et-al prefix=" " font-style="italic"/>+ <label form="short" prefix=" (" suffix=".). " text-case="capitalize-first"/>+ <substitute>+ <names variable="editor"/>+ <names variable="collection-editor"/>+ </substitute>+ </names>+ </if>+ </choose>+ </macro>+ <!--A macro 'secundary-contribuitor' e responsavel por mostrar os nomes dos organizadores, serao apresentados SOBRENOME, INICIAIS PRENOMES+tendo as inicias separadas por ponto.-->+ <macro name="secondary-contributors">+ <choose>+ <if type="chapter" match="none">+ <names variable="editor" delimiter=", " prefix=" (" suffix=")">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="capitalize-first" suffix="."/>+ </names>+ </if>+ </choose>+ </macro>+ <!--A macro 'translator' e responsavel por mostrar os nomes dos tradutores, serao apresentados SOBRENOME, INICIAIS PRENOMES+tendo as inicias separadas por ponto. -->+ <macro name="translator">+ <text value="Traducao "/>+ <names variable="translator" delimiter=", ">+ <name delimiter="; " sort-separator=" " delimiter-precedes-last="always">+ <name-part name="given" text-case="capitalize-first"/>+ <name-part name="family" text-case="capitalize-first"/>+ </name>+ <et-al prefix=" " font-style="italic"/>+ </names>+ </macro>+ <!--A macro 'author' e responsavel por mostrar os nomes dos autores na bibliografia, serao no formato SOBRENOME, INICIAIS PRENOMES, tendo +as inicias separadas por ponto. Quando houver mais de tres autores, somente o primeiro sera mostrado e no lugar dos outros+aparecera a expess o 'et. al.'. Na regra da ABNT essa expressao deve aparecer em fonte normal, mas o IPEA utiliza ela em italico.-->+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" sort-separator=", " initialize-with=". " delimiter="; " delimiter-precedes-last="always">+ <name-part name="family" text-case="uppercase"/>+ <name-part name="given" text-case="uppercase"/>+ </name>+ <et-al prefix=" " font-style="italic"/>+ <label form="short" prefix=" (" suffix=".)" text-case="uppercase"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <!--A macro 'author-short' e responsavel por mostrar os nomes dos autores na citacao (no meio do texto). Nela aparecera apenas o ultimo nome+do autor. Na regra da ABNT o sobrenome deve aparecer com todas as letras em caixa alta, mas o IPEA utiliza ele em caixa baixa tanto para os nomes,+quanto para as siglas "soletraveis". A regra do 'et. al.' tambem vale para a citacao-->+ <macro name="author-short">+ <names variable="author">+ <name form="short" name-as-sort-order="all" sort-separator=", " and="text" initialize-with=". " delimiter=", " delimiter-precedes-last="never">+ </name>+ <et-al prefix=" " font-style="italic"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <choose>+ <if type="book">+ <text variable="title" form="short"/>+ </if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </substitute>+ </names>+ </macro>+ <!--A macro 'access' e utilizada em arquivos de paginas da web. Ela e responsavel por mostrar a URL do site pesquisado e a data do acesso-->+ <macro name="access">+ <text variable="URL" prefix="Disponível em: <" suffix=">"/>+ <date variable="accessed" prefix=". Acesso em: ">+ <date-part name="day" suffix=" "/>+ <date-part name="month" form="short" suffix=". " text-case="lowercase"/>+ <date-part name="year"/>+ </date>+ </macro>+ <!--A macro 'title' e responsavel por mostrar o titulo principal do arquivo. Em todos os tipos ele aparecera em negrito logo apos os nomes dos+autores, exceto em arquivos do tipo 'artigo de jornal, artigo de revista, artigo de periodico', nesses arquivos eles irao aparecer em fonte normal.-->+ <macro name="title">+ <choose>+ <if type="chapter bill" match="any">+ <text variable="title"/>+ </if>+ <else-if type="book thesis" match="any">+ <text variable="title" font-weight="bold"/>+ </else-if>+ <else-if type="article-newspaper article-magazine article-journal" match="any">+ <text variable="title"/>+ </else-if>+ <else>+ <text variable="title" font-weight="bold"/>+ </else>+ </choose>+ </macro>+ <!-- Titulo dos Anais-->+ <macro name="container-title">+ <choose>+ <if type="paper-conference" match="any">+ <text variable="container-title" suffix=". "/>+ <text value="Anais" font-weight="bold"/>+ <text value="..."/>+ </if>+ <else>+ <text variable="container-title" font-weight="bold"/>+ </else>+ </choose>+ </macro>+ <!--A macro 'publisher' e responsavel por mostrar o nome da editora responsavel pela publicacao-->+ <macro name="publisher">+ <choose>+ <if match="any" variable="publisher-place publisher">+ <choose>+ <if variable="publisher-place">+ <text variable="publisher-place" suffix=": "/>+ </if>+ <else-if type="entry-encyclopedia">+ </else-if>+ <else>+ <text value="[s.l.] "/>+ </else>+ </choose>+ <choose>+ <if variable="publisher">+ <text variable="publisher" suffix=", "/>+ <text macro="issued"/>+ </if>+ <else>+ <text value="[s.n.]"/>+ </else>+ </choose>+ </if>+ <else>+ <text value="[s.l: s.n.]"/>+ </else>+ </choose>+ </macro>+ <!--A macro 'event' sera utilizada em arquivos do tipo Evento/Conferencia. Ela e responsavel por mostrar o nome da conferencia, que tera formatacao+em caixa alta. Utiliza-se antes do nome da conferencia a expressao "In". Segundo a regra da ABNT ela deve ser em fonte normal, mas o IPEA +a ulitiliza em italico-->+ <macro name="event">+ <choose>+ <if variable="event">+ <choose>+ <if variable="genre" match="none">+ <text term="in" font-style="italic" text-case="capitalize-first" suffix=": "/>+ <text variable="event" text-case="uppercase"/>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="genre" text-case="capitalize-first"/>+ <text term="presented at"/>+ <text variable="event"/>+ </group>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <!--A macro 'issued' e utilizada quando devemos mostrar a data completa exemplo: 03 mar. 2011.-->+ <macro name="issued">+ <choose>+ <if variable="issued" match="any">+ <group>+ <choose>+ <if type="book chapter" match="none">+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" form="short" suffix=". " strip-periods="true"/>+ </date>+ </if>+ </choose>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </if>+ <else>+ <text value="[s.d.]"/>+ </else>+ </choose>+ </macro>+ <!--A macro 'issued' e utilizada quando desejamos que apareca apenas o ano-->+ <macro name="issued-year">+ <choose>+ <if variable="issued" match="any">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text value="[s.d.]"/>+ </else>+ </choose>+ </macro>+ <!--A macro 'edition' e responsavel por mostrar o numero da edicao.-->+ <macro name="edition">+ <choose>+ <!--Se for capitulo de livro aparecera somente o numero-->+ <if type="book chapter" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="numeric" suffix="."/>+ <text term="edition" form="short" suffix="."/>+ </group>+ </if>+ <else>+ <!--Se for outro tipo de documento aparera o numero e depois a descricao "ed."-->+ <text variable="edition" suffix=" ed."/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <!--A macro 'locators'tem como funcao mostrar os dados complementares do arquivo (paginas, secao, volume, etc)-->+ <macro name="locators">+ <choose>+ <!--Se for projeto de lei mostrara o dia, mes "forma curta", ano, secao "Sec." e pagina "p."-->+ <if type="bill">+ <group prefix=". " suffix="" delimiter=", ">+ <date variable="issued">+ <date-part name="day"/>+ <date-part prefix=" " name="month" form="short"/>+ <date-part prefix=" " name="year"/>+ </date>+ <text variable="section" prefix="Sec. "/>+ <text variable="page" prefix="p. " suffix="."/>+ </group>+ </if>+ <!--Se for artigos de jornal, revista, etc. Aparecera o volume "v.", edicao "n." e a pagina do artigo "p."-->+ <else-if match="any" type="article-journal article-magazine article-newspaper">+ <group delimiter=", ">+ <group delimiter=", ">+ <text variable="volume" prefix="v. "/>+ <text variable="issue" prefix="n. " suffix=""/>+ </group>+ <text variable="page" prefix="p. "/>+ </group>+ </else-if>+ <!--Se for capitulo de livro aparecera o volume "v." e a pagina "p."-->+ <else-if match="any" type="book chapter">+ <group delimiter=", ">+ <group>+ <text variable="volume" prefix="v. "/>+ <text variable="page" prefix="p. "/>+ </group>+ </group>+ </else-if>+ </choose>+ </macro>+ <!--Resumo-->+ <macro name="abstract">+ <text variable="abstract"/>+ </macro>+ <!--Mostra a ISBN-->+ <macro name="ISBN">+ <group>+ <text variable="ISBN" prefix="ISBN "/>+ </group>+ </macro>+ <macro name="collection-title">+ <text variable="collection-title"/>+ <text variable="collection-number" prefix=" "/>+ </macro>+ <!--Citacao-->+ <!--et al. aparece a partir de 04 autores-->+ <citation et-al-min="4" et-al-use-first="1" et-al-subsequent-min="4" et-al-subsequent-use-first="1" collapse="year">+ <sort>+ <key macro="author"/>+ <!--Puxa o autor primeiro-->+ <key variable="issued"/>+ <!--Depois o ano-->+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <!--Entre parenteses separando os autores com ponto-e-virgula-->+ <group>+ <text suffix=", " macro="author-short"/>+ <!--Seperando os autores das datas usando virgula-->+ <text macro="issued-year"/>+ <text prefix=", " macro="citation-locator"/>+ </group>+ </layout>+ </citation>+ <!--Bibliografia-->+ <!--et al. aparece a partir de 04 autores-->+ <bibliography hanging-indent="false" et-al-min="4" et-al-use-first="1" entry-spacing="0">+ <sort>+ <key macro="author"/>+ <!--Puxa o autor primeiro-->+ <key variable="issued"/>+ <!--Depois o ano-->+ </sort>+ <layout>+ <choose>+ <!--Projeto de lei-->+ <if type="bill">+ <group>+ <text macro="author" suffix=". "/>+ <!--autor-->+ <text variable="number" suffix=". "/>+ <!--Numero da lei-->+ <text macro="title" suffix=". "/>+ <!--Titulo-->+ <text variable="references" font-weight="bold"/>+ <!--Historico em negrito-->+ <text variable="note"/>+ <!--Campo 'extra' caso queira colocar alguma observacao-->+ <text macro="locators" suffix=". "/>+ <!--Dados complementares "secao, pagina"-->+ </group>+ </if>+ <!--Mapa-->+ <else-if type="map">+ <group>+ <text macro="author" suffix=". "/>+ <!--autor-->+ <text macro="title" suffix=", "/>+ <!--Titulo-->+ <text macro="issued" suffix=". "/>+ <!--data-->+ <text variable="note" suffix=". "/>+ <!--Campo 'extra' caso queira colocar alguma observacao-->+ </group>+ </else-if>+ <!--Livro-->+ <else-if type="book">+ <group>+ <text macro="author" suffix=". "/>+ <!--autor-->+ <text macro="title" suffix=". "/>+ <!--Titulo-->+ <text macro="translator" suffix=". "/>+ <!--Traducao-->+ <text macro="edition" suffix=". "/>+ <!--Edicao-->+ <text macro="publisher" suffix=". "/>+ <!--Local, data, etc-->+ <text macro="locators"/>+ <!--Dados complementares "pagina, volume"-->+ </group>+ </else-if>+ <!--Conferencia-->+ <else-if type="chapter">+ <group>+ <text macro="author" suffix=". "/>+ <!--autor-->+ <text macro="title" suffix=". "/>+ <!--Titulo-->+ <text macro="secondary-contributors" suffix=". "/>+ <text term="in" font-style="italic" text-case="capitalize-first" suffix=": "/>+ <!--In:-->+ <text macro="container-contributors" suffix=". "/>+ <!--Nomes de editores-->+ <text macro="container-title" suffix=". "/>+ <!--Titulo da conferencia-->+ <text variable="collection-title" suffix=". "/>+ <text macro="translator" suffix=". "/>+ <!--Traducao-->+ <text macro="edition" suffix=". "/>+ <!--Edicao-->+ <group suffix=". ">+ <text macro="publisher" suffix=". "/>+ <!--Local, data, etc-->+ <text macro="locators"/>+ <!--Dados complementares "pagina, volume"-->+ </group>+ </group>+ </else-if>+ <!--Artigo de revista, jornal, etc-->+ <else-if type="article-newspaper article-magazine article-journal" match="any">+ <group>+ <text macro="author" suffix=". "/>+ <!--Autor-->+ <text macro="title" suffix=". "/>+ <!--Titulo do artigo-->+ <text macro="container-title" suffix=", "/>+ <!--Titulo da publicacao-->+ <text variable="collection-title" suffix=". "/>+ <!--Titulo da serie-->+ <text macro="edition" suffix=", "/>+ <!--Edicao-->+ <text macro="locators" suffix=", "/>+ <!--Dados complementares "pagina, volume"-->+ <text macro="issued" suffix=". "/>+ <!--Data-->+ </group>+ </else-if>+ <!--Tese-->+ <else-if type="thesis">+ <group>+ <text macro="author" suffix=". "/>+ <!--Autor-->+ <text macro="title" suffix=". "/>+ <!--Titulo-->+ <text macro="edition" suffix=". "/>+ <!--Edicao-->+ <text macro="publisher" suffix="."/>+ <!--Local, data, etc-->+ </group>+ </else-if>+ <!-- Nao ha norma ABNT para manuscritos -->+ <else-if type="manuscript">+ <group>+ <text macro="author" suffix=". "/>+ <!--Autor-->+ <text macro="title" suffix=". "/>+ <!--Titulo-->+ <text macro="edition" suffix=". "/>+ <!--Edicao-->+ <text macro="place" suffix=", "/>+ <text macro="issued" suffix=". "/>+ <!--Data-->+ <text macro="access" suffix=". "/>+ <!--URL, data do acesso-->+ <text macro="archive" suffix=". "/>+ <!--Arquive-->+ </group>+ </else-if>+ <!--Pagina da WEB-->+ <else-if type="webpage">+ <group>+ <text macro="author" suffix=". "/>+ <!--Autor-->+ <text macro="title" suffix=". "/>+ <!--Titulo-->+ <text macro="genre" suffix=". "/>+ <text macro="access" suffix=". "/>+ <!--URL, data do acesso-->+ </group>+ </else-if>+ <!--Relatorio-->+ <else-if type="report">+ <group>+ <text macro="author" suffix=". "/>+ <!--Autor-->+ <text macro="title"/>+ <!--Titulo-->+ <text macro="container-contributors"/>+ <!--Nomes de editores-->+ <text macro="secondary-contributors"/>+ <text macro="container-title"/>+ <!--Titulo da publicacao-->+ <text variable="collection-title" prefix=": " suffix=""/>+ <text macro="locators"/>+ <!--Dados complementares "pagina, volume"-->+ <text macro="event"/>+ <!--Nome do evento, conferencia-->+ <text macro="publisher" prefix=". " suffix=". "/>+ <!--Local, data, etc-->+ <text macro="access" suffix="."/>+ <!--URL, data do acesso-->+ </group>+ </else-if>+ <!--Texto para Discussao (Verbete de Dicionario)-->+ <else-if type="entry-dictionary">+ <group>+ <text macro="author" suffix=". "/>+ <!--Autor-->+ <text macro="title"/>+ <!--Titulo-->+ <text macro="container-contributors"/>+ <!--Nomes de editores-->+ <text macro="secondary-contributors"/>+ <text macro="container-title"/>+ <!--Titulo da publicacao-->+ <text variable="collection-title" prefix=": " suffix=". "/>+ <text macro="locators"/>+ <!--Dados complementares "pagina, volume"-->+ <text macro="event"/>+ <!--Nome do evento, conferencia-->+ <text macro="publisher" prefix=". " suffix=". "/>+ <!--Local, data, etc-->+ <text macro="collection-title" prefix="(Texto para discussao, n. " suffix=")."/>+ <text macro="access"/>+ <!--URL, data do acesso-->+ </group>+ </else-if>+ <!--Nota Tecnica (Verbete de Enciclopedia)-->+ <else-if type="entry-encyclopedia">+ <group>+ <text macro="author" suffix=". "/>+ <!--Autor-->+ <text macro="title"/>+ <!--Titulo-->+ <text variable="publisher-place" prefix=". " suffix=": "/>+ <!--Local-->+ <text variable="publisher" suffix=", "/>+ <!--Editor-->+ <text macro="issued" prefix=", " suffix=". (Nota técnica)."/>+ <!--Data-->+ </group>+ </else-if>+ <else-if type="paper-conference">+ <text macro="author" suffix=". "/>+ <!--Autor-->+ <text macro="title"/>+ <!--Titulo-->+ <text macro="container-contributors"/>+ <!--Nomes de editore-->+ <text macro="secondary-contributors"/>+ <text macro="container-title"/>+ <!--Titulo da publicacao-->+ <text variable="collection-title" prefix=": " suffix="."/>+ <text macro="locators"/>+ <!--Dados complementares "pagina, volume"-->+ <group delimiter=". " prefix=". " suffix=". ">+ <text macro="event"/>+ <!--Nome do evento, conferencia-->+ </group>+ <text variable="publisher-place" suffix=": "/>+ <!--Local-->+ <text variable="publisher" suffix=", "/>+ <!--Editor-->+ <text macro="issued"/>+ <!--Data-->+ <text macro="access"/>+ <!--URL, data do acesso-->+ </else-if>+ <else>+ <text macro="author" suffix=". "/>+ <!--Autor-->+ <text macro="title"/>+ <!--Titulo-->+ <text macro="container-contributors"/>+ <!--Nomes de editore-->+ <text macro="secondary-contributors"/>+ <text macro="container-title"/>+ <!--Titulo da publicacao-->+ <text variable="collection-title" prefix=": " suffix="."/>+ <text macro="locators"/>+ <!--Dados complementares "pagina, volume"-->+ <group delimiter=". " prefix=". " suffix=". ">+ <text macro="event"/>+ <!--Nome do evento, conferencia-->+ </group>+ <text variable="publisher-place"/>+ <!--Local-->+ <text variable="publisher" suffix=", "/>+ <!--Editor-->+ <text macro="issued" prefix=", " suffix=". "/>+ <!--Data-->+ <text macro="access"/>+ <!--URL, data do acesso-->+ </else>+ </choose>+ </layout>+ </bibliography>+ <!--As macros abaixo nao foram utilizadas na bibliografia-->+ <macro name="citation-locator">+ <group>+ <label variable="locator" form="short"/>+ <text variable="locator" prefix=" "/>+ </group>+ </macro>+ <macro name="genre">+ <text variable="genre"/>+ </macro>+ <macro name="place">+ <choose>+ <if match="any" variable="publisher-place">+ <text variable="publisher-place"/>+ </if>+ </choose>+ </macro>+ <macro name="archive">+ <group>+ <text variable="archive" prefix=" "/>+ </group>+ </macro>+</style>++<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "DOI": "10.1016/j.jhydrol.2008.05.025",+ "ISSN": "0022-1694",+ "author": [+ {+ "family": "Cole",+ "given": "Steven J."+ },+ {+ "family": "Moore",+ "given": "Robert"+ }+ ],+ "container-title": "Journal of Hydrology",+ "id": "ITEM-1",+ "issue": "3-4",+ "issued": {+ "date-parts": [+ [+ 2008+ ]+ ]+ },+ "page": "159-181",+ "title": "Hydrological modelling using raingauge- and radar-based estimators of areal rainfall",+ "type": "article-journal",+ "url": "http://www.sciencedirect.com/science/article/pii/S0022169408002394",+ "volume": "358"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/fullstyles_APA.txt view
@@ -0,0 +1,393 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++This is correct APA ...++See:+ http://forums.zotero.org/discussion/17859/style-error-for-apa-non-primary-author-initials-incorrectly-included/+and followup thread:+ http://forums.zotero.org/discussion/19570/option-to-disable-disambiguation/++>>===== RESULT =====>>+(Oblinger & Oblinger, 2009)+<<===== RESULT =====<<++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only">+ <info>+ <title>American Psychological Association 6th Edition</title>+ <id>http://www.zotero.org/styles/apa</id>+ <link href="http://www.zotero.org/styles/apa" rel="self"/>+ <link href="http://owl.english.purdue.edu/owl/resource/560/01/" rel="documentation"/>+ <author>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </author>+ <contributor>+ <name>Bruce D'Arcus</name>+ </contributor>+ <contributor>+ <name>Curtis M. Humphrey</name>+ </contributor>+ <contributor>+ <name>Richard Karnesky</name>+ <email>karnesky+zotero@gmail.com</email>+ <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>+ </contributor>+ <contributor>+ <name>Sebastian Karcher</name>+ </contributor>+ <category field="psychology"/>+ <category field="generic-base"/>+ <category citation-format="author-date"/>+ <updated>2010-01-27T20:08:03+00:00</updated>+ <rights>This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>+ </info>+ <locale xml:lang="en">+ <terms>+ <term name="translator" form="short">+ <single>trans.</single>+ <multiple>trans.</multiple>+ </term>+ </terms>+ </locale>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text term="in" text-case="capitalize-first" suffix=" "/>+ <names variable="editor" delimiter=", " suffix=", ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=" (" text-case="capitalize-first" suffix=")"/>+ <substitute>+ <names variable="translator"/>+ </substitute>+ </names>+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if type="chapter paper-conference" match="none">+ <names variable="translator" delimiter=", " prefix=" (" suffix=")">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="capitalize-first" suffix=""/>+ <substitute>+ <names variable="editor"/>+ </substitute> + </names>+ </if>+ </choose>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=" (" suffix=".)" text-case="capitalize-first" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="symbol" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" form="short" font-style="italic"/>+ </if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <choose>+ <if type="thesis">+ <choose>+ <if variable="archive" match="any">+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="archive" suffix="."/>+ <text variable="archive_location" prefix=" (" suffix=")"/>+ </group>+ </if>+ <else>+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </else>+ </choose>+ </if>+ <else>+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix="doi:"/>+ </if>+ <else>+ <choose>+ <if type="webpage">+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <date variable="accessed" suffix=", ">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ <group>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </group>+ </if>+ <else>+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </else>+ </choose>+ </else>+ </choose>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if type="report thesis" match="any">+ <text variable="title" font-style="italic"/>+ <group prefix=" (" suffix=")">+ <text variable="genre"/>+ <text variable="number" prefix=" No. "/>+ </group>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song manuscript speech" match="any">+ <text variable="title" font-style="italic"/>+ </else-if>+ <else>+ <text variable="title"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <choose>+ <if type="report" match="any">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </if>+ <else-if type="thesis" match="any">+ <group delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </else-if>+ <else>+ <choose>+ <if variable="event" match="none">+ <text variable="genre" suffix=", "/>+ </if>+ </choose>+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="event">+ <choose>+ <if variable="event">+ <choose>+ <if variable="genre" match="none">+ <text term="presented at" text-case="capitalize-first" suffix=" "/>+ <text variable="event"/>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="genre" text-case="capitalize-first"/>+ <text term="presented at"/>+ <text variable="event"/>+ </group>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issued">+ <choose>+ <if variable="issued">+ <group prefix=" (" suffix=").">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song article-journal chapter paper-conference" match="none">+ <date variable="issued">+ <date-part prefix=", " name="month"/>+ <date-part prefix=" " name="day"/>+ </date>+ </if>+ </choose>+ </group>+ </if>+ <else>+ <group prefix=" (" suffix=").">+ <text term="no date" form="short"/>+ <text variable="year-suffix" prefix="-"/>+ </group> + </else>+ </choose>+ </macro>+ <macro name="issued-year">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="year-suffix"/>+ </if>+ <else>+ <text term="no date" form="short"/>+ <text variable="year-suffix" prefix="-"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal article-magazine article-newspaper" match="any">+ <group prefix=", " delimiter=", ">+ <group>+ <text variable="volume" font-style="italic"/>+ <text variable="issue" prefix="(" suffix=")"/>+ </group>+ <text variable="page"/>+ </group>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <group prefix=" (" suffix=")" delimiter=", ">+ <text macro="edition"/>+ <group>+ <text term="volume" form="short" plural="true" text-case="capitalize-first" suffix=". " strip-periods="true"/>+ <number variable="number-of-volumes" form="numeric" prefix="1-"/>+ </group>+ <group>+ <text term="volume" form="short" text-case="capitalize-first" suffix=". " strip-periods="true"/>+ <number variable="volume" form="numeric"/>+ </group>+ <group>+ <label variable="page" form="short" suffix=" "/>+ <text variable="page"/>+ </group>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="citation-locator">+ <group>+ <label variable="locator" form="short"/>+ <text variable="locator" prefix=" "/>+ </group>+ </macro>+ <citation et-al-min="6" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" collapse="year" givenname-disambiguation-rule="primary-name">+ <sort>+ <key macro="author"/>+ <key macro="issued-year"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter=", ">+ <group delimiter=", ">+ <text macro="author-short"/>+ <text macro="issued-year"/>+ <text macro="citation-locator"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="8" et-al-use-first="7" entry-spacing="0" line-spacing="2">+ <sort>+ <key macro="author"/>+ <key macro="issued-year" sort="ascending"/>+ </sort>+ <layout>+ <group suffix=".">+ <text macro="author" suffix="."/>+ <text macro="issued" suffix=" "/>+ <group delimiter=". ">+ <text macro="title"/>+ <group>+ <text macro="container-contributors"/>+ <text macro="secondary-contributors"/>+ <group delimiter=", ">+ <text variable="container-title" font-style="italic"/>+ <text variable="collection-title"/>+ </group>+ </group>+ </group>+ <text macro="locators"/>+ <group delimiter=", " prefix=". ">+ <text macro="event"/>+ <text macro="publisher"/>+ </group>+ </group>+ <text macro="access" prefix=". "/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Oblinger",+ "given": "Dan Gerry"+ },+ {+ "family": "Oblinger",+ "given": "Susan Mary"+ }+ ],+ "id": 3,+ "issued": {+ "date-parts": [+ [+ 2009+ ]+ ]+ },+ "title": "Bookie",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/fullstyles_ChicagoArticleTitleQuestion.txt view
@@ -0,0 +1,419 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Doe, John. 1994. An article is it? <i>New Thinker</i> 10: 5.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <title>Chicago Manual of Style (Author-Date format)</title>+ <id>http://www.zotero.org/styles/chicago-author-date</id>+ <link rel="self" href="http://www.zotero.org/styles/chicago-author-date" />+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <category citation-format="author-date" />+ <category field="generic-base" />+ <updated>2009-08-10T04:49:00+09:00</updated>+ <summary>The author-date variant of the Chicago style</summary>+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation" />+ </info>+ <macro name="secondary-contributors">+ <choose>+ <if match="none" type="chapter">+ <group delimiter=". ">+ <choose>+ <if variable="author">+ <names variable="editor">+ <label form="verb-short" prefix=" " suffix=". " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names variable="translator">+ <label form="verb-short" prefix=" " suffix=". " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter">+ <group delimiter=", " prefix=",">+ <choose>+ <if variable="author">+ <names variable="editor">+ <label form="verb-short" prefix=" " suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names variable="translator">+ <label form="verb-short" prefix=" " suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="anon">+ <choose>+ <if match="none" variable="author editor translator">+ <text form="short" term="anonymous" text-case="capitalize-first" />+ </if>+ </choose>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="recipient">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ <else>+ <text term="letter" text-case="capitalize-first" />+ </else>+ </choose>+ </if>+ </choose>+ <names delimiter=", " variable="recipient">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="contributors">+ <names variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." text-case="lowercase" />+ <substitute>+ <text macro="editor" />+ <text macro="translator" />+ </substitute>+ </names>+ <text macro="anon" />+ <text macro="recipient" />+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name and="text" delimiter=", " form="short" />+ <substitute>+ <names variable="editor" />+ <names variable="translator" />+ </substitute>+ </names>+ <text macro="anon" />+ </macro>+ <macro name="interviewer">+ <names delimiter=", " variable="interviewer">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="archive">+ <group delimiter=". ">+ <text text-case="capitalize-first" variable="archive_location" />+ <text variable="archive" />+ <text variable="archive-place" />+ </group>+ </macro>+ <macro name="access">+ <group delimiter=". ">+ <choose>+ <if match="any" type="graphic report">+ <text macro="archive" />+ </if>+ <else-if match="none" type="book thesis chapter article-journal article-newspaper article-magazine">+ <text macro="archive" />+ </else-if>+ </choose>+ <text prefix="doi:" variable="DOI" />+ <text variable="URL" />+ </group>+ </macro>+ <macro name="title">+ <choose>+ <if match="none" variable="title">+ <choose>+ <if match="none" type="personal_communication">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ </if>+ <else-if type="book">+ <text font-style="italic" variable="title" />+ </else-if>+ <else>+ <text variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if match="any" type="book chapter">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number form="ordinal" variable="edition" />+ <text form="short" suffix="." term="edition" />+ </group>+ </if>+ <else>+ <text suffix="." variable="edition" />+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <text prefix=" " variable="volume"/>+ <text prefix=", no. " variable="issue" />+ </if>+ <else-if type="book">+ <group delimiter=". " prefix=". ">+ <group>+ <text form="short" suffix=". " term="volume" text-case="capitalize-first" />+ <number form="numeric" variable="volume" />+ </group>+ <group>+ <number form="numeric" variable="number-of-volumes" />+ <text form="short" plural="true" prefix=" " suffix="." term="volume" />+ </group>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter">+ <group prefix=", ">+ <text suffix=":" variable="volume" />+ <text variable="page" />+ </group>+ </if>+ </choose>+ </macro>+ <macro name="locators-article">+ <choose>+ <if type="article-newspaper">+ <group delimiter=", " prefix=", ">+ <group>+ <text suffix=" " variable="edition" />+ <text prefix=" " term="edition" />+ </group>+ <group>+ <text form="short" suffix=". " term="section" />+ <text variable="section" />+ </group>+ </group>+ </if>+ <else-if type="article-journal">+ <text prefix=": " variable="page" />+ </else-if>+ </choose>+ </macro>+ <macro name="point-locators">+ <group>+ <choose>+ <if locator="page" match="none">+ <label form="short" suffix=" " variable="locator" />+ </if>+ </choose>+ <text variable="locator" />+ </group>+ </macro>+ <macro name="container-prefix">+ <text term="in" text-case="capitalize-first" />+ </macro>+ <macro name="container-title">+ <choose>+ <if type="chapter">+ <text macro="container-prefix" suffix=" " />+ </if>+ </choose>+ <text font-style="italic" variable="container-title" />+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place" />+ <text variable="publisher" />+ </group>+ </macro>+ <macro name="date">+ <date variable="issued">+ <date-part name="year" />+ </date>+ </macro>+ <macro name="day-month">+ <date variable="issued">+ <date-part name="month" />+ <date-part name="day" prefix=" " />+ </date>+ </macro>+ <macro name="collection-title">+ <text variable="collection-title" />+ <text prefix=" " variable="collection-number" />+ </macro>+ <macro name="event">+ <group>+ <text suffix=" " term="presented at" />+ <text variable="event" />+ </group>+ </macro>+ <macro name="description">+ <group delimiter=". ">+ <text macro="interviewer" />+ <text text-case="capitalize-first" variable="medium" />+ </group>+ <choose>+ <if match="none" variable="title"> </if>+ <else-if type="thesis"> </else-if>+ <else>+ <text prefix=". " text-case="capitalize-first" variable="genre" />+ </else>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="article-journal">+ <text macro="day-month" prefix=" (" suffix=")" />+ </if>+ <else-if type="speech">+ <group delimiter=", " prefix=" ">+ <text macro="event" />+ <text macro="day-month" />+ <text variable="event-place" />+ </group>+ </else-if>+ <else-if match="any" type="article-newspaper article-magazine">+ <text macro="day-month" prefix=", " />+ </else-if>+ <else>+ <group delimiter=", " prefix=". ">+ <choose>+ <if type="thesis">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ <text macro="publisher" />+ <text macro="day-month" />+ </group>+ </else>+ </choose>+ </macro>+ <citation + disambiguate-add-givenname="true"+ disambiguate-add-names="true"+ disambiguate-add-year-suffix="true"+ et-al-min="4"+ et-al-subsequent-min="4"+ et-al-subsequent-use-first="1"+ et-al-use-first="1">+ <layout delimiter="; " prefix="(" suffix=")">+ <group delimiter=", ">+ <group delimiter=" ">+ <text macro="contributors-short" />+ <text macro="date" />+ </group>+ <text macro="point-locators" />+ </group>+ </layout>+ </citation>+ <bibliography + entry-spacing="0"+ et-al-min="11"+ et-al-use-first="7"+ hanging-indent="true"+ subsequent-author-substitute="---">+ <sort>+ <key macro="contributors" />+ <key variable="issued" />+ </sort>+ <layout suffix=".">+ <text macro="contributors" suffix=". " />+ <text macro="date" suffix=". " />+ <text macro="title" />+ <text macro="description" />+ <text macro="secondary-contributors" prefix=". " />+ <text macro="container-title" prefix=". " />+ <text macro="container-contributors" />+ <text macro="locators-chapter" />+ <text macro="edition" prefix=". " />+ <text macro="locators" />+ <text macro="collection-title" prefix=". "/>+ <text macro="issue" />+ <text macro="locators-article"/>+ <text macro="access" prefix=". " />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "container-title": "New Thinker",+ "id": "ITEM-5",+ "issued": {+ "date-parts": [+ [+ "1994"+ ]+ ]+ },+ "page": "5",+ "title": "An article is it?",+ "type": "article-journal",+ "volume": "10"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/fullstyles_ChicagoAuthorDateSimple.txt view
@@ -0,0 +1,590 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Doe, John. 1990. <i>Book A</i>. Brobdingnag: Zardoz Press.</div>+ <div class="csl-entry">Doe, John, and Jane Roe. 1991. <i>Book B</i>.</div>+ <div class="csl-entry">Doe, John, Jane Roe, and Alvin Asthma. 1992. <i>Book C</i>.</div>+ <div class="csl-entry">Doe, John, Jane Roe, Alvin Asthma, Bob Bronchitis, Chris Cold, Don Dropsy, Ernie Enteritis, et al. 1993. <i>Book D</i>.</div>+ <div class="csl-entry">---. 1994. <i>Book E</i>.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" page-range-format="chicago">+ <info>+ <title>Chicago Manual of Style (Author-Date format)</title>+ <id>http://www.zotero.org/styles/chicago-author-date</id>+ <link href="http://www.zotero.org/styles/chicago-author-date" rel="self"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <category citation-format="author-date"/>+ <category field="generic-base"/>+ <updated>2009-12-04T20:22:16+00:00</updated>+ <summary>The author-date variant of the Chicago style</summary>+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>+ </info>+ <macro name="secondary-contributors">+ <choose>+ <if match="none" type="chapter">+ <group delimiter=". ">+ <choose>+ <if variable="author">+ <names variable="editor">+ <label form="verb-short" prefix=" " suffix=". " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names variable="translator">+ <label form="verb-short" prefix=" " suffix=". " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter">+ <group delimiter=", " prefix=",">+ <choose>+ <if variable="author">+ <names variable="editor">+ <label form="verb-short" prefix=" " suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names variable="translator">+ <label form="verb-short" prefix=" " suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="anon">+ <choose>+ <if match="none" variable="author editor translator">+ <text form="short" term="anonymous" text-case="capitalize-first" />+ </if>+ </choose>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="recipient">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ <else>+ <text term="letter" text-case="capitalize-first" />+ </else>+ </choose>+ </if>+ </choose>+ <names delimiter=", " variable="recipient">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="contributors">+ <names variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." text-case="lowercase" />+ <substitute>+ <text macro="editor" />+ <text macro="translator" />+ </substitute>+ </names>+ <text macro="anon" />+ <text macro="recipient" />+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name and="text" delimiter=", " form="short" />+ <substitute>+ <names variable="editor" />+ <names variable="translator" />+ </substitute>+ </names>+ <text macro="anon" />+ </macro>+ <macro name="interviewer">+ <names delimiter=", " variable="interviewer">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="archive">+ <group delimiter=". ">+ <text text-case="capitalize-first" variable="archive_location" />+ <text variable="archive" />+ <text variable="archive-place" />+ </group>+ </macro>+ <macro name="access">+ <group delimiter=". ">+ <choose>+ <if match="any" type="graphic report">+ <text macro="archive" />+ </if>+ <else-if match="none" type="book thesis chapter article-journal article-newspaper article-magazine">+ <text macro="archive" />+ </else-if>+ </choose>+ <text prefix="doi:" variable="DOI" />+ <text variable="URL" />+ </group>+ </macro>+ <macro name="title">+ <choose>+ <if match="none" variable="title">+ <choose>+ <if match="none" type="personal_communication">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ </if>+ <else-if type="book">+ <text font-style="italic" variable="title" />+ </else-if>+ <else>+ <text variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if match="any" type="book chapter">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number form="ordinal" variable="edition" />+ <text form="short" suffix="." term="edition" />+ </group>+ </if>+ <else>+ <text suffix="." variable="edition" form="short"/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <text prefix=" " variable="volume" />+ <text prefix=", no. " variable="issue" />+ </if>+ <else-if type="book">+ <group delimiter=". " prefix=". ">+ <group>+ <text form="short" suffix=". " term="volume" text-case="capitalize-first" />+ <number form="numeric" variable="volume" />+ </group>+ <group>+ <number form="numeric" variable="number-of-volumes" />+ <text form="short" plural="true" prefix=" " suffix="." term="volume" />+ </group>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter">+ <group prefix=", ">+ <text suffix=":" variable="volume" />+ <text variable="page" />+ </group>+ </if>+ </choose>+ </macro>+ <macro name="locators-article">+ <choose>+ <if type="article-newspaper">+ <group delimiter=", " prefix=", ">+ <group>+ <text suffix=" " variable="edition" />+ <text prefix=" " term="edition" />+ </group>+ <group>+ <text form="short" suffix=". " term="section" />+ <text variable="section" />+ </group>+ </group>+ </if>+ <else-if type="article-journal">+ <text prefix=": " variable="page" />+ </else-if>+ </choose>+ </macro>+ <macro name="point-locators">+ <group>+ <choose>+ <if locator="page" match="none">+ <label form="short" suffix=" " variable="locator" />+ </if>+ </choose>+ <text variable="locator" />+ </group>+ </macro>+ <macro name="container-prefix">+ <text term="in" text-case="capitalize-first" />+ </macro>+ <macro name="container-title">+ <choose>+ <if type="chapter">+ <text macro="container-prefix" suffix=" " />+ </if>+ </choose>+ <text font-style="italic" variable="container-title" />+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place" />+ <text variable="publisher" />+ </group>+ </macro>+ <macro name="date">+ <date variable="issued">+ <date-part name="year" />+ </date>+ </macro>+ <macro name="day-month">+ <date variable="issued">+ <date-part name="month" />+ <date-part name="day" prefix=" " />+ </date>+ </macro>+ <macro name="collection-title">+ <text variable="collection-title" />+ <text prefix=" " variable="collection-number" />+ </macro>+ <macro name="event">+ <group>+ <text suffix=" " term="presented at" />+ <text variable="event" />+ </group>+ </macro>+ <macro name="description">+ <group delimiter=". ">+ <text macro="interviewer" />+ <text text-case="capitalize-first" variable="medium" />+ </group>+ <choose>+ <if match="none" variable="title"> </if>+ <else-if type="thesis"> </else-if>+ <else>+ <text prefix=". " text-case="capitalize-first" variable="genre" />+ </else>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="article-journal">+ <text macro="day-month" prefix=" (" suffix=")" />+ </if>+ <else-if type="speech">+ <group delimiter=", " prefix=" ">+ <text macro="event" />+ <text macro="day-month" />+ <text variable="event-place" />+ </group>+ </else-if>+ <else-if match="any" type="article-newspaper article-magazine">+ <text macro="day-month" prefix=", " />+ </else-if>+ <else>+ <group delimiter=", " prefix=". ">+ <choose>+ <if type="thesis">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ <text macro="publisher" />+ <text macro="day-month" />+ </group>+ </else>+ </choose>+ </macro>+ <citation + disambiguate-add-givenname="true"+ disambiguate-add-names="true"+ disambiguate-add-year-suffix="true"+ et-al-min="4"+ et-al-subsequent-min="4"+ et-al-subsequent-use-first="1"+ et-al-use-first="1">+ <layout delimiter="; " prefix="(" suffix=")">+ <group delimiter=", ">+ <group delimiter=" ">+ <text macro="contributors-short" />+ <text macro="date" />+ </group>+ <text macro="point-locators" />+ </group>+ </layout>+ </citation>+ <bibliography + entry-spacing="0"+ et-al-min="11"+ et-al-use-first="7"+ hanging-indent="true"+ subsequent-author-substitute="---">+ <sort>+ <key macro="contributors" />+ <key variable="issued" />+ <key variable="title" />+ </sort>+ <layout suffix=".">+ <text macro="contributors" suffix=". " />+ <text macro="date" suffix=". " />+ <text macro="title" />+ <text macro="description" />+ <text macro="secondary-contributors" prefix=". " />+ <text macro="container-title" prefix=". " />+ <text macro="container-contributors" />+ <text macro="locators-chapter" />+ <text macro="edition" prefix=". " />+ <text macro="locators" />+ <text macro="collection-title" prefix=". " />+ <text macro="issue" />+ <text macro="locators-article" />+ <text macro="access" prefix=". " />+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ },+ "publisher": "Zardoz Press",+ "publisher-place": "Brobdingnag",+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1991"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Asthma",+ "given": "Alvin"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ "1992"+ ]+ ]+ },+ "title": "Book C",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Asthma",+ "given": "Alvin"+ },+ {+ "family": "Bronchitis",+ "given": "Bob"+ },+ {+ "family": "Cold",+ "given": "Chris"+ },+ {+ "family": "Dropsy",+ "given": "Don"+ },+ {+ "family": "Enteritis",+ "given": "Ernie"+ },+ {+ "family": "Fever",+ "given": "Frank"+ },+ {+ "family": "Goiter",+ "given": "George"+ },+ {+ "family": "Hiccup",+ "given": "Herb"+ },+ {+ "family": "Impetigo",+ "given": "Irwin"+ }+ ],+ "id": "ITEM-4",+ "issued": {+ "date-parts": [+ [+ "1993"+ ]+ ]+ },+ "title": "Book D",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Asthma",+ "given": "Alvin"+ },+ {+ "family": "Bronchitis",+ "given": "Bob"+ },+ {+ "family": "Cold",+ "given": "Chris"+ },+ {+ "family": "Dropsy",+ "given": "Don"+ },+ {+ "family": "Enteritis",+ "given": "Ernie"+ },+ {+ "family": "Fever",+ "given": "Frank"+ },+ {+ "family": "Goiter",+ "given": "George"+ },+ {+ "family": "Hiccup",+ "given": "Herb"+ },+ {+ "family": "Impetigo",+ "given": "Irwin"+ },+ {+ "family": "Jaudice",+ "given": "Jeff"+ }+ ],+ "id": "ITEM-5",+ "issued": {+ "date-parts": [+ [+ "1994"+ ]+ ]+ },+ "title": "Book E",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/fullstyles_ChicagoNoteWithBibliographyWithPublisher.txt view
@@ -0,0 +1,762 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Doe, John. <i>Book A</i>. Brobdingnag: Zardoz Press, 1990.</div>+ <div class="csl-entry">Roe, Jane. <i>Book B</i>, 1991.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <title>Chicago Manual of Style (Full Note with Bibliography)</title>+ <id>http://www.zotero.org/styles/chicago-fullnote-bibliography</id>+ <link rel="self" href="http://www.zotero.org/styles/chicago-fullnote-bibliography" />+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation" />+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </contributor>+ <contributor>+ <name>Elena Razlogova</name>+ <email>elena.razlogova@gmail.com</email>+ </contributor>+ <summary>Chicago format with full notes and bibliography</summary>+ <category field="generic-base" />+ <category citation-format="numeric" />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="editor-translator">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <names delimiter=", " variable="editor">+ <label form="verb-short" suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names delimiter=", " variable="translator">+ <label form="verb-short" suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="secondary-contributors-note">+ <choose>+ <if match="none" type="chapter">+ <text macro="editor-translator" />+ </if>+ </choose>+ </macro>+ <macro name="container-contributors-note">+ <choose>+ <if type="chapter">+ <text macro="editor-translator" />+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if match="none" type="chapter">+ <group delimiter=". ">+ <choose>+ <if variable="author">+ <names delimiter=". " variable="editor">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names delimiter=". " variable="translator">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <names delimiter=", " variable="editor">+ <label form="verb" suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names delimiter=", " variable="translator">+ <label form="verb" suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="editor-note">+ <names variable="editor">+ <name and="text" delimiter=", " sort-separator=", " />+ <label form="short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="translator-note">+ <names variable="translator">+ <name and="text" delimiter=", " sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="recipient-note">+ <names delimiter=", " variable="recipient">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="contributors-note">+ <names variable="author">+ <name and="text" delimiter=", " sort-separator=", " />+ <substitute>+ <text macro="editor-note" />+ <text macro="translator-note" />+ </substitute>+ </names>+ <text macro="recipient-note" />+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="recipient">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ <else>+ <text term="letter" text-case="capitalize-first" />+ </else>+ </choose>+ </if>+ </choose>+ <text macro="recipient-note" prefix=" " />+ </macro>+ <macro name="contributors">+ <names variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <substitute>+ <text macro="editor" />+ <text macro="translator" />+ </substitute>+ </names>+ <text macro="recipient" prefix=". " />+ </macro>+ <macro name="recipient-short">+ <names variable="recipient">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " form="short" />+ </names>+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name and="text" delimiter=", " form="short" />+ <substitute>+ <names variable="editor" />+ <names variable="translator" />+ </substitute>+ </names>+ <text macro="recipient-short" />+ </macro>+ <macro name="contributors-sort">+ <names variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="all" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ <substitute>+ <names variable="editor" />+ <names variable="translator" />+ </substitute>+ </names>+ </macro>+ <macro name="interviewer-note">+ <names delimiter=", " variable="interviewer">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="interviewer">+ <names delimiter=", " variable="interviewer">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="title-note">+ <choose>+ <if match="none" variable="title">+ <text variable="genre" />+ </if>+ <else-if type="book">+ <text font-style="italic" variable="title" />+ </else-if>+ <else>+ <text quotes="true" variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if match="none" variable="title">+ <choose>+ <if match="none" type="personal_communication">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ </if>+ <else-if type="book">+ <text font-style="italic" variable="title" />+ </else-if>+ <else>+ <text quotes="true" variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="title-short">+ <choose>+ <if match="none" variable="title">+ <choose>+ <if type="interview">+ <text term="interview" text-case="lowercase" />+ </if>+ <else-if match="any" type="manuscript speech">+ <text form="short" variable="genre" />+ </else-if>+ <else-if type="personal_communication">+ <text macro="issued" />+ </else-if>+ </choose>+ </if>+ <else-if type="book">+ <text font-style="italic" form="short" variable="title" />+ </else-if>+ <else>+ <text form="short" quotes="true" variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="description-note">+ <group delimiter=", ">+ <text macro="interviewer-note" />+ <text variable="medium" />+ <choose>+ <if match="none" variable="title"/>+ <else-if match="any" type="thesis speech"/>+ <else>+ <text variable="genre" />+ </else>+ </choose>+ </group>+ </macro>+ <macro name="description">+ <group delimiter=", ">+ <group delimiter=". ">+ <text macro="interviewer" />+ <text text-case="capitalize-first" variable="medium" />+ </group>+ <choose>+ <if match="none" variable="title"/>+ <else-if match="any" type="thesis speech"/>+ <else>+ <text text-case="capitalize-first" variable="genre" />+ </else>+ </choose>+ </group>+ </macro>+ <macro name="container-title-note">+ <choose>+ <if type="chapter">+ <text suffix=" " term="in" text-case="lowercase" />+ </if>+ </choose>+ <text font-style="italic" variable="container-title" />+ </macro>+ <macro name="container-title">+ <choose>+ <if type="chapter">+ <text suffix=" " term="in" text-case="capitalize-first" />+ </if>+ </choose>+ <text font-style="italic" variable="container-title" />+ </macro>+ <macro name="collection-title">+ <text variable="collection-title" />+ <text prefix=" " variable="collection-number" />+ </macro>+ <macro name="edition-note">+ <choose>+ <if match="any" type="book chapter">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number form="ordinal" variable="edition" />+ <text form="short" suffix="." term="edition" />+ </group>+ </if>+ <else>+ <text suffix="." variable="edition" />+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if match="any" type="book chapter">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number form="ordinal" variable="edition" />+ <text form="short" suffix="." term="edition" />+ </group>+ </if>+ <else>+ <text suffix="." text-case="capitalize-first" variable="edition" />+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-note">+ <choose>+ <if type="article-journal">+ <text prefix=" " variable="volume" />+ <text prefix=", no. " variable="issue" />+ </if>+ <else-if match="any" type="book chapter">+ <group delimiter=", " prefix=", ">+ <group>+ <text form="short" suffix=". " term="volume" />+ <number form="numeric" variable="volume" />+ </group>+ <choose>+ <if match="none" variable="locator">+ <group>+ <number form="numeric" variable="number-of-volumes" />+ <text form="short" plural="true" prefix=" " suffix="." term="volume" />+ </group>+ </if>+ </choose>+ <text macro="edition-note" />+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <text prefix=" " variable="volume" />+ <text prefix=", no. " variable="issue" />+ </if>+ <else-if match="any" type="book">+ <group delimiter=". " prefix=". ">+ <group>+ <text form="short" suffix=". " term="volume" text-case="capitalize-first" />+ <number form="numeric" variable="volume" />+ </group>+ <group>+ <number form="numeric" variable="number-of-volumes" />+ <text form="short" plural="true" prefix=" " suffix="." term="volume" />+ </group>+ <text macro="edition" />+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-newspaper">+ <choose>+ <if type="article-newspaper">+ <group delimiter=", ">+ <group>+ <text suffix=" " variable="edition" />+ <text prefix=" " term="edition" />+ </group>+ <group>+ <text form="short" suffix=". " term="section" />+ <text variable="section" />+ </group>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="event">+ <group>+ <text suffix=" " term="presented at" />+ <text variable="event" />+ </group>+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place" />+ <text variable="publisher" />+ </group>+ </macro>+ <macro name="issued">+ <choose>+ <if match="any" type="graphic report">+ <date variable="issued">+ <date-part name="month" suffix=" " />+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </if>+ <else-if match="any" type="book chapter thesis">+ <date variable="issued">+ <date-part name="year" />+ </date>+ </else-if>+ <else>+ <date variable="issued">+ <date-part name="month" suffix=" " />+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </else>+ </choose>+ </macro>+ <macro name="point-locators-subsequent">+ <group>+ <choose>+ <if locator="page" match="none">+ <label form="short" suffix=" " variable="locator" />+ </if>+ </choose>+ <text variable="locator" />+ </group>+ </macro>+ <macro name="point-locators">+ <choose>+ <if match="none" variable="locator">+ <text macro="pages" />+ </if>+ <else-if type="article-journal">+ <text prefix=": " variable="locator" />+ </else-if>+ <else>+ <text macro="point-locators-subsequent" prefix=", " />+ </else>+ </choose>+ </macro>+ <macro name="pages">+ <choose>+ <if type="article-journal">+ <text prefix=": " variable="page" />+ </if>+ <else-if type="chapter">+ <text prefix=", " variable="page" />+ </else-if>+ </choose>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter">+ <text suffix=":" variable="volume" />+ <text variable="page" />+ </if>+ </choose>+ </macro>+ <macro name="locators-journal">+ <choose>+ <if type="article-journal">+ <text prefix=": " variable="page" />+ </if>+ </choose>+ </macro>+ <macro name="archive-note">+ <group delimiter=", ">+ <text variable="archive_location" />+ <text variable="archive" />+ <text variable="archive-place" />+ </group>+ </macro>+ <macro name="archive">+ <group delimiter=". ">+ <text text-case="capitalize-first" variable="archive_location" />+ <text variable="archive" />+ <text variable="archive-place" />+ </group>+ </macro>+ <macro name="issue-note">+ <choose>+ <if type="article-journal">+ <text macro="issued" prefix=" (" suffix=")" />+ </if>+ <else-if match="any" variable="publisher-place publisher">+ <group delimiter=", " prefix=" (" suffix=")">+ <group delimiter=" ">+ <choose>+ <if match="none" variable="title"/>+ <else-if match="any" type="thesis speech">+ <text variable="genre" />+ </else-if>+ </choose>+ <text macro="event" />+ </group>+ <text macro="publisher" />+ <text macro="issued" />+ </group>+ </else-if>+ <else>+ <text macro="issued" prefix=", " />+ </else>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="article-journal">+ <text macro="issued" prefix=" (" suffix=")" />+ </if>+ <else-if type="speech">+ <choose>+ <if match="none" variable="title"> </if>+ <else>+ <text prefix=". " text-case="capitalize-first" variable="genre" />+ </else>+ </choose>+ <text macro="event" prefix=" " />+ <text prefix=", " variable="event-place" />+ <text macro="issued" prefix=", " />+ </else-if>+ <else-if match="any" variable="publisher-place publisher">+ <group delimiter=", " prefix=". ">+ <choose>+ <if type="thesis">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ <text macro="publisher" />+ <text macro="issued" />+ </group>+ </else-if>+ <else>+ <text macro="issued" prefix=", " />+ </else>+ </choose>+ </macro>+ <macro name="access-note">+ <group delimiter=", ">+ <choose>+ <if match="any" type="graphic report">+ <text macro="archive-note" />+ </if>+ <else-if match="none" type="book thesis chapter article-journal article-newspaper article-magazine">+ <text macro="archive-note" />+ </else-if>+ </choose>+ <text prefix="doi:" variable="DOI" />+ <text variable="URL" />+ </group>+ </macro>+ <macro name="access">+ <group delimiter=". ">+ <choose>+ <if match="any" type="graphic report">+ <text macro="archive" />+ </if>+ <else-if match="none" type="book thesis chapter article-journal article-newspaper article-magazine">+ <text macro="archive" />+ </else-if>+ </choose>+ <text variable="URL" />+ </group>+ </macro>+ <macro name="sort-key">+ <text macro="contributors-sort" suffix=" " />+ <text suffix=" " variable="title" />+ <text variable="genre" />+ </macro>+ <macro name="legal-case-first">+ <group delimiter=", ">+ <text variable="title"/>+ <group delimiter=" ">+ <text variable="volume"/>+ <text variable="container-title"/>+ <text variable="page"/>+ <group prefix="(" suffix=")" delimiter=" ">+ <text variable="authority" form="short"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </group>+ </group>+ </macro>+ <citation + disambiguate-add-names="true"+ et-al-min="4"+ et-al-subsequent-min="4"+ et-al-subsequent-use-first="1"+ et-al-use-first="1">+ <layout delimiter="; " prefix="" suffix=".">+ <choose>+ <if type="legal_case">+ <text macro="legal-case-first"/>+ </if>+ <else-if position="ibid-with-locator">+ <group delimiter=", ">+ <text suffix="." term="ibid"/>+ <text macro="point-locators-subsequent" />+ </group>+ </else-if>+ <else-if position="ibid">+ <text suffix="." term="ibid"/>+ </else-if>+ <else-if position="subsequent">+ <group delimiter=", ">+ <text macro="contributors-short" />+ <text macro="title-short" />+ <text macro="point-locators-subsequent" />+ </group>+ </else-if>+ <else>+ <group delimiter=", ">+ <text macro="contributors-note" />+ <text macro="title-note" />+ <text macro="description-note" />+ <text macro="secondary-contributors-note" />+ <text macro="container-title-note" />+ <text macro="container-contributors-note" />+ </group>+ <text macro="locators-note" />+ <text macro="collection-title" prefix=", " />+ <text macro="issue-note" />+ <text macro="locators-newspaper" prefix=", " />+ <text macro="point-locators"/>+ <text macro="access-note" prefix=", " />+ </else>+ </choose>+ </layout>+ </citation>+ <bibliography + entry-spacing="0"+ et-al-min="11"+ et-al-use-first="7"+ hanging-indent="true"+ subsequent-author-substitute="---">+ <sort>+ <key macro="sort-key" />+ <key variable="issued" />+ </sort>+ <layout suffix=".">+ <choose>+ <if type="legal_case">+ <text macro="legal-case-first"/>+ </if>+ <else>+ <group delimiter=". ">+ <text macro="contributors" />+ <text macro="title" />+ <text macro="description" />+ <text macro="secondary-contributors" />+ <group delimiter=", ">+ <text macro="container-title" />+ <text macro="container-contributors" />+ <text macro="locators-chapter" />+ </group>+ </group>+ <text macro="locators" />+ <text macro="collection-title" prefix=". " />+ <text macro="issue" />+ <text macro="locators-newspaper" prefix=", " />+ <text macro="locators-journal" />+ <text macro="access" prefix=". " />+ </else>+ </choose>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ },+ "publisher": "Zardoz Press",+ "publisher-place": "Brobdingnag",+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1991"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/group_ComplexNesting.txt view
@@ -0,0 +1,424 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Doe Inc. (n.d.). Retrieved June 1, 1965, from http://example.com/</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only">+ <info>+ <title>American Psychological Association 6th Edition</title>+ <id>http://www.zotero.org/styles/apa</id>+ <link href="http://www.zotero.org/styles/apa" rel="self"/>+ <link href="http://owl.english.purdue.edu/owl/resource/560/01/" rel="documentation"/>+ <author>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </author>+ <contributor>+ <name>Bruce D'Arcus</name>+ </contributor>+ <contributor>+ <name>Curtis M. Humphrey</name>+ </contributor>+ <contributor>+ <name>Richard Karnesky</name>+ <email>karnesky+zotero@gmail.com</email>+ <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>+ </contributor>+ <contributor>+ <name>Sebastian Karcher</name>+ </contributor>+ <category field="psychology"/>+ <category field="generic-base"/>+ <category citation-format="author-date"/>+ <updated>2010-01-27T20:08:03+00:00</updated>+ <rights>This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>+ </info>+ <locale xml:lang="en">+ <terms>+ <term name="translator" form="short">+ <single>trans.</single>+ <multiple>trans.</multiple>+ </term>+ </terms>+ </locale>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text term="in" text-case="capitalize-first" suffix=" "/>+ <names variable="editor" delimiter=", " suffix=", ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=" (" text-case="capitalize-first" suffix=")"/>+ <substitute>+ <names variable="translator"/>+ </substitute>+ </names>+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if type="chapter paper-conference" match="none">+ <names variable="translator" delimiter=", " prefix=" (" suffix=")">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="capitalize-first" suffix=""/>+ <substitute>+ <names variable="editor"/>+ </substitute> + </names>+ </if>+ </choose>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=" (" suffix=".)" text-case="capitalize-first" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <choose>+ <if type="report">+ <text variable="publisher"/>+ <text macro="title"/>+ </if>+ <else>+ <text macro="title"/>+ </else>+ </choose>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="symbol" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <choose>+ <if type="report">+ <text variable="publisher"/>+ <text variable="title" form="short" font-style="italic"/>+ </if>+ <else-if type="bill book graphic legal_case motion_picture song" match="any">+ <text variable="title" form="short" font-style="italic"/>+ </else-if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <choose>+ <if type="thesis">+ <choose>+ <if variable="archive" match="any">+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="archive" suffix="."/>+ <text variable="archive_location" prefix=" (" suffix=")"/>+ </group>+ </if>+ <else>+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </else>+ </choose>+ </if>+ <else>+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix="doi:"/>+ </if>+ <else>+ <choose>+ <if type="webpage">+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <date variable="accessed" suffix=", ">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ <group>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </group>+ </if>+ <else>+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </else>+ </choose>+ </else>+ </choose>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if type="report thesis" match="any">+ <text variable="title" font-style="italic"/>+ <group prefix=" (" suffix=")">+ <text variable="genre"/>+ <text variable="number" prefix=" No. "/>+ </group>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song manuscript speech" match="any">+ <text variable="title" font-style="italic"/>+ </else-if>+ <else>+ <text variable="title"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <choose>+ <if type="report" match="any">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </if>+ <else-if type="thesis" match="any">+ <group delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </else-if>+ <else>+ <choose>+ <if variable="event" match="none">+ <text variable="genre" suffix=", "/>+ </if>+ </choose>+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="event">+ <choose>+ <if variable="event">+ <choose>+ <if variable="genre" match="none">+ <text term="presented at" text-case="capitalize-first" suffix=" "/>+ <text variable="event"/>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="genre" text-case="capitalize-first"/>+ <text term="presented at"/>+ <text variable="event"/>+ </group>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issued">+ <choose>+ <if variable="issued">+ <group prefix=" (" suffix=").">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song article-journal chapter paper-conference" match="none">+ <date variable="issued">+ <date-part prefix=", " name="month"/>+ <date-part prefix=" " name="day"/>+ </date>+ </if>+ </choose>+ </group>+ </if>+ <else>+ <group prefix=" (" suffix=").">+ <text term="no date" form="short"/>+ <text variable="year-suffix" prefix="-"/>+ </group> + </else>+ </choose>+ </macro>+ <macro name="issued-sort-key">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song article-journal chapter paper-conference" match="none">+ <date variable="issued">+ <date-part name="year"/>+ <date-part prefix=", " name="month"/>+ <date-part prefix=" " name="day"/>+ </date>+ </if>+ <else>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </else>+ </choose>+ </macro>+ <macro name="issued-year">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="year-suffix"/>+ </if>+ <else>+ <text term="no date" form="short"/>+ <text variable="year-suffix" prefix="-"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal article-magazine" match="any">+ <group prefix=", " delimiter=", ">+ <group>+ <text variable="volume" font-style="italic"/>+ <text variable="issue" prefix="(" suffix=")"/>+ </group>+ <text variable="page"/>+ </group>+ </if>+ <else-if type="article-newspaper">+ <group delimiter=" " prefix=", ">+ <label variable="page" form="short"/>+ <text variable="page"/>+ </group>+ </else-if>+ <else-if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <group prefix=" (" suffix=")" delimiter=", ">+ <text macro="edition"/>+ <group>+ <text term="volume" form="short" plural="true" text-case="capitalize-first" suffix=". " strip-periods="true"/>+ <number variable="number-of-volumes" form="numeric" prefix="1-"/>+ </group>+ <group>+ <text term="volume" form="short" text-case="capitalize-first" suffix=". " strip-periods="true"/>+ <number variable="volume" form="numeric"/>+ </group>+ <group>+ <label variable="page" form="short" suffix=" "/>+ <text variable="page"/>+ </group>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="citation-locator">+ <group>+ <label variable="locator" form="short"/>+ <text variable="locator" prefix=" "/>+ </group>+ </macro>+ <citation et-al-min="6" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" collapse="year" givenname-disambiguation-rule="primary-name">+ <sort>+ <key macro="author"/>+ <key macro="issued-sort-key"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter=", ">+ <group delimiter=", ">+ <text macro="author-short"/>+ <text macro="issued-year"/>+ <text macro="citation-locator"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="8" et-al-use-first="7" entry-spacing="0" line-spacing="2">+ <sort>+ <key macro="author"/>+ <key macro="issued-sort-key" sort="ascending"/>+ </sort>+ <layout>+ <group suffix=".">+ <text macro="author" suffix="."/>+ <text macro="issued"/>+ <group delimiter=". ">+ <text macro="title" prefix=" "/>+ <group>+ <text macro="container-contributors"/>+ <text macro="secondary-contributors"/>+ <group delimiter=", ">+ <text variable="container-title" font-style="italic"/>+ <text variable="collection-title"/>+ </group>+ </group>+ </group>+ <text macro="locators"/>+ <group delimiter=", " prefix=". ">+ <text macro="event"/>+ <text macro="publisher"/>+ </group>+ </group>+ <text macro="access" prefix=" "/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "URL": "http://example.com/",+ "accessed": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "author": [+ {+ "family": "Doe Inc.",+ "isInstitution": true+ }+ ],+ "id": "ITEM-1",+ "type": "webpage"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/group_LegalWithAuthorDate.txt view
@@ -0,0 +1,122 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++The bug this tested for turned out to be unrelated to legal+items. When the style rendered a title instead of an author+in an author-date style with "collapse," the processor was+mistakenly assuming that the citation had collapsed, and+delivered ", " as delimiter.++>>===== RESULT =====>>+>>[0] (Álvarez: 2000; Pineapple Case: 2000)+<<===== RESULT =====<<+++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-1"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ []+ ]+]+<<===== CITATIONS =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only">+ <!-- This style was edited with the Visual CSL Editor (http://editor.citationstyles.org/visualEditor/) -->+ <info>+ <title>Food and Agriculture Organization of the United Nations</title>+ <title-short>FAO</title-short>+ <id>http://www.zotero.org/styles/food-and-agriculture-organization-of-the-united-nations</id>+ <link href="http://www.zotero.org/styles/food-and-agriculture-organization-of-the-united-nations" rel="self"/>+ <link href="http://www.fao.org/3/a-ac339e.pdf" rel="documentation"/>+ <author>+ <name>Bin Liu</name>+ <email>lieubean@gmail.com</email>+ <uri>https://www.linkedin.com/in/lieubean/</uri>+ </author>+ <contributor>+ <name>Julian Plummer</name>+ <email>Julian.Plummer@fao.org</email>+ </contributor>+ <category citation-format="author-date"/>+ <category field="science"/>+ <category field="social_science"/>+ <summary>This style is created to meet the citation and bibliographical requirements of FAOSTYLE, and has been tested with Zotero and Mendeley. Last update: March 2017.</summary>+ <updated>2017-03-10T01:12:03+01:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <citation disambiguate-add-year-suffix="true" collapse="year">+ <layout prefix="(" suffix=")" delimiter="; ">+ <choose>+ <if match="none" type="article-journal"> + <names variable="author" suffix=": ">+ <name form="short"/>+ </names>+ <date variable="issued" form="text" date-parts="year"/>+ </if>+ <else>+ <text variable="title" suffix=": "/>+ <date variable="issued" form="text" date-parts="year"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Bobblehead", + "given": "Bobbie" + }+ ], + "id": "ITEM-1", + "type": "article-journal",+ "title": "Pineapple Case",+ "issued": {+ "date-parts": [[2000]]+ }+ }, + {+ "author": [+ {+ "family": "Álvarez", + "given": "Ajax" + }+ ], + "id": "ITEM-2", + "type": "book",+ "issued": {+ "date-parts": [[2000]]+ }+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/group_ShortOutputOnly.txt view
@@ -0,0 +1,48 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+something+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <group>+ <text variable="title" form="short"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "container-title": "my container title",+ "id": "ITEM-1",+ "title-short": "something",+ "type": "manuscript"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/group_SuppressTermInMacro.txt view
@@ -0,0 +1,80 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+His Anonymous Life+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <title>Chicago Manual of Style (Full Note with Bibliography)</title>+ <id>http://www.zotero.org/styles/chicago-fullnote-bibliography</id>+ <link rel="self" href="http://www.zotero.org/styles/chicago-fullnote-bibliography" />+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation" />+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </contributor>+ <contributor>+ <name>Elena Razlogova</name>+ <email>elena.razlogova@gmail.com</email>+ </contributor>+ <summary>Chicago format with full notes and bibliography</summary>+ <category field="generic-base" />+ <category citation-format="numeric" />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="container-title-note">+ <choose>+ <if type="chapter">+ <text suffix=" " term="in" text-case="lowercase"/>+ </if>+ </choose>+ <text font-style="italic" variable="container-title" />+ </macro>+ <citation>+ <layout>+ <group delimiter=", ">+ <text variable="title"/>+ <text macro="container-title-note" />+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "His Anonymous Life",+ "type": "chapter"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/group_SuppressTermWhenNoOutputFromPartialDate.txt view
@@ -0,0 +1,57 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Only this+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Only this"/>+ <group>+ <text value=" (and not this)"/>+ <date variable="issued">+ <date-part name="month"/>+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1965"+ ]+ ]+ },+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/group_SuppressValueWithEmptySubgroup.txt view
@@ -0,0 +1,57 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+His Anonymous Life+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title"/>+ <group prefix=", ">+ <text value="Disponible sur : " prefix=" "/>+ <group prefix="< " suffix=" >">+ <choose>+ <if variable="DOI">+ <text variable="DOI"/>+ </if>+ <else>+ <text variable="URL"/>+ </else>+ </choose>+ </group>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/group_SuppressWithEmptyNestedDateNode.txt view
@@ -0,0 +1,241 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Author1, O., Author7, T. & Author3, T., 2008. Test Article. <i>Test Journal</i>, 12.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>Harvard Reference format 1 (Author-Date)</title>+ <id>http://www.zotero.org/styles/harvard1</id>+ <link href="http://www.zotero.org/styles/harvard1" rel="self"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <category citation-format="author-date"/>+ <category field="generic-base"/>+ <updated>2008-10-29T21:20:42+00:00</updated>+ <summary>The Harvard author-date style</summary>+ <link href="http://libweb.anglia.ac.uk/referencing/harvard.htm" rel="documentation"/>+ </info>+ <macro name="editor">+ <names variable="editor" delimiter=", ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="lowercase" suffix="." strip-periods="true"/>+ </names>+ </macro>+ <macro name="anon">+ <text term="anonymous" form="short" text-case="capitalize-first" strip-periods="true"/>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with="." delimiter-precedes-last="never" delimiter=", "/>+ <label form="short" prefix=" " suffix="." text-case="lowercase" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="symbol" delimiter=", " delimiter-precedes-last="never" initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <group>+ <text value="Available at:" suffix=" "/>+ <text variable="URL"/>+ <group prefix=" [" suffix="]">+ <text term="accessed" text-case="capitalize-first" suffix=" "/>+ <date variable="accessed">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </group>+ </group>+ </macro>+ <macro name="title">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song thesis" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else>+ <text variable="title"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </macro>+ <macro name="year-date">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <macro name="pages">+ <group>+ <label variable="page" form="short" suffix=" "/>+ <text variable="page"/>+ </group>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true">+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <group delimiter=" ">+ <text macro="author-short"/>+ <text macro="year-date"/>+ </group>+ <group>+ <label variable="locator" suffix="." form="short" strip-periods="true"/>+ <text variable="locator"/>+ </group>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="4" et-al-use-first="1">+ <sort>+ <key macro="author"/>+ <key variable="title"/>+ </sort>+ <layout>+ <text macro="author" suffix=","/>+ <date variable="issued" prefix=" " suffix=".">+ <date-part name="year"/>+ </date>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <group prefix=" " delimiter=" " suffix=",">+ <text macro="title"/>+ <text macro="edition"/>+ <text macro="editor"/>+ </group>+ <text prefix=" " suffix="." macro="publisher"/>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <text macro="title" prefix=" " suffix="."/>+ <group prefix=" " delimiter=" ">+ <text term="in" text-case="capitalize-first"/>+ <text macro="editor"/>+ <text variable="container-title" font-style="italic" suffix="."/>+ <text variable="collection-title" suffix="."/>+ <group suffix="." delimiter=", ">+ <text macro="publisher" prefix=" "/>+ <text macro="pages"/>+ </group>+ </group>+ </else-if>+ <else-if type="thesis">+ <group prefix=" " suffix="." delimiter=". ">+ <text macro="title"/>+ <text variable="genre"/>+ <text macro="publisher"/>+ </group>+ </else-if>+ <else>+ <group suffix=".">+ <text macro="title" prefix=" "/>+ <text macro="editor" prefix=" "/>+ </group>+ <group prefix=" " suffix=".">+ <text variable="container-title" font-style="italic"/>+ <group prefix=", ">+ <text variable="volume"/>+ <text variable="issue" prefix="(" suffix=")"/>+ </group>+ <group prefix=", ">+ <label variable="page" suffix="." form="short" strip-periods="true"/>+ <text variable="page"/>+ </group>+ </group>+ </else>+ </choose>+ <text prefix=" " macro="access" suffix="."/>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Author1",+ "given": "One"+ },+ {+ "family": "Author7",+ "given": "Two"+ },+ {+ "family": "Author3",+ "given": "Three"+ }+ ],+ "container-title": "Test Journal",+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2008",+ "10",+ "16"+ ]+ ]+ },+ "title": "Test Article",+ "type": "article-journal",+ "volume": "12"+ }+]+<<===== INPUT =====<<+ ++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/integration_CitationSort.txt view
@@ -0,0 +1,112 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+(Doe; Noakes; Roe; Snoakes)+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-4"+ },+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <sort>+ <key variable="author"/>+ </sort>+ <layout delimiter="; " prefix="(" suffix=")">+ <choose>+ <if position="first">+ <names variable="author">+ <name form="short"/>+ </names>+ <group prefix=" ">+ <label variable="locator" form="short" suffix=" "/>+ <text variable="locator"/>+ </group>+ </if>+ <else>+ <text term="ibid"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Noakes",+ "given": "John"+ }+ ],+ "id": "ITEM-3",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Snoakes",+ "given": "Richard"+ }+ ],+ "id": "ITEM-4",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/integration_CitationSortTwice.txt view
@@ -0,0 +1,121 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+(Doe; Roe)+(Doe; Noakes; Roe; Snoakes)+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-4"+ },+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <sort>+ <key variable="author"/>+ </sort>+ <layout delimiter="; " prefix="(" suffix=")">+ <choose>+ <if position="ibid-with-locator">+ <text term="ibid"/>+ </if>+ <else>+ <names variable="author">+ <name form="short"/>+ </names>+ <group prefix=" ">+ <label variable="locator" form="short" suffix=" "/>+ <text variable="locator"/>+ </group>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Noakes",+ "given": "John"+ }+ ],+ "id": "ITEM-3",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Snoakes",+ "given": "Richard"+ }+ ],+ "id": "ITEM-4",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/integration_DeleteName.txt view
@@ -0,0 +1,117 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+>>[0] Doe; Snoakes.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout suffix="." delimiter="; ">+ <names variable="author">+ <name form="short"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<++++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-3"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ []+ ]+]+<<===== CITATIONS =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe", + "given": "John"+ }+ ], + "id": "ITEM-1", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Roe", + "given": "Jane"+ }+ ], + "id": "ITEM-2", + "type": "book"+ },+ {+ "author": [+ {+ "family": "Snoakes", + "given": "Richard"+ }+ ], + "id": "ITEM-3", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/integration_DisambiguateAddGivenname1.txt view
@@ -0,0 +1,125 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+>>[0] Smith (1986)+<<===== RESULT =====<<+++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-2"+ }+ ],+ "properties": {+ "notIndex": 0+ }+ },+ [],+ []+ ]+]+<<===== CITATIONS =====<<++++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + et-al-min="3"+ et-al-use-first="1"+ disambiguate-add-names="true"+ disambiguate-add-givenname="true">+ <layout delimiter="; ">+ <group delimiter=" ">+ <names delimiter=", " variable="author">+ <name and="symbol" delimiter-precedes-last="never" form="short"/>+ </names>+ <date variable="issued" prefix="(" suffix=")">+ <date-part name="year"/>+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ },+ {+ "family": "Smith", + "given": "Jane"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ }, + "id": "ITEM-1",+ "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "id": "ITEM-2",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/integration_DisambiguateAddGivenname2.txt view
@@ -0,0 +1,158 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++## 2013-04-16 :: Note by Frank Bennett <biercenator@gmail.com>++ The result of this test was changed from ...++ >>[0] John Smith & Jane Smith (1980)++ ... to ...++ >>[0] Smith & Smith (1980)++ ... because the CSL specification requires "by-cite" disambiguation+ by default, and under by-cite disambiguation, the two cite forms+ generated by input data (Smith 1986 and Smith & Smith 1980) are not+ ambiguous.+++++>>===== RESULT =====>>+>>[0] Smith & Smith (1980)+<<===== RESULT =====<<+++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-2"+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [],+ []+ ]+]+<<===== CITATIONS =====<<++++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + et-al-min="3"+ et-al-use-first="1"+ disambiguate-add-names="true"+ disambiguate-add-givenname="true">+ <layout delimiter="; ">+ <group delimiter=" ">+ <names delimiter=", " variable="author">+ <name and="symbol" delimiter-precedes-last="never" form="short"/>+ </names>+ <date variable="issued" prefix="(" suffix=")">+ <date-part name="year"/>+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ },+ {+ "family": "Smith", + "given": "Jane"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1980+ ]+ ]+ }, + "id": "ITEM-1",+ "type": "book"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "id": "ITEM-2",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/integration_DuplicateItem.txt view
@@ -0,0 +1,151 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+>>[0] la Berge, Nagel, Dement & Zarcone (1981)+<<===== RESULT =====<<+++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": 1772+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": 1773+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [],+ []+ ]+]+<<===== CITATIONS =====<<++++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + et-al-min="6"+ et-al-use-first="1"+ disambiguate-add-names="true"+ disambiguate-add-givenname="true">+ <layout delimiter="; ">+ <group delimiter=" ">+ <names delimiter=", " variable="author">+ <name and="symbol" delimiter-precedes-last="never" form="short"/>+ </names>+ <date variable="issued" prefix="(" suffix=")">+ <date-part name="year"/>+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id":1772,+ "type":"article-journal",+ "title":"Lucid dreaming verified by volitional communication during REM sleep.",+ "container-title":"Perceptual and motor skills",+ "page":"727–732",+ "volume":"52",+ "issue":"3",+ "call-number":"0049",+ "author":[{+ "family":"la Berge",+ "given":"S. P"+ },+ {+ "family":"Nagel",+ "given":"L. E"+ },+ {+ "family":"Dement",+ "given":"W. C"+ },+ {+ "family":"Zarcone",+ "given":"V. P"+ }+ ],+ "issued":{+ "date-parts":[[1981+ ]+ ]+ }+ },+ {+ "id":1773,+ "type":"article-journal",+ "title":"Lucid dreaming verified by volitional communication during REM sleep.",+ "container-title":"Perceptual and motor skills",+ "page":"727–732",+ "volume":"52",+ "issue":"3",+ "call-number":"0049",+ "author":[{+ "family":"la Berge",+ "given":"S. P"+ },+ {+ "family":"Nagel",+ "given":"L. E"+ },+ {+ "family":"Dement",+ "given":"W. C"+ },+ {+ "family":"Zarcone",+ "given":"V. P"+ }+ ],+ "issued":{+ "date-parts":[[1981+ ]+ ]+ }+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/integration_DuplicateItem2.txt view
@@ -0,0 +1,166 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+>>[0] la Berge, Nagel, Dement & Zarcone (1981)+<<===== RESULT =====<<+++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": 1772+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": 1773+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": 1772+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [],+ []+ ]+]+<<===== CITATIONS =====<<++++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + et-al-min="6"+ et-al-use-first="1"+ disambiguate-add-names="true"+ disambiguate-add-givenname="true">+ <layout delimiter="; ">+ <group delimiter=" ">+ <names delimiter=", " variable="author">+ <name and="symbol" delimiter-precedes-last="never" form="short"/>+ </names>+ <date variable="issued" prefix="(" suffix=")">+ <date-part name="year"/>+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id":1772,+ "type":"article-journal",+ "title":"Lucid dreaming verified by volitional communication during REM sleep.",+ "container-title":"Perceptual and motor skills",+ "page":"727–732",+ "volume":"52",+ "issue":"3",+ "call-number":"0049",+ "author":[{+ "family":"la Berge",+ "given":"S. P"+ },+ {+ "family":"Nagel",+ "given":"L. E"+ },+ {+ "family":"Dement",+ "given":"W. C"+ },+ {+ "family":"Zarcone",+ "given":"V. P"+ }+ ],+ "issued":{+ "date-parts":[[1981+ ]+ ]+ }+ },+ {+ "id":1773,+ "type":"article-journal",+ "title":"Lucid dreaming verified by volitional communication during REM sleep.",+ "container-title":"Perceptual and motor skills",+ "page":"727–732",+ "volume":"52",+ "issue":"3",+ "call-number":"0049",+ "author":[{+ "family":"la Berge",+ "given":"S. P"+ },+ {+ "family":"Nagel",+ "given":"L. E"+ },+ {+ "family":"Dement",+ "given":"W. C"+ },+ {+ "family":"Zarcone",+ "given":"V. P"+ }+ ],+ "issued":{+ "date-parts":[[1981+ ]+ ]+ }+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/integration_FirstReferenceNoteNumberPositionChange.txt view
@@ -0,0 +1,247 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+>>[0] Snoakes, “Life of Snoakes” (1902).+>>[1] Doe, “Life of Doe” (1901).+>>[2] Roe, “Life of Roe” (1900).+>>[3] Doe, supra note 2.+>>[4] Roe, supra note 3.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout suffix=".">+ <choose>+ <if position="first">+ <group delimiter=" ">+ <group delimiter=", ">+ <names variable="author">+ <name form="short"/>+ </names>+ <text variable="title" quotes="true"/>+ </group>+ <date variable="issued" date-parts="year" form="text" prefix="(" suffix=")"/>+ </group>+ </if>+ <else-if position="subsequent">+ <group delimiter=", ">+ <names variable="author">+ <name form="short"/>+ </names>+ <text value="supra"/>+ </group>+ <text variable="first-reference-note-number" prefix=" note "/>+ </else-if>+ <else>+ <text term="ibid"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<++++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-2",+ "citationItems": [+ {+ "id": "ITEM-2"+ }+ ],+ "properties": {+ "noteIndex": 2+ }+ },+ [+ [+ "CITATION-1",+ 1+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-3",+ "citationItems": [+ {+ "id": "ITEM-1"+ }+ ],+ "properties": {+ "noteIndex": 3+ }+ },+ [+ [+ "CITATION-1",+ 1+ ],+ [+ "CITATION-2",+ 2+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-4",+ "citationItems": [+ {+ "id": "ITEM-2"+ }+ ],+ "properties": {+ "noteIndex": 4+ }+ },+ [+ [+ "CITATION-1",+ 1+ ],+ [+ "CITATION-2",+ 2+ ],+ [+ "CITATION-3",+ 3+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-5",+ "citationItems": [+ {+ "id": "ITEM-3"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ [+ [+ "CITATION-1",+ 2+ ],+ [+ "CITATION-2",+ 3+ ],+ [+ "CITATION-3",+ 4+ ],+ [+ "CITATION-4",+ 5+ ]+ ]+ ]+]+<<===== CITATIONS =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe", + "given": "John"+ }+ ], + "id": "ITEM-1", + "type": "book",+ "title": "Life of Doe",+ "issued": {+ "date-parts": [+ [+ 1901+ ]+ ]+ }+ }, + {+ "author": [+ {+ "family": "Roe", + "given": "Jane"+ }+ ], + "id": "ITEM-2", + "type": "book",+ "title": "Life of Roe",+ "issued": {+ "date-parts": [+ [+ 1900+ ]+ ]+ }+ },+ {+ "author": [+ {+ "family": "Snoakes", + "given": "Richard"+ }+ ], + "id": "ITEM-3", + "type": "book",+ "title": "Life of Snoakes",+ "issued": {+ "date-parts": [+ [+ 1902+ ]+ ]+ }+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/integration_IbidOnInsert.txt view
@@ -0,0 +1,194 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+..[0] (Doe p. 12)+>>[1] (Noakes p. 34)+>>[2] (Ibid.)+..[3] (Snoakes p. 45)+<<===== RESULT =====<<+++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1",+ "locator": "12"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-2",+ "citationItems": [+ {+ "id": "ITEM-3",+ "locator": "34"+ }+ ],+ "properties": {+ "noteIndex": 2+ }+ },+ [+ [+ "CITATION-1",+ 1+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-3",+ "citationItems": [+ {+ "id": "ITEM-4",+ "locator": "45"+ }+ ],+ "properties": {+ "noteIndex": 3+ }+ },+ [+ [+ "CITATION-1",+ 1+ ],+ [+ "CITATION-2",+ 2+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-4",+ "citationItems": [+ {+ "id": "ITEM-3",+ "locator": "34"+ }+ ],+ "properties": {+ "noteIndex": 2+ }+ },+ [+ [+ "CITATION-1",+ 1+ ]+ ],+ [+ [+ "CITATION-2",+ 3+ ],+ [+ "CITATION-3",+ 4+ ]+ ]+ ]+]+<<===== CITATIONS =====<<++++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; " prefix="(" suffix=")">+ <choose>+ <if position="first">+ <names variable="author">+ <name form="short"/>+ </names>+ <group prefix=" ">+ <label variable="locator" form="short" suffix=" "/>+ <text variable="locator"/>+ </group>+ </if>+ <else>+ <text term="ibid"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe", + "given": "John"+ }+ ], + "id": "ITEM-1", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Roe", + "given": "Jane"+ }+ ], + "id": "ITEM-2", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Noakes", + "given": "John"+ }+ ], + "id": "ITEM-3", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Snoakes", + "given": "Richard"+ }+ ], + "id": "ITEM-4", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/integration_IbidWithDifferentLocators.txt view
@@ -0,0 +1,205 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+..[0] (Doe p. 12)+..[1] (ibid-with-locator)+..[2] (Roe bk. 20)+>>[3] (ibid-with-locator)+<<===== RESULT =====<<+++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1",+ "locator": "12"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-2",+ "citationItems": [+ {+ "id": "ITEM-1",+ "label": "book",+ "locator": "12"+ }+ ],+ "properties": {+ "noteIndex": 2+ }+ },+ [+ [+ "CITATION-1",+ 1+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-3",+ "citationItems": [+ {+ "id": "ITEM-2",+ "label": "book",+ "locator": "20"+ }+ ],+ "properties": {+ "noteIndex": 3+ }+ },+ [+ [+ "CITATION-1",+ 1+ ],+ [+ "CITATION-2",+ 2+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-4",+ "citationItems": [+ {+ "id": "ITEM-2",+ "label": "chapter",+ "locator": "20"+ }+ ],+ "properties": {+ "noteIndex": 4+ }+ },+ [+ [+ "CITATION-1",+ 1+ ],+ [+ "CITATION-2",+ 2+ ],+ [+ "CITATION-3",+ 3+ ]+ ],+ []+ ]+]+<<===== CITATIONS =====<<++++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; " prefix="(" suffix=")">+ <choose>+ <if position="first">+ <names variable="author">+ <name form="short"/>+ </names>+ <group prefix=" ">+ <label variable="locator" form="short" suffix=" "/>+ <text variable="locator"/>+ </group>+ </if>+ <else-if position="ibid-with-locator">+ <text value="ibid-with-locator"/>+ </else-if>+ <else-if position="ibid">+ <text term="ibid"/>+ </else-if>+ <else-if position="subsequent">+ <text value="subsequent"/>+ </else-if>+ <else>+ <text value="huh?"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe", + "given": "John"+ }+ ], + "id": "ITEM-1", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Roe", + "given": "Jane"+ }+ ], + "id": "ITEM-2", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Noakes", + "given": "John"+ }+ ], + "id": "ITEM-3", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Snoakes", + "given": "Richard"+ }+ ], + "id": "ITEM-4", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/integration_SimpleFirstReferenceNoteNumber.txt view
@@ -0,0 +1,196 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+..[0] Doe, “Life of Doe” (1901).+..[1] Roe, “Life of Roe” (1900).+..[2] Doe, supra note 1.+>>[3] Roe, supra note 2.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout suffix=".">+ <choose>+ <if position="first">+ <group delimiter=" ">+ <group delimiter=", ">+ <names variable="author">+ <name form="short"/>+ </names>+ <text variable="title" quotes="true"/>+ </group>+ <date variable="issued" date-parts="year" form="text" prefix="(" suffix=")"/>+ </group>+ </if>+ <else-if position="subsequent">+ <group delimiter=", ">+ <names variable="author">+ <name form="short"/>+ </names>+ <text value="supra"/>+ </group>+ <text variable="first-reference-note-number" prefix=" note "/>+ </else-if>+ <else>+ <text term="ibid"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<++++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-2",+ "citationItems": [+ {+ "id": "ITEM-2"+ }+ ],+ "properties": {+ "noteIndex": 2+ }+ },+ [+ [+ "CITATION-1",+ 1+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-3",+ "citationItems": [+ {+ "id": "ITEM-1"+ }+ ],+ "properties": {+ "noteIndex": 3+ }+ },+ [+ [+ "CITATION-1",+ 1+ ],+ [+ "CITATION-2",+ 2+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-4",+ "citationItems": [+ {+ "id": "ITEM-2"+ }+ ],+ "properties": {+ "noteIndex": 4+ }+ },+ [+ [+ "CITATION-1",+ 1+ ],+ [+ "CITATION-2",+ 2+ ],+ [+ "CITATION-3",+ 3+ ]+ ],+ []+ ]+]+<<===== CITATIONS =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe", + "given": "John"+ }+ ], + "id": "ITEM-1", + "type": "book",+ "title": "Life of Doe",+ "issued": {+ "date-parts": [+ [+ 1901+ ]+ ]+ }+ }, + {+ "author": [+ {+ "family": "Roe", + "given": "Jane"+ }+ ], + "id": "ITEM-2", + "type": "book",+ "title": "Life of Roe",+ "issued": {+ "date-parts": [+ [+ 1900+ ]+ ]+ }+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/integration_SimpleIbid.txt view
@@ -0,0 +1,158 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+..[0] (Doe p. 12; Roe p. 23)+>>[1] (Noakes p. 34; ibid.; Snoakes p. 45)+<<===== RESULT =====<<+++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1",+ "locator": "12"+ },+ {+ "id": "ITEM-2",+ "locator": "23"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-2",+ "citationItems": [+ {+ "id": "ITEM-3",+ "locator": "34"+ },+ {+ "id": "ITEM-3",+ "locator": "34"+ },+ {+ "id": "ITEM-4",+ "locator": "45"+ }+ ],+ "properties": {+ "noteIndex": 2+ }+ },+ [+ [+ "CITATION-1",+ 1+ ]+ ],+ []+ ]+]+<<===== CITATIONS =====<<++++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; " prefix="(" suffix=")">+ <choose>+ <if position="first">+ <names variable="author">+ <name form="short"/>+ </names>+ <group prefix=" ">+ <label variable="locator" form="short" suffix=" "/>+ <text variable="locator"/>+ </group>+ </if>+ <else-if position="ibid-with-locator">+ <text value="ibid-with-locator"/>+ </else-if>+ <else-if position="ibid">+ <text term="ibid"/>+ </else-if>+ <else-if position="subsequent">+ <text value="subsequent"/>+ </else-if>+ <else>+ <text value="huh?"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe", + "given": "John"+ }+ ], + "id": "ITEM-1", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Roe", + "given": "Jane"+ }+ ], + "id": "ITEM-2", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Noakes", + "given": "John"+ }+ ], + "id": "ITEM-3", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Snoakes", + "given": "Richard"+ }+ ], + "id": "ITEM-4", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/integration_SubsequentWhenInterveningFootnote.txt view
@@ -0,0 +1,108 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+..[0] (Doe)+>>[1] (I am subsequent)+<<===== RESULT =====<<+++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-2",+ "citationItems": [+ {+ "id": "ITEM-1"+ }+ ],+ "properties": {+ "noteIndex": 3+ }+ },+ [+ [+ "CITATION-1",+ 1+ ]+ ],+ []+ ]+]+<<===== CITATIONS =====<<++++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; " prefix="(" suffix=")">+ <choose>+ <if position="first">+ <names variable="author">+ <name form="short"/>+ </names>+ <group prefix=" ">+ <label variable="locator" form="short" suffix=" "/>+ <text variable="locator"/>+ </group>+ </if>+ <else-if position="subsequent">+ <text value="I am subsequent"/>+ </else-if>+ <else>+ <text value="I am ibid or ibid-with-locator"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe", + "given": "John"+ }+ ], + "id": "ITEM-1", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/integration_YearSuffixOnOffOn.txt view
@@ -0,0 +1,189 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+>>[0] Smith (1986a); Smith (1986b); Smith (1986c); Smith (1986d)+<<===== RESULT =====<<+++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-4"+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [],+ []+ ]+]+<<===== CITATIONS =====<<++++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + et-al-min="3"+ et-al-use-first="1"+ disambiguate-add-names="true"+ disambiguate-add-givenname="true"+ disambiguate-add-year-suffix="true">+ <layout delimiter="; ">+ <group delimiter=" ">+ <names delimiter=", " variable="author">+ <name and="symbol" delimiter-precedes-last="never" form="short"/>+ </names>+ <date variable="issued" prefix="(" suffix=")">+ <date-part name="year"/>+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-1"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-2"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-3"+ }, + {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued": {+ "date-parts": [+ [+ 1986+ ]+ ]+ }, + "type": "book",+ "id": "ITEM-4"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/label_CollapsedPageNumberPluralDetection.txt view
@@ -0,0 +1,69 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+His Anonymous Life, page 327-30+His Anonymous Life, pages 427–430+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1",+ "label": "page",+ "locator": "327\\-30"+ }+ ],+ [+ {+ "id": "ITEM-1",+ "label": "page",+ "locator": "427-30"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ page-range-format="expanded">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <group delimiter=", ">+ <text variable="title"/>+ <group delimiter=" ">+ <label variable="locator"/>+ <text variable="locator"/>+ </group>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/label_CompactNamesAfterFullNames.txt view
@@ -0,0 +1,67 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Alan Aalto, editor+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name/>+ <label prefix=", "/>+ <substitute>+ <names variable="translator">+ <name/>+ <label form="short" prefix=" "/>+ </names>+ <names variable="editor"/>+ </substitute>+ </names>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "editor": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/label_EditorTranslator1.txt view
@@ -0,0 +1,613 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">1. Иванов И.И. Пример оформления книги с редактором и переводчиком в одном лице : вид издания : in 5 vols. Vol. 2 / И.И. Иванов, П.П. Петров, С.С. Сидоров; ed & trans. Р.Р. Романов Дополнительно. – Тюмень: Дом, 2013. – 10. – 100 p.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>Russian GOST R 7.0.5-2008 numeric citations with aplhabetic sorting</title>+ <id>http://www.zotero.org/styles/GOST-R-7.0.5-2008%20numeric%20alphabetic</id>+ <link href="http://chetvericov.ru/stil-oformleniya-dlya-mendeley-i-zotero-csl-po-gost-r-705-2008/" rel="self"/>+ <author>+ <name>Roman Raspopov</name>+ <email>romanraspopov@gmail.com</email>+ <uri>+ </uri>+ </author> + <category citation-format="numeric"/>+ <category field="generic-base"/>+ <updated>2013-05-24T01:12:50+00:00</updated>+ <summary>+ Russian GOST-2008 style.+ + За основу были взяты стили Андрея Четверикова с разными видами сортировки (в порядке появления, в алфавитном порядке и с отображением фамилий вместо номеров ссылок), которые прекрасно работали, но не могли обеспечить многих требований ГОСТ 7.0.5-2008 "Библиографическая ссылка", ГОСТ 7.1-2003 "Библиографическая запись и описание" и ГОСТ 7.82-2001 "Библиографическая запись. Библиографическое описание электронных ресурсов". В данном стиле введен большой перечень усовершенствований, который позволил дополнить функционал стилей А. Четверикова.+ + Теперь стиль решает следующие задачи в соответствии с требованиями ГОСТов:+ - Сортировка библиографии: а) по языку (сначала русскоязычные источники, затем иностранные), а затем в алфавитном порядке, б) в порядке появления ссылок.+ - Локализация стандартных обозначений ([et al.] / [и др.]; Vol. / Т.; P. / С. и другие), которые зависят от поля "Язык" ("Language"): для русскоязычных пусто, для иностранных "en" (без ковычек).+ - + - ++ Примечания:+ - Составитель (сост.) в Zotero обозначается как "Редактор серии" (Series Editor).+ + Так как возможности локализации в текущей версии Zotero (4.0.8) довольно ограничены, иногда библиографическое описание источников оказывается вынужденно стандартизованным (не всегда можно учесть все нюансы оригинального библиографического описания), а также приходится идти на разного рода ухищрения при использовании полей в программе. Однако результат стоит того - в итоге список литературы автоматически формируется, сортируется и форматируется в соответствии с большинством требований ГОСТ. + + Выражаю искреннюю благодарность Андрею Петровичу Фоту за его пособие с очень подробным описанием всех нюансов составления библиографических списков (Фот А.П. Оформление библиографических ссылок на использованные источники в научных работах : методические рекомендации соискателям ученых степеней. – Оренбург: ГОУ «ОГУ», 2005. – 24 с.), а также Андрею Четверикову за разработку основы стилей ГОСТ и их поддержку на сайте (http://chetvericov.ru/stil-oformleniya-dlya-mendeley-i-zotero-csl-po-gost-r-705-2008).++ </summary>+ <link href="http://protect.gost.ru/document.aspx?control=7&id=173511" rel="documentation"/>+ <rights>This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License http://creativecommons.org/licenses/by-sa/3.0/</rights>+ </info>++ <!--_______________________________________________________________________________++___________________________ ЛОКАЛИЗАЦИЯ ТЕРМИНОВ ______________________________++_______________________________________________________________________________ -->++ <locale xml:lang="en">+ <terms>+ <term name="et-al"> [et al.]</term>+ <term name="and others">+ </term>+ <term name="page" form="short">p.</term>+ <term name="number-of-pages" form="short">p.</term>+ <term name="number-of-volumes" form="short">vols.</term>+ <term name="note" form="long">+ </term>+ <term name="note" form="short">+ </term>+ <term name="collection-editor" form="short">coll.</term>+ <term name="editortranslator" form="short">+ <single>ed. & trans.</single>+ <multiple>eds. & trans.</multiple>+ </term> + </terms>+ </locale>++ <locale xml:lang="ru">+ <terms>+ <term name="et-al"> [и др.]</term>+ <term name="and others">+ </term>+ <term name="page" form="short">с.</term>+ <term name="number-of-pages" form="short">с.</term>+ <term name="number-of-volumes" form="short">т.</term>+ <term name="note" form="long">+ </term>+ <term name="note" form="short">+ </term>+ <term name="collection-editor" form="short">сост.</term>+ <term name="collection-number" form="short">вып.</term>+ <term name="translator" form="short">+ <single>пер.</single>+ <multiple>пер.</multiple>+ </term>+ <term name="editortranslator" form="short">+ <single>ред. и пер.</single>+ <multiple>ред. и пер.</multiple>+ </term> ++ <!-- SHORT MONTH FORMS -->+ <term name="month-01" form="short">янв.</term>+ <term name="month-02" form="short">февр.</term>+ <term name="month-03" form="short">марта</term>+ <term name="month-04" form="short">апр.</term>+ <term name="month-05" form="short">мая</term>+ <term name="month-06" form="short">июня</term>+ <term name="month-07" form="short">июля</term>+ <term name="month-08" form="short">авг.</term>+ <term name="month-09" form="short">сент.</term>+ <term name="month-10" form="short">окт.</term>+ <term name="month-11" form="short">нояб.</term>+ <term name="month-12" form="short">дек.</term>+ </terms>+ </locale>++ <locale>+ <terms>+ <term name="page-range-delimiter">-</term> + <!-- Если между номерами страниц нужно тире, а не дефис [С. 56-59], то эту строку нужно закомментировать -->+ </terms>+ </locale>+ + <macro name="number-of-volumes">+ <choose>+ <if variable="note"> + <text variable="number-of-volumes" prefix="in "/>+ <label variable="number-of-volumes" form="short" prefix=" "/>+ </if>+ <else>+ <text variable="number-of-volumes" prefix="в "/>+ <label variable="number-of-volumes" form="short" prefix=" "/>+ </else>+ </choose>+ </macro>++ <macro name="language-sort"> + <!-- Макрос сортировки по полю "Language" (сначала русскоязычные источники, затем иностранные) -->+ <choose>+ <if variable="note">+ <text value="B000"/>+ </if>+ <else>+ <text value="A000"/>+ </else>+ </choose> + </macro>++ <!--_______________________________________________________________________________++_____________________________________ АВТОРЫ __________________________________++_______________________________________________________________________________ -->++ <macro name="author_short"> + <!-- Макрос для ненумерованных ссылок вида [Иванов, 2013] -->+ <choose>+ <if type="webpage">+ <names variable="author">+ <name form="short" name-as-sort-order="all" sort-separator=" " delimiter=", " delimiter-precedes-last="always"/>+ <substitute>+ <text variable="title"/>+ <text variable="container-title"/>+ </substitute>+ </names>+ </if>+ <else>+ <names variable="author">+ <name form="short" name-as-sort-order="all" sort-separator=" " delimiter=", " delimiter-precedes-last="always"/>+ <substitute>+ <text variable="title"/>+ </substitute>+ </names>+ </else>+ </choose>+ </macro> ++ <macro name="author-title">+ <names variable="author" suffix=". ">+ <!-- Добавить запятую между фамилией и инициалами автора: sort-separator=", ", иначе sort-separator=" " -->+ <!-- Сделать шрифт фамилий и инициалов авторов наклонным: font-style="italic", иначе font-style="normal" -->+ <name et-al-min="2" et-al-use-first="1" initialize-with="." name-as-sort-order="first" sort-separator=" "/> + <et-al term="and others"/>+ </names>+ <text variable="title"/>+ </macro>++ <macro name="author-title-medium">+ <choose>+ <if variable="medium">+ <text macro="author-title" suffix=" [Электронный ресурс]"/>+ </if>+ <else>+ <text macro="author-title"/>+ </else>+ </choose> + </macro>++ + <macro name="second-position-creators">+ <group delimiter="; ">+ <names variable="author collection-editor" delimiter="; ">+ <label form="short" prefix=" " suffix=". " text-case="lowercase" strip-periods="true"/>+ <name et-al-min="4" et-al-use-first="1" delimiter=", " initialize-with="."/>+ </names>+ <names variable="editor translator" delimiter="; ">+ <label form="short" prefix=" " suffix=". " text-case="lowercase" strip-periods="true"/>+ <name et-al-min="4" et-al-use-first="1" delimiter=", " initialize-with="."/>+ </names>+ </group>+ </macro>++ <macro name="second-position-authors-only">+ <names variable="author">+ <label form="short" prefix=" " suffix=". " text-case="lowercase" strip-periods="true"/>+ <name et-al-min="4" et-al-use-first="1" delimiter=", " initialize-with="."/> + </names>+ </macro>++ <macro name="second-position-creators-no-authors">+ + <names variable="collection-editor editor translator" delimiter="; ">+ <label form="short" prefix=" " suffix=". " text-case="lowercase" strip-periods="true"/>+ <name et-al-min="4" et-al-use-first="1" delimiter=", " initialize-with="."/> + </names>+ </macro>+ + ++ <!--_______________________________________________________________________________++_________________________ ВСПОМОГАТЕЛЬНЫЕ МАКРОСЫ _____________________________++_______________________________________________________________________________ -->++ <macro name="citation-number">+ <text variable="citation-number" suffix=".	"/>+ </macro>++ <macro name="publisher">+ <group prefix=" " delimiter=": " suffix=", ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ <text macro="year-date" suffix="."/> + </macro>++ <macro name="day-month">+ <date variable="issued">+ <date-part name="day" form="numeric" suffix=" "/>+ <date-part name="month" form="short"/>+ </date>+ </macro>++ <macro name="year-date">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </macro>++ <macro name="page">+ <label variable="page" form="short" prefix="" suffix=" " text-case="capitalize-first"/>+ <text variable="page"/> + </macro>++ <macro name="number-of-pages"> + <text variable="number-of-pages"/>+ <label variable="number-of-pages" form="short" prefix=" " suffix=""/>+ </macro>++ <macro name="pages-or-volumes">+ <choose>+ <if variable="volume">+ <text macro="number-of-pages"/>+ </if>+ <else-if variable="number-of-volumes">+ <text macro="volumes"/>+ </else-if>+ <else>+ <text macro="number-of-pages"/> + </else>+ </choose>+ </macro>+ + <macro name="volume">+ <choose>+ <if variable="volume">+ <label variable="volume" form="short" prefix="" suffix=" " text-case="capitalize-first"/>+ <text variable="volume"/>+ </if> + </choose>+ </macro>++ <macro name="volumes">+ <label variable="volume" form="short" suffix=" 1-" text-case="capitalize-first"/>+ <text variable="number-of-volumes"/>+ </macro>++ <macro name="collection-number"> + <!-- Номер выпуска (Вып. N) -->+ <choose>+ <if variable="collection-number">+ <label variable="collection-number" form="short" prefix="" suffix=" " text-case="capitalize-first"/>+ <text variable="collection-number"/>+ </if> + </choose>+ </macro>+ + <!--_______________________________________________________________________________++______________________________ ССЫЛКИ В ТЕКСТЕ ________________________________++_______________________________________________________________________________ -->++ <!-- Формат цитат для ненумерованных ссылок вида [Иванов, 2013] или [Иванов, 2013, с. 55].+ Сортировка библиографии в этом случае должна быть в алфавитном порядке.+ Для включения этого вида форматирования расскомментировать этот блок, закомментировать следующий (для нумерованных ссылок) и изменить, если требуется правило сортировки библиографии.-->++ <!--+ <citation et-al-min="4" et-al-use-first="1" disambiguate-add-year-suffix="true" collapse="year" et-al-subsequent-use-first="1" disambiguate-add-names="false" disambiguate-add-givenname="false">+ <sort>+ <key macro="language-sort"/>+ <key macro="author-title"/>+ <key variable="issued"/>+ </sort>+ <layout prefix="[" suffix="]" delimiter="; " page-range-format="">+ <group delimiter=", ">+ <text macro="author_short" suffix=""/>+ <text macro="year-date"/> + </group>+ <choose>+ <if variable="locator">+ <label variable="locator" form="short" prefix=", " suffix=" "/>+ <text variable="locator"/>+ </if>+ </choose> + </layout>+ </citation> -->++ <!-- Формат цитат для нумерованных ссылок вида [1] или [1, с. 55].+ Сортировка библиографии в этом случае должна быть в алфавитном порядке.+ Для включения этого вида форматирования расскомментировать этот блок, закомментировать следующий (для цитат) и изменить, если требуется правило сортировки библиографии.-->++ <citation et-al-min="4" et-al-use-first="1" collapse="citation-number">+ <sort>+ <key variable="citation-number"/>+ </sort>+ <layout prefix="[" suffix="]" delimiter="; ">+ <text variable="citation-number"/>+ <choose>+ <if variable="locator">+ <label variable="locator" form="short" prefix=", " suffix=" "/>+ <text variable="locator"/>+ </if> + </choose> + </layout>+ </citation>++ <!--_______________________________________________________________________________++________________________________ БИБЛИОГРАФИЯ _________________________________++_______________________________________________________________________________ -->++ <macro name="bibliography">+ <text macro="citation-number"/> + <choose>+ <!--_______________________________________________________________________________+ _______________ КНИГА (в т.ч. многотомник или отдельный том, а также __________+ Электронный ресурс локального доступа (CD-ROM, компьютерная программа и др.))__+ _______________________________________________________________________________ -->+ <if type="book">+ <group delimiter=". – ">+ <group delimiter=" / ">+ <group delimiter=". ">+ <group delimiter=" : ">+ <text macro="author-title-medium"/>+ <text variable="collection-title"/>+ <text macro="number-of-volumes"/>+ </group>+ <text macro="volume"/>+ <text variable="title-short"/>+ </group> + <group delimiter=" ">+ <text macro="second-position-creators"/>+ <text variable="note"/> + </group>+ </group> + <text macro="publisher"/>+ <text macro="collection-number"/>+ <text macro="pages-or-volumes"/>+ <text variable="medium"/>+ </group>+ </if>+ <!--_______________________________________________________________________________+ _________________________ ДИССЕРТАЦИЯ или АВТОРЕФЕРАТ _________________________+ _______________________________________________________________________________ -->+ <else-if type="thesis" match="any">+ <group delimiter=". – " prefix="">+ <group delimiter=" / ">+ <group delimiter=" : ">+ <text macro="author-title"/>+ <text variable="genre"/>+ </group>+ <text macro="second-position-authors-only"/>+ </group> + <text macro="publisher"/> + <text macro="number-of-pages"/>+ </group>+ </else-if>+ <!--_______________________________________________________________________________+ ___________ РАЗДЕЛ КНИГИ, СТАТЬЯ В СБОРНИКЕ, СТАТЬЯ В ЭНЦИКЛОПЕДИИ ____________+ _______________________________________________________________________________ -->+ <else-if type="chapter paper-conference entry-encyclopedia" match="any">+ <group delimiter=". – ">+ <group delimiter=" // ">+ <group delimiter=" / ">+ <text macro="author-title"/>+ <text macro="second-position-authors-only"/>+ </group>+ <group delimiter=" / ">+ <group delimiter=" : ">+ <text variable="container-title"/>+ <text variable="collection-title"/>+ <text macro="number-of-volumes"/>+ </group>+ <group delimiter=" "> + <text macro="second-position-creators-no-authors"/>+ <text variable="note"/>+ </group> + </group> + </group>+ <text macro="publisher"/>+ <text macro="volume"/>+ <text macro="collection-number"/>+ <text variable="title-short"/>+ <text macro="page"/>+ </group>+ </else-if>+ <!--_______________________________________________________________________________+ _________________________ СТАТЬЯ В ПЕРИОДИКЕ, ЖУРНАЛЕ _________________________+ _______________________________________________________________________________ -->+ <else-if type="article-journal article-magazine" match="any"> + <group delimiter=". – ">+ <group delimiter=" // ">+ <group delimiter=" / ">+ <group delimiter=" : ">+ <text macro="author-title"/>+ <text variable="collection-title"/> + </group> + <text macro="second-position-authors-only"/>+ </group>+ <text variable="container-title"/> + </group>+ <text macro="year-date"/> + <text macro="volume"/> + <text variable="title-short"/>+ <text variable="issue" prefix="№ "/>+ <text macro="page"/>+ </group>+ </else-if>+ <!--_______________________________________________________________________________+ ______________________________ СТАТЬЯ В ГАЗЕТЕ ________________________________+ _______________________________________________________________________________ -->+ <else-if type="article-newspaper"> + <group delimiter=". – ">+ <group delimiter=" // ">+ <group delimiter=" / ">+ <group delimiter=" : ">+ <text macro="author-title"/>+ <text variable="section"/> + </group> + <text macro="second-position-authors-only"/>+ </group>+ <text variable="container-title"/> + </group>+ <text macro="year-date"/> + <text macro="day-month"/> + <text macro="page"/>+ </group>+ </else-if>+ <!--_______________________________________________________________________________+ ___________ ЭЛЕКТРОННЫЙ РЕСУРС УДАЛЕННОГО ДОСТУПА (ВЕБ-СТРАНИЦА)_______________+ _______________________________________________________________________________ -->+ <else-if type="webpage">+ <group delimiter=". – " prefix="">+ <group delimiter=" / ">+ <group delimiter=" : ">+ <text macro="author-title" suffix=" [Электронный ресурс]"/>+ <text variable="genre"/>+ </group>+ <group delimiter=" ">+ <text macro="second-position-authors-only"/>+ <text variable="note"/>+ </group> + </group> + <text variable="URL" prefix="Режим доступа: "/>+ </group>+ </else-if>+ <!--_______________________________________________________________________________+ _____________________________ Другие типы источников __________________________+ _______________________________________________________________________________ -->+ <else> + <group delimiter=". – ">+ <group delimiter=" / ">+ <group delimiter=". ">+ <group delimiter=" : ">+ <text macro="author-title"/>+ <text variable="collection-title"/>+ <text macro="number-of-volumes"/>+ </group>+ <text macro="volume"/>+ <text variable="title-short"/>+ </group> + <group delimiter=" ">+ <text macro="second-position-creators"/>+ <text variable="note"/> + </group>+ </group> + <text macro="publisher"/>+ <text macro="collection-number"/>+ <text macro="pages-or-volumes"/>+ </group>+ </else>++ </choose>+ </macro>++ <!--_______________________________________________________________________________+ _________ Непосредтсвенно БИБЛИОГРАФИЯ с сортировкой и локализацией ___________+ _______________________________________________________________________________ -->++ <bibliography et-al-min="4" et-al-use-first="1"> + <sort>+ <!-- Строка для сортировки в порядке появления ссылок, а не в алфавитном. Чтобы задействовать, нужно ее раскомментировать, а следующие три закомментировать+ <key variable="citation-number"/>-->+ <key macro="language-sort"/> + <!-- Сортировка по полю "Language" (сначала русскоязычные источники, затем иностранные) -->+ <key macro="author-title"/>+ <key variable="issued"/>+ </sort>++ <layout suffix=".">+ <text macro="bibliography"/>+ </layout>+ + </bibliography>+</style>++<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "archive-place": "Тюмень",+ "author": [+ {+ "family": "Иванов",+ "given": "Иван Иванович"+ },+ {+ "family": "Петров",+ "given": "П.П."+ },+ {+ "family": "Сидоров",+ "given": "С.С."+ }+ ],+ "collection-number": "10",+ "collection-title": "вид издания",+ "edition": "2-е изд. перераб. и доп.",+ "editor": [+ {+ "family": "Романов",+ "given": "Р.Р."+ }+ ],+ "event-place": "Тюмень",+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2013+ ]+ ]+ },+ "note": "Дополнительно",+ "number-of-pages": "100",+ "number-of-volumes": "5",+ "publisher": "Дом",+ "publisher-place": "Тюмень",+ "system_id": "0_6CD2WX2A",+ "title": "Пример оформления книги с редактором и переводчиком в одном лице",+ "translator": [+ {+ "family": "Романов",+ "given": "Р.Р."+ }+ ],+ "type": "book",+ "volume": "2"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/label_EditorTranslator2.txt view
@@ -0,0 +1,53 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Some title, “Hello there”.+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1",+ "suffix": ", \"Hello there\"."+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title"/>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Some title",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/label_EmptyLabelVanish.txt view
@@ -0,0 +1,56 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+[start](22)[end]+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <terms>+ <term name="page"></term>+ </terms>+ </locale>+ <citation>+ <layout>+ <text value="[start]"/>+ <group delimiter=" : " prefix="(" suffix=")">+ <label variable="page"/>+ <text variable="page-first"/>+ </group>+ <text value="[end]"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "page": "22-45",+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/label_EmptyLabelVanishPage.txt view
@@ -0,0 +1,61 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+{53}+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1",+ "locator": "53"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <terms>+ <term name="page" form="short"></term>+ </terms>+ </locale>+ <macro name="juris-locator">+ <text variable="locator" prefix="{" suffix="}"/>+ </macro>+ <citation>+ <layout>+ <text macro="juris-locator" />+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "My Title",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/label_ImplicitForm.txt view
@@ -0,0 +1,53 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+John Doe (editor)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="editor">+ <name />+ <label prefix=" (" suffix=")"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "editor": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/label_MissingReturnsEmpty.txt view
@@ -0,0 +1,70 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Aalto, 23+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <!-- locale>+ <term name="number">nummie</term>+ </locale -->+ <macro name="author">+ <names variable="author">+ <name form="short" />+ </names>+ </macro>+ <citation>+ <layout delimiter="; ">+ <text macro="author" />+ <group delimiter=" " prefix=", ">+ <text term="number"/>+ <number variable="collection-number"/>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "collection-number": 23,+ "id": "ITEM-1",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/label_NameLabelThroughSubstitute.txt view
@@ -0,0 +1,1443 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">Wolf, K. S. (2005). The future for Deaf individuals is not that bleak [Peer commentary, <i>Decrease of Deaf potential in a mainstreamed environment</i>, by W. C. Hall]. Retrieved from http://www.personalityresearch.org/papers/hall.html</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="never" page-range-format="expanded">+ <info>+ <title>American Psychological Association 6th edition</title>+ <title-short>APA</title-short>+ <id>http://www.zotero.org/styles/apa</id>+ <link href="http://www.zotero.org/styles/apa" rel="self"/>+ <link href="http://owl.english.purdue.edu/owl/resource/560/01/" rel="documentation"/>+ <author>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </author>+ <author>+ <name> Brenton M. Wiernik</name>+ <email>zotero@wiernik.org</email>+ </author>+ <contributor>+ <name>Bruce D'Arcus</name>+ </contributor>+ <contributor>+ <name>Curtis M. Humphrey</name>+ </contributor>+ <contributor>+ <name>Richard Karnesky</name>+ <email>karnesky+zotero@gmail.com</email>+ <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>+ </contributor>+ <contributor>+ <name>Sebastian Karcher</name>+ </contributor>+ <category citation-format="author-date"/>+ <category field="psychology"/>+ <category field="generic-base"/>+ <updated>2016-09-28T13:09:49+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale xml:lang="en">+ <terms>+ <term name="editortranslator" form="short">+ <single>ed. & trans.</single>+ <multiple>eds. & trans.</multiple>+ </term>+ <term name="translator" form="short">trans.</term>+ <term name="interviewer" form="short">interviewer</term>+ <term name="circa" form="short">ca.</term>+ <term name="collection-editor" form="short">series ed.</term>+ </terms>+ </locale>+ <locale xml:lang="es">+ <terms>+ <term name="from">de</term>+ </terms>+ </locale>+ <macro name="container-contributors-booklike">+ <choose>+ <if variable="container-title">+ <choose>+ <if variable="container-author">+ <group>+ <names variable="container-author">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=" (" text-case="title" suffix=")"/>+ </names>+ </group>+ </if>+ <else>+ <group>+ <names variable="editor translator" delimiter=", & ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=" (" text-case="title" suffix=")"/>+ <substitute>+ <names variable="collection-editor"/>+ </substitute>+ </names>+ </group>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="broadcast chapter entry entry-dictionary entry-encyclopedia graphic map personal_communication report" match="any">+ <text macro="container-contributors-booklike"/>+ </if>+ <else-if type="paper-conference">+ <choose>+ <if variable="editor collection-editor" match="any">+ <text macro="container-contributors-booklike"/>+ </if>+ </choose>+ </else-if>+ </choose>+ </macro>+ <macro name="secondary-contributors-booklike">+ <group delimiter="; ">+ <names variable="interviewer">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="title"/>+ </names>+ <choose>+ <if variable="container-title" match="none">+ <group delimiter="; ">+ <names variable="container-author">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="title"/>+ </names>+ <names variable="editor translator" delimiter="; ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="title"/>+ </names>+ </group>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if type="broadcast chapter entry entry-dictionary entry-encyclopedia graphic map report" match="any">+ <text macro="secondary-contributors-booklike"/>+ </if>+ <else-if type="personal_communication">+ <group delimiter="; ">+ <group delimiter=" ">+ <choose>+ <if variable="genre" match="any">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ <else>+ <text term="letter" text-case="capitalize-first"/>+ </else>+ </choose>+ <names variable="recipient" delimiter=", ">+ <label form="verb" suffix=" "/>+ <name and="symbol" initialize-with=". " delimiter=", "/>+ </names>+ </group>+ <text variable="medium" text-case="capitalize-first"/>+ <choose>+ <if variable="container-title" match="none">+ <names variable="editor translator" delimiter="; ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="title"/>+ </names>+ </if>+ </choose>+ </group>+ </else-if>+ <else-if type="song">+ <choose>+ <if variable="original-author composer" match="any">+ <group delimiter="; ">+ <!-- Replace prefix with performer label as that becomes available -->+ <names variable="author" prefix="Recorded by ">+ <label form="verb" text-case="title"/>+ <name and="symbol" initialize-with=". " delimiter=", "/>+ </names>+ <names variable="translator">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="title"/>+ </names>+ </group>+ </if>+ </choose>+ </else-if>+ <else-if type="article-journal article-magazine article-newspaper" match="any">+ <group>+ <names variable="interviewer translator" delimiter="; ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="title"/>+ </names>+ </group>+ </else-if>+ <else-if type="paper-conference">+ <choose>+ <if variable="editor collection-editor" match="any">+ <text macro="secondary-contributors-booklike"/>+ </if>+ <else>+ <group>+ <names variable="interviewer translator" delimiter="; ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="title"/>+ </names>+ </group>+ </else>+ </choose>+ </else-if>+ <else>+ <group delimiter="; ">+ <names variable="interviewer">+ <name and="symbol" initialize-with=". " delimiter="; "/>+ <label form="short" prefix=", " text-case="title"/>+ </names>+ <names variable="editor translator" delimiter="; ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="title"/>+ </names>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="author">+ <choose>+ <if type="song">+ <names variable="composer" delimiter=", ">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>+ <substitute>+ <names variable="original-author"/>+ <names variable="author"/>+ <names variable="translator">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=" (" suffix=")" text-case="capitalize-first"/>+ </names>+ <choose>+ <if variable="container-title">+ <text variable="title" form="short" quotes="true"/>+ </if>+ <else>+ <text variable="title" form="short" font-style="italic"/>+ </else>+ </choose>+ <text macro="format"/>+ </substitute>+ </names>+ </if>+ <else-if type="treaty"/>+ <else>+ <names variable="author" delimiter=", ">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>+ <substitute>+ <names variable="illustrator"/>+ <names variable="composer"/>+ <names variable="director">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>+ <label form="long" prefix=" (" suffix=")" text-case="capitalize-first"/>+ </names>+ <choose>+ <if variable="container-title">+ <names variable="translator">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=" (" suffix=")" text-case="capitalize-first"/>+ </names>+ </if>+ </choose>+ <names variable="editor translator" delimiter=", ">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=" (" suffix=")" text-case="capitalize-first"/>+ </names>+ <names variable="editorial-director">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=" (" suffix=")" text-case="capitalize-first"/>+ </names>+ <names variable="collection-editor">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=" (" suffix=")" text-case="capitalize-first"/>+ </names>+ <choose>+ <if type="report">+ <text variable="publisher"/>+ </if>+ </choose>+ <group delimiter=" ">+ <text macro="title"/>+ <text macro="description"/>+ <text macro="format"/>+ </group>+ </substitute>+ </names>+ </else>+ </choose>+ </macro>+ <macro name="author-short">+ <choose>+ <if type="patent" variable="number" match="all">+ <text macro="patent-number"/>+ </if>+ <else-if type="treaty">+ <text variable="title" form="short"/>+ </else-if>+ <else-if type="personal_communication">+ <choose>+ <if variable="archive DOI publisher URL" match="none">+ <group delimiter=", ">+ <names variable="author">+ <name and="symbol" delimiter=", " initialize-with=". "/>+ <substitute>+ <text variable="title" form="short" quotes="true"/>+ </substitute>+ </names>+ <!-- This should be localized -->+ <text value="personal communication"/>+ </group>+ </if>+ <else>+ <names variable="author" delimiter=", ">+ <name form="short" and="symbol" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <choose>+ <if variable="container-title">+ <text variable="title" form="short" quotes="true"/>+ </if>+ <else>+ <text variable="title" form="short" font-style="italic"/>+ </else>+ </choose>+ <text macro="format"/>+ </substitute>+ </names>+ </else>+ </choose>+ </else-if>+ <else-if type="song">+ <names variable="composer" delimiter=", ">+ <name form="short" and="symbol" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="original-author"/>+ <names variable="author"/>+ <names variable="translator"/>+ <choose>+ <if variable="container-title">+ <text variable="title" form="short" quotes="true"/>+ </if>+ <else>+ <text variable="title" form="short" font-style="italic"/>+ </else>+ </choose>+ <text macro="format"/>+ </substitute>+ </names>+ </else-if>+ <else>+ <names variable="author" delimiter=", ">+ <name form="short" and="symbol" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="illustrator"/>+ <names variable="composer"/>+ <names variable="director"/>+ <choose>+ <if variable="container-title">+ <names variable="translator"/>+ </if>+ </choose>+ <names variable="editor"/>+ <names variable="editorial-director"/>+ <names variable="translator"/>+ <choose>+ <if type="report" variable="publisher" match="all">+ <text variable="publisher"/>+ </if>+ <else-if type="legal_case">+ <text variable="title" font-style="italic"/>+ </else-if>+ <else-if type="bill legislation" match="any">+ <text variable="title" form="short"/>+ </else-if>+ <else-if variable="reviewed-author">+ <text macro="review-short"/>+ </else-if>+ <else-if type="post post-weblog webpage" variable="container-title" match="any">+ <text variable="title" form="short" quotes="true"/>+ </else-if>+ <else>+ <text variable="title" form="short" font-style="italic"/>+ </else>+ </choose>+ <text macro="format"/>+ </substitute>+ </names>+ </else>+ </choose>+ </macro>+ <macro name="review-short">+ <choose>+ <if variable="reviewed-title" match="none">+ <choose>+ <if variable="genre">+ <!-- Delimiting by , rather than "of" to avoid incorrect grammar -->+ <group delimiter=", ">+ <text variable="genre" text-case="capitalize-first"/>+ <text variable="title" form="short" font-style="italic"/>+ </group>+ </if>+ <else>+ <!-- This should be localized -->+ <group delimiter=" ">+ <text value="Review of"/>+ <text variable="title" form="short" font-style="italic"/>+ </group>+ </else>+ </choose>+ </if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="patent-number">+ <!-- genre: U.S. Patent number: 123,445-->+ <group delimiter=" ">+ <text variable="genre"/>+ <text term="issue" form="short" text-case="capitalize-first"/>+ <text variable="number"/>+ </group>+ </macro>+ <macro name="access">+ <choose>+ <if variable="DOI" match="any">+ <text variable="DOI" prefix="https://doi.org/"/>+ </if>+ <else-if variable="URL">+ <group delimiter=" ">+ <text term="retrieved" text-case="capitalize-first"/>+ <choose>+ <if type="post post-weblog webpage" match="any">+ <date variable="accessed" form="text" suffix=","/>+ </if>+ </choose>+ <text term="from"/>+ <choose>+ <if type="report">+ <choose>+ <if variable="author editor translator" match="any">+ <!-- This should be localized -->+ <text variable="publisher" suffix=" website:"/>+ </if>+ </choose>+ </if>+ <else-if type="post post-weblog webpage" match="any">+ <!-- This should be localized -->+ <text variable="container-title" suffix=" website:"/>+ </else-if>+ </choose>+ <text variable="URL"/>+ </group>+ </else-if>+ <else-if variable="archive">+ <choose>+ <if type="article article-journal article-magazine article-newspaper dataset report thesis" match="any">+ <group delimiter=" ">+ <text term="retrieved" text-case="capitalize-first"/>+ <text term="from"/>+ <text variable="archive" suffix="."/>+ <text variable="archive_location" prefix="(" suffix=")"/>+ </group>+ </if>+ </choose>+ </else-if>+ <else>+ <text macro="publisher" suffix="."/>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if variable="version" type="book" match="all">+ <!---This is a hack until we have a software type -->+ <text variable="title"/>+ </if>+ <else-if type="treaty">+ <group delimiter=", ">+ <text variable="title" text-case="title"/>+ <names variable="author">+ <name initialize-with="." form="short" delimiter="-"/>+ </names>+ </group>+ </else-if>+ <else-if variable="reviewed-author">+ <choose>+ <if variable="reviewed-title">+ <text variable="title"/>+ <!-- else: assume `title` is title of reviewed work -->+ </if>+ </choose>+ </else-if>+ <else-if type="patent" variable="number" match="all">+ <text macro="patent-number" font-style="italic"/>+ </else-if>+ <else-if type="post post-weblog webpage" variable="container-title" match="any">+ <text variable="title"/>+ </else-if>+ <else>+ <text variable="title" font-style="italic"/>+ </else>+ </choose>+ </macro>+ <!-- APA has four descriptive sections following the title: -->+ <!-- (description), [format], container, event -->+ <macro name="description">+ <group prefix="(" suffix=")">+ <choose>+ <if type="report">+ <choose>+ <if variable="container-title">+ <text macro="secondary-contributors"/>+ </if>+ <else>+ <group delimiter="; ">+ <text macro="description-report"/>+ <text macro="secondary-contributors"/>+ </group>+ </else>+ </choose>+ </if>+ <else-if type="thesis">+ <group delimiter="; ">+ <text variable="genre" text-case="capitalize-first"/>+ <text macro="locators"/>+ <text macro="secondary-contributors"/>+ </group>+ </else-if>+ <else-if type="book interview manuscript motion_picture musical_score pamphlet post-weblog speech webpage" match="any">+ <group delimiter="; ">+ <text macro="locators"/>+ <text macro="secondary-contributors"/>+ </group>+ </else-if>+ <else-if type="song">+ <choose>+ <if variable="container-title" match="none">+ <text macro="locators"/>+ </if>+ </choose>+ </else-if>+ <else-if type="article dataset figure" match="any">+ <choose>+ <if variable="container-title">+ <text macro="secondary-contributors"/>+ </if>+ <else>+ <group delimiter="; ">+ <text macro="locators"/>+ <text macro="secondary-contributors"/>+ </group>+ </else>+ </choose>+ </else-if>+ <else-if type="bill legislation legal_case patent treaty personal_communication" match="none">+ <text macro="secondary-contributors"/>+ </else-if>+ </choose>+ </group>+ </macro>+ <macro name="format">+ <group prefix="[" suffix="]">+ <choose>+ <if variable="reviewed-author">+ <group delimiter=", ">+ <choose>+ <if variable="genre">+ <!-- Delimiting by , rather than "of" to avoid incorrect grammar -->+ <group delimiter=", ">+ <text variable="genre" text-case="capitalize-first"/>+ <choose>+ <if variable="reviewed-title">+ <text variable="reviewed-title" font-style="italic"/>+ </if>+ <else>+ <!-- assume `title` is title of reviewed work -->+ <text variable="title" font-style="italic"/>+ </else>+ </choose>+ </group>+ </if>+ <else>+ <!-- This should be localized -->+ <group delimiter=" ">+ <text value="Review of"/>+ <choose>+ <if variable="reviewed-title">+ <text variable="reviewed-title" font-style="italic"/>+ </if>+ <else>+ <!-- assume `title` is title of reviewed work -->+ <text variable="title" font-style="italic"/>+ </else>+ </choose>+ </group>+ </else>+ </choose>+ <names variable="reviewed-author">+ <label form="verb-short" suffix=" "/>+ <name and="symbol" initialize-with=". " delimiter=", "/>+ </names>+ </group>+ </if>+ <else-if type="speech thesis" match="any">+ <text variable="medium" text-case="capitalize-first"/>+ </else-if>+ <else-if type="report">+ <choose>+ <if variable="container-title" match="none">+ <text macro="format-report"/>+ </if>+ </choose>+ </else-if>+ <else-if type="manuscript">+ <choose>+ <if variable="archive">+ <!-- Assume manuscript with archive is historical/archival manuscript -->+ <group delimiter=", ">+ <text variable="genre" text-case="capitalize-first"/>+ <text variable="medium" text-case="capitalize-first"/>+ </group>+ </if>+ <else>+ <text variable="medium" text-case="capitalize-first"/>+ </else>+ </choose>+ </else-if>+ <else-if type="personal_communication">+ <text macro="secondary-contributors"/>+ </else-if>+ <else-if type="song">+ <group delimiter="; ">+ <text macro="secondary-contributors"/>+ <choose>+ <if variable="container-title" match="none">+ <group delimiter=", ">+ <text variable="genre" text-case="capitalize-first"/>+ <text variable="medium" text-case="capitalize-first"/>+ </group>+ </if>+ </choose>+ </group>+ </else-if>+ <else-if type="paper-conference">+ <group delimiter=", ">+ <choose>+ <if variable="container-title">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ </choose>+ <text variable="medium" text-case="capitalize-first"/>+ </group>+ </else-if>+ <else-if type="bill legislation legal_case patent treaty" match="none">+ <choose>+ <if variable="genre medium" match="any">+ <group delimiter=", ">+ <text variable="genre" text-case="capitalize-first"/>+ <text variable="medium" text-case="capitalize-first"/>+ </group>+ </if>+ <else-if type="dataset">+ <text value="Data set"/>+ </else-if>+ </choose>+ </else-if>+ </choose>+ </group>+ </macro>+ <macro name="description-report">+ <choose>+ <if variable="number">+ <group delimiter="; ">+ <group delimiter=" ">+ <text variable="genre" text-case="title"/>+ <!-- Replace with term="number" if that becomes available -->+ <text term="issue" form="short" text-case="capitalize-first"/>+ <text variable="number"/>+ </group>+ <text macro="locators"/>+ </group>+ </if>+ <else>+ <text macro="locators"/>+ </else>+ </choose>+ </macro>+ <macro name="format-report">+ <choose>+ <if variable="number">+ <text variable="medium" text-case="capitalize-first"/>+ </if>+ <else>+ <group delimiter=", ">+ <text variable="genre" text-case="capitalize-first"/>+ <text variable="medium" text-case="capitalize-first"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <choose>+ <if type="manuscript" match="any">+ <group delimiter=", ">+ <choose>+ <if variable="archive" match="none">+ <text variable="genre"/>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="archive"/>+ <text variable="archive_location" prefix="(" suffix=")"/>+ </group>+ </else>+ </choose>+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </if>+ <else-if type="graphic pamphlet personal_communication" match="any">+ <group delimiter=", ">+ <group delimiter=" ">+ <text variable="archive"/>+ <text variable="archive_location" prefix="(" suffix=")"/>+ </group> + <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </else-if>+ <else-if type="thesis" match="any">+ <group delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </else-if>+ <else-if type="patent">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <choose>+ <if variable="publisher">+ <text variable="publisher"/>+ </if>+ <else>+ <text variable="authority"/>+ </else>+ </choose>+ </group>+ </else-if>+ <else-if type="article-journal article-magazine article-newspaper post post-weblog webpage" match="none">+ <choose>+ <if variable="event">+ <choose>+ <if variable="container-title">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </if>+ </choose>+ </if>+ <else> + <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </else>+ </choose>+ </else-if>+ </choose>+ </macro>+ <macro name="event">+ <choose>+ <if variable="event" type="speech paper-conference" match="any">+ <choose>+ <!-- Don't print event info if published in a proceedings -->+ <if variable="container-title" match="none">+ <group delimiter=" ">+ <text variable="genre" text-case="capitalize-first"/>+ <group delimiter=" ">+ <choose>+ <if variable="genre">+ <text term="presented at"/>+ </if>+ <else>+ <text term="presented at" text-case="capitalize-first"/>+ </else>+ </choose>+ <group delimiter=", ">+ <text variable="event"/>+ <text variable="event-place"/>+ </group>+ </group>+ </group>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issued">+ <choose>+ <if type="bill legal_case legislation" match="any"/>+ <else-if variable="issued">+ <group>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="year-suffix"/>+ <choose>+ <if type="speech">+ <date variable="issued" delimiter=" ">+ <date-part prefix=", " name="month"/>+ </date>+ </if>+ <else-if type="article article-magazine article-newspaper broadcast interview pamphlet personal_communication post post-weblog treaty webpage" match="any">+ <date variable="issued">+ <date-part prefix=", " name="month"/>+ <date-part prefix=" " name="day"/>+ </date>+ </else-if>+ <else-if type="paper-conference">+ <choose>+ <if variable="container-title" match="none">+ <date variable="issued">+ <date-part prefix=", " name="month"/>+ <date-part prefix=" " name="day"/>+ </date>+ </if>+ </choose>+ </else-if>+ <!-- Only year: article-journal chapter entry entry-dictionary entry-encyclopedia dataset figure graphic motion_picture manuscript map musical_score paper-conference [published] patent report review review-book song thesis -->+ </choose>+ </group>+ </else-if>+ <else-if variable="status">+ <group>+ <text variable="status" text-case="lowercase"/>+ <text variable="year-suffix" prefix="-"/>+ </group>+ </else-if>+ <else>+ <group>+ <text term="no date" form="short"/>+ <text variable="year-suffix" prefix="-"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="issued-sort">+ <choose>+ <if type="article article-magazine article-newspaper broadcast interview pamphlet personal_communication post post-weblog speech treaty webpage" match="any">+ <date variable="issued">+ <date-part name="year"/>+ <date-part name="month"/>+ <date-part name="day"/>+ </date>+ </if>+ <else>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </else>+ </choose>+ </macro>+ <macro name="issued-year">+ <group>+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="archive DOI publisher URL" match="none">+ <date variable="issued" form="text"/>+ </if>+ <else>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </else>+ </choose>+ </if>+ <else>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </else>+ </choose>+ <text variable="year-suffix"/>+ </group>+ </macro>+ <macro name="issued-citation">+ <choose>+ <if variable="issued">+ <group delimiter="/">+ <choose>+ <if is-uncertain-date="original-date">+ <group prefix="[" suffix="]" delimiter=" ">+ <text term="circa" form="short"/>+ <date variable="original-date">+ <date-part name="year"/>+ </date>+ </group>+ </if>+ <else>+ <date variable="original-date">+ <date-part name="year"/>+ </date>+ </else>+ </choose>+ <choose>+ <if is-uncertain-date="issued">+ <group prefix="[" suffix="]" delimiter=" ">+ <text term="circa" form="short"/>+ <text macro="issued-year"/>+ </group>+ </if>+ <else>+ <text macro="issued-year"/>+ </else>+ </choose>+ </group>+ </if>+ <else-if variable="status">+ <text variable="status" text-case="lowercase"/>+ <text variable="year-suffix" prefix="-"/>+ </else-if>+ <else>+ <text term="no date" form="short"/>+ <text variable="year-suffix" prefix="-"/>+ </else>+ </choose>+ </macro>+ <macro name="original-date">+ <choose>+ <if type="bill legal_case legislation" match="any"/>+ <else-if type="speech">+ <date variable="original-date" delimiter=" ">+ <date-part name="month"/>+ <date-part name="year"/>+ </date>+ </else-if>+ <else-if type="article article-magazine article-newspaper broadcast interview pamphlet personal_communication post post-weblog treaty webpage" match="any">+ <date variable="original-date" form="text"/>+ </else-if>+ <else>+ <date variable="original-date">+ <date-part name="year"/>+ </date>+ </else>+ </choose>+ </macro>+ <macro name="original-published">+ <!--This should be localized -->+ <choose>+ <if type="bill legal_case legislation" match="any"/>+ <else-if type="interview motion_picture song" match="any">+ <text value="Original work recorded"/>+ </else-if>+ <else-if type="broadcast">+ <text value="Original work broadcast"/>+ </else-if>+ <else>+ <text value="Original work published"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short"/>+ </group>+ </if>+ <else>+ <text variable="edition"/>+ </else>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal article-magazine figure review review-book" match="any">+ <group delimiter=", ">+ <group>+ <text variable="volume" font-style="italic"/>+ <text variable="issue" prefix="(" suffix=")"/>+ </group>+ <text variable="page"/>+ </group>+ </if>+ <else-if type="article-newspaper">+ <group delimiter=" ">+ <label variable="page" form="short"/>+ <text variable="page"/>+ </group>+ </else-if>+ <else-if type="paper-conference">+ <choose>+ <if variable="editor collection-editor" match="any">+ <text macro="locators-booklike"/>+ </if>+ <else>+ <group delimiter=", ">+ <group>+ <text variable="volume" font-style="italic"/>+ <text variable="issue" prefix="(" suffix=")"/>+ </group>+ <text variable="page"/>+ </group>+ </else>+ </choose>+ </else-if>+ <else-if type="bill broadcast interview legal_case legislation patent post post-weblog speech treaty webpage" match="none">+ <text macro="locators-booklike"/>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-booklike">+ <group delimiter=", ">+ <text macro="edition"/>+ <group delimiter=" ">+ <text term="version" text-case="capitalize-first"/>+ <text variable="version"/>+ </group>+ <choose>+ <if variable="volume" match="any">+ <choose>+ <if is-numeric="volume" match="none"/>+ <else-if variable="collection-title">+ <choose>+ <if variable="editor translator" match="none">+ <choose>+ <if variable="collection-number">+ <group>+ <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>+ <number variable="volume" form="numeric"/>+ </group>+ </if>+ </choose>+ </if>+ </choose>+ </else-if>+ <else>+ <group>+ <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>+ <number variable="volume" form="numeric"/>+ </group>+ </else>+ </choose>+ </if>+ <else>+ <group>+ <text term="volume" form="short" plural="true" text-case="capitalize-first" suffix=" "/>+ <number variable="number-of-volumes" form="numeric" prefix="1–"/>+ </group>+ </else>+ </choose>+ <group>+ <label variable="page" form="short" suffix=" "/>+ <text variable="page"/>+ </group>+ </group>+ </macro>+ <macro name="citation-locator">+ <group>+ <choose>+ <if locator="chapter">+ <label variable="locator" form="long" text-case="capitalize-first"/>+ </if>+ <else>+ <label variable="locator" form="short"/>+ </else>+ </choose>+ <text variable="locator" prefix=" "/>+ </group>+ </macro>+ <macro name="container">+ <choose>+ <if type="article article-journal article-magazine article-newspaper review review-book" match="any">+ <group delimiter=", ">+ <text macro="container-title"/>+ <text macro="locators"/>+ </group>+ <choose>+ <!--for advance online publication-->+ <if variable="issued">+ <choose>+ <if variable="page issue" match="none">+ <text variable="status" text-case="capitalize-first" prefix=". "/>+ </if>+ </choose>+ </if>+ </choose>+ </if>+ <else-if type="article dataset figure" match="any">+ <choose>+ <if variable="container-title">+ <group delimiter=", ">+ <text macro="container-title"/>+ <text macro="locators"/>+ </group>+ <choose>+ <!--for advance online publication-->+ <if variable="issued">+ <choose>+ <if variable="page issue" match="none">+ <text variable="status" text-case="capitalize-first" prefix=". "/>+ </if>+ </choose>+ </if>+ </choose>+ </if>+ </choose>+ </else-if>+ <else-if type="report" variable="container-title" match="all">+ <group delimiter=" ">+ <text term="in" text-case="capitalize-first" suffix=" "/>+ <group delimiter=", ">+ <text macro="container-contributors"/>+ <group delimiter=" ">+ <text macro="container-title"/>+ <text macro="description-report" prefix="(" suffix=")"/>+ <text macro="format-report" prefix="[" suffix="]"/>+ </group>+ </group>+ </group>+ </else-if>+ <else-if type="song" variable="container-title" match="all">+ <group delimiter=" ">+ <text term="in" text-case="capitalize-first" suffix=" "/>+ <group delimiter=", ">+ <text macro="container-contributors"/>+ <group delimiter=" ">+ <text macro="container-title"/>+ <text macro="locators" prefix="(" suffix=")"/>+ <group delimiter=", " prefix="[" suffix="]">+ <text variable="genre" text-case="capitalize-first"/>+ <text variable="medium" text-case="capitalize-first"/>+ </group>+ </group>+ </group>+ </group>+ </else-if>+ <else-if type="paper-conference">+ <choose>+ <if variable="editor collection-editor" match="any">+ <text macro="container-booklike"/>+ </if>+ <else>+ <group delimiter=", ">+ <text macro="container-title"/>+ <text macro="locators"/>+ </group>+ </else>+ </choose>+ </else-if>+ <else-if type="broadcast chapter entry entry-dictionary entry-encyclopedia graphic map" match="any">+ <text macro="container-booklike"/>+ </else-if>+ <else-if type="bill legal_case legislation treaty" match="any">+ <text macro="legal-cites"/>+ </else-if> + </choose>+ </macro>+ <macro name="container-booklike">+ <choose>+ <if variable="container-title collection-title" match="any">+ <group delimiter=" ">+ <text term="in" text-case="capitalize-first"/>+ <group delimiter=", ">+ <text macro="container-contributors"/>+ <group delimiter=" ">+ <choose>+ <if variable="editor translator" match="none">+ <group delimiter=". ">+ <group delimiter=": ">+ <text variable="collection-title" font-style="italic" text-case="title"/>+ <choose>+ <if variable="collection-title">+ <group delimiter=" ">+ <text term="volume" form="short" font-style="italic" text-case="capitalize-first"/>+ <number variable="collection-number" font-style="italic" form="numeric"/>+ <choose>+ <if variable="collection-number" match="none">+ <number variable="volume" font-style="italic" form="numeric"/>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </group>+ <text macro="container-title"/>+ </group>+ </if>+ <else>+ <!-- Replace with volume-title as that becomes available -->+ <group delimiter=": ">+ <text macro="container-title"/>+ <choose>+ <if is-numeric="volume" match="none">+ <group delimiter=" ">+ <text term="volume" form="short" font-style="italic" text-case="capitalize-first"/>+ <text variable="volume" font-style="italic"/>+ </group>+ </if>+ </choose>+ </group>+ </else>+ </choose>+ <group delimiter="; " prefix="(" suffix=")">+ <text macro="locators"/>+ <choose>+ <if variable="container-author">+ <names variable="editor translator" delimiter="; ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="title"/>+ </names>+ </if>+ </choose>+ </group>+ </group> + </group>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-title">+ <choose>+ <if type="article article-journal article-magazine article-newspaper dataset" match="any">+ <text variable="container-title" font-style="italic" text-case="title"/>+ </if>+ <else-if type="paper-conference">+ <choose>+ <if variable="editor collection-editor" match="any">+ <text variable="container-title" font-style="italic"/>+ </if>+ <else>+ <text variable="container-title" font-style="italic" text-case="title"/>+ </else>+ </choose>+ </else-if>+ <else-if type="bill legal_case legislation post-weblog webpage" match="none">+ <text variable="container-title" font-style="italic"/>+ </else-if>+ </choose>+ </macro>+ <macro name="legal-cites">+ <choose>+ <if type="legal_case">+ <group prefix=", " delimiter=" ">+ <group delimiter=" ">+ <choose>+ <if variable="container-title">+ <text variable="volume"/>+ <text variable="container-title"/>+ <group delimiter=" ">+ <!--change to label variable="section" as that becomes available -->+ <text term="section" form="symbol"/>+ <text variable="section"/>+ </group>+ <text variable="page"/>+ </if>+ <else>+ <group delimiter=" ">+ <choose>+ <if is-numeric="number">+ <!-- Replace with term="number" if that becomes available -->+ <text term="issue" form="short" text-case="capitalize-first"/>+ </if>+ </choose>+ <text variable="number"/>+ </group>+ </else>+ </choose>+ </group>+ <group prefix="(" suffix=")" delimiter=" ">+ <text variable="authority"/>+ <choose>+ <if variable="container-title" match="any">+ <!--Only print year for cases published in reporters-->+ <date variable="issued" form="numeric" date-parts="year"/>+ </if>+ <else>+ <date variable="issued" form="text"/>+ </else>+ </choose>+ </group>+ </group>+ </if>+ <else-if type="bill legislation" match="any">+ <group prefix=", " delimiter=" ">+ <group delimiter=", ">+ <choose>+ <if variable="number">+ <!--There's a public law number-->+ <text variable="number" prefix="Pub. L. No. "/>+ <group delimiter=" ">+ <!--change to label variable="section" as that becomes available -->+ <text term="section" form="symbol"/>+ <text variable="section"/>+ </group>+ <group delimiter=" ">+ <text variable="volume"/>+ <text variable="container-title"/>+ <text variable="page-first"/>+ </group>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="volume"/>+ <text variable="container-title"/>+ <!--change to label variable="section" as that becomes available -->+ <text term="section" form="symbol"/>+ <text variable="section"/>+ </group>+ </else>+ </choose>+ </group>+ <date variable="issued" prefix="(" suffix=")">+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ <else-if type="treaty">+ <group delimiter=" ">+ <number variable="volume"/>+ <text variable="container-title" form="short"/>+ <text variable="page"/>+ </group>+ </else-if>+ </choose>+ </macro>+ <citation et-al-min="6" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" collapse="year" givenname-disambiguation-rule="primary-name">+ <sort>+ <key macro="author" names-min="8" names-use-first="6"/>+ <key macro="issued-sort"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <text macro="author-short"/>+ <text macro="issued-citation"/>+ <text macro="citation-locator"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="8" et-al-use-first="6" et-al-use-last="true" entry-spacing="0" line-spacing="2">+ <sort>+ <key macro="author"/>+ <key macro="issued-sort" sort="ascending"/>+ <key macro="title"/>+ </sort>+ <layout>+ <group suffix=".">+ <group delimiter=". ">+ <text macro="author"/>+ <choose>+ <if is-uncertain-date="issued">+ <group prefix=" [" suffix="]" delimiter=" ">+ <text term="circa" form="short"/>+ <text macro="issued"/>+ </group>+ </if>+ <else>+ <text macro="issued" prefix=" (" suffix=")"/>+ </else>+ </choose>+ <group delimiter=" ">+ <text macro="title"/>+ <choose>+ <if variable="title">+ <group delimiter=" ">+ <text macro="description"/>+ <text macro="format"/>+ </group>+ </if>+ <else>+ <group delimiter=" ">+ <text macro="format"/>+ <text macro="description"/>+ </group>+ </else>+ </choose>+ </group>+ <text macro="container"/>+ </group>+ <text macro="event" prefix=". "/>+ </group>+ <text macro="access" prefix=" "/>+ <choose>+ <if is-uncertain-date="original-date">+ <group prefix=" [" suffix="]" delimiter=" ">+ <text macro="original-published"/>+ <text term="circa" form="short"/>+ <text macro="original-date"/>+ </group>+ </if>+ <else-if variable="original-date">+ <group prefix=" (" suffix=")" delimiter=" ">+ <text macro="original-published"/>+ <text macro="original-date"/>+ </group>+ </else-if>+ </choose>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "URL": "http://www.personalityresearch.org/papers/hall.html",+ "author": [+ {+ "family": "Wolf",+ "given": "K.S."+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2005"+ ]+ ]+ },+ "language": "en",+ "note": "reviewed-title: Decrease of Deaf potential in a mainstreamed environment\ngenre: Peer commentary\nreviewed-author: Hall || W.C.",+ "title": "The future for Deaf individuals is not that bleak",+ "type": "post-weblog"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/label_NoFirstCharCapWithInTextClass.txt view
@@ -0,0 +1,49 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+n.d.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="in-text"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <terms>+ <term name="no date">n.d.</term>+ </terms>+ </locale>+ <citation>+ <layout>+ <text term="no date"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/label_NonexistentNameVariableLabel.txt view
@@ -0,0 +1,53 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+John Doe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="composer">+ <name/>+ <label/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "composer": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/label_PluralNumberOfVolumes.txt view
@@ -0,0 +1,61 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+volume 1; volumes 2+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <terms>+ <term name="number-of-volumes">+ <single>volume</single>+ <multiple>volumes</multiple>+ </term>+ </terms>+ </locale>+ <citation>+ <layout delimiter="; ">+ <group delimiter=" ">+ <label variable="number-of-volumes"/>+ <text variable="number-of-volumes" text-case="title"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "number-of-volumes": 1,+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "number-of-volumes": 2,+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/label_PluralPagesWithAlphaPrefix.txt view
@@ -0,0 +1,50 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+pages S213–S235+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ page-range-format="expanded">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <group delimiter=" ">+ <label variable="page"/>+ <text variable="page"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "page": "S213-S235",+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/label_PluralWithAmpersand.txt view
@@ -0,0 +1,60 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+pages 213 & 235+<<===== RESULT =====<<++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1",+ "locator": "213 & 235"+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ page-range-format="expanded">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <group delimiter=" ">+ <label variable="locator"/>+ <text variable="locator"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "title": "His Anonymous Life", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/label_PluralWithAnd.txt view
@@ -0,0 +1,61 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+pages 213 and 235+<<===== RESULT =====<<++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1",+ "locator": "213 and 235"+ }+ ]+]+<<===== CITATION-ITEMS =====<<++++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ page-range-format="expanded">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <group delimiter=" ">+ <label variable="locator"/>+ <text variable="locator"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "title": "His Anonymous Life", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/label_PluralWithCommaAnd.txt view
@@ -0,0 +1,60 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+pages 213, and 235+<<===== RESULT =====<<++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1",+ "locator": "213, and 235"+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ page-range-format="expanded">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <group delimiter=" ">+ <label variable="locator"/>+ <text variable="locator"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "title": "His Anonymous Life", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/label_PluralWithCommaLocalizedAnd.txt view
@@ -0,0 +1,60 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+pages 213, et 235+<<===== RESULT =====<<++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1",+ "locator": "213, et 235"+ }+ ]+]+<<===== CITATION-ITEMS =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ default-locale="fr"+ page-range-format="expanded">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <group delimiter=" ">+ <label variable="locator"/>+ <text variable="locator"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "title": "His Anonymous Life", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/label_PluralWithLocalizedAmpersand.txt view
@@ -0,0 +1,66 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+pages 213 AMPERSAND 235+<<===== RESULT =====<<++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1",+ "locator": "213 & 235"+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ page-range-format="expanded">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <terms>+ <term name="and">and</term>+ <term name="and" form="symbol">AMPERSAND</term>+ </terms>+ </locale>+ <citation>+ <layout>+ <group delimiter=" ">+ <label variable="locator"/>+ <text variable="locator"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "title": "His Anonymous Life", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/label_PluralWithLocalizedAnd.txt view
@@ -0,0 +1,60 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+pages 213 et 235+<<===== RESULT =====<<++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1",+ "locator": "213 et 235"+ }+ ]+]+<<===== CITATION-ITEMS =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ default-locale="fr"+ page-range-format="expanded">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <group delimiter=" ">+ <label variable="locator"/>+ <text variable="locator"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "title": "His Anonymous Life", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/locale_EmptyDate.txt view
@@ -0,0 +1,62 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Sample Title: (2000 June 18)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="year"/>+ <date-part name="month" form="long" prefix=" "/>+ <date-part name="day" prefix=" "/>+ </date>+ </locale>+ <citation>+ <layout>+ <text variable="title" suffix=": "/>+ <date variable="issued" date-parts="year-month-day" form="text" prefix="(" suffix=")"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2000",+ "6",+ "18"+ ]+ ]+ },+ "title": "Sample Title",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/locale_EmptyPlusOverrideDate.txt view
@@ -0,0 +1,69 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Sample Title: (2000 June 18)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <date form="text">+ <date-part name="day" suffix=" "/>+ <date-part name="month" form="long" suffix=" "/>+ <date-part name="year"/>+ </date>+ </locale>+ <locale xml:lang="en">+ <date form="text">+ <date-part name="year"/>+ <date-part name="month" form="long" prefix=" "/>+ <date-part name="day" prefix=" "/>+ </date>+ </locale>+ <citation>+ <layout>+ <text variable="title" suffix=": "/>+ <date variable="issued" date-parts="year-month-day" form="text" prefix="(" suffix=")"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2000",+ "6",+ "18"+ ]+ ]+ },+ "title": "Sample Title",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/locale_EmptyPlusOverrideStyleOpt.txt view
@@ -0,0 +1,51 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+“Sample Title.”+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale xml:lang="en">+ <style-options punctuation-in-quote="true"/>+ </locale>+ <locale>+ <style-options punctuation-in-quote="false"/>+ </locale>+ <citation>+ <layout>+ <text variable="title" quotes="true" suffix="."/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "Sample Title",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/locale_EmptyPlusOverrideTerm.txt view
@@ -0,0 +1,56 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Sample Title: (weird term)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale xml:lang="en">+ <terms>+ <term name="interviewer">weird term</term>+ </terms>+ </locale>+ <locale>+ <terms>+ <term name="interviewer"></term>+ </terms>+ </locale>+ <citation>+ <layout>+ <text variable="title" suffix=": "/>+ <text term="interviewer" prefix="(" suffix=")"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "Sample Title",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/locale_EmptyStyleOpt.txt view
@@ -0,0 +1,48 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+“Sample Title.”+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <style-options punctuation-in-quote="true"/>+ </locale>+ <citation>+ <layout>+ <text variable="title" quotes="true" suffix="."/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "Sample Title",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/locale_EmptyTerm.txt view
@@ -0,0 +1,51 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Sample Title: (weird term)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <terms>+ <term name="and others">weird term</term>+ </terms>+ </locale>+ <citation>+ <layout>+ <text variable="title" suffix=": "/>+ <text term="and others" prefix="(" suffix=")"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "Sample Title",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/locale_ForceEmptyAndOthersTerm.txt view
@@ -0,0 +1,66 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+John Doe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <terms>+ <term name="and others"></term>+ </terms>+ </locale>+ <citation et-al-min="3" et-al-use-first="1">+ <layout>+ <names variable="author">+ <name />+ <et-al term="and others"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Noakes",+ "given": "Richard"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/locale_ForceEmptyEtAlTerm.txt view
@@ -0,0 +1,65 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+John Doe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <terms>+ <term name="et-al"></term>+ </terms>+ </locale>+ <citation et-al-min="3" et-al-use-first="1">+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Noakes",+ "given": "Richard"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/locale_NonExistentLocaleDef.txt view
@@ -0,0 +1,71 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+John Doe (edxitor) + Jane roe (translator)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ default-locale="gx">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale xml:lang="gx">+ <terms>+ <term name="editor">edxitor</term>+ </terms>+ </locale>+ <citation>+ <layout>+ <group delimiter=" + ">+ <names variable="editor">+ <name/>+ <label prefix=" (" suffix=")"/>+ </names>+ <names variable="translator">+ <name/>+ <label prefix=" (" suffix=")"/>+ </names>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "editor": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "translator": [+ {+ "family": "roe",+ "given": "Jane"+ }+ ],+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/locale_OverloadWithEmptyString.txt view
@@ -0,0 +1,58 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Sample Title: ()+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <terms>+ <term name="month-01">HIGHLY VISIBLE TERM</term>+ </terms>+ </locale>+ <locale xml:lang="en">+ <terms>+ <term name="month-01"></term>+ </terms>+ </locale>+ <citation>+ <layout>+ <text variable="title" suffix=": "/>+ <text value="("/>+ <text term="month-01"/>+ <text value=")"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "Sample Title",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/locale_PageRangeDelimiterTermDefined.txt view
@@ -0,0 +1,51 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+1=2+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <terms>+ <term name="page-range-delimiter">=</term>+ </terms>+ </locale>+ <citation>+ <layout>+ <text variable="page"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "page": "1-2",+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/locale_PageRangeDelimiterTermFrenchUndef.txt view
@@ -0,0 +1,48 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++Delimiter is a non-breaking Unicode hyphen U+2011, supplied by the CSL 1.0.1 fr-FR and fr-CA locales.++>>===== RESULT =====>>+1‑2+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ default-locale="fr-FR">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="page"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "page": "1-2",+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/locale_PageRangeDelimiterTermUndefined.txt view
@@ -0,0 +1,46 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+1–2+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="page"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "page": "1-2",+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/locale_SpecificDate.txt view
@@ -0,0 +1,62 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Sample Title: (2000 June 18)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale xml:lang="en">+ <date form="text">+ <date-part name="year"/>+ <date-part name="month" form="long" prefix=" "/>+ <date-part name="day" prefix=" "/>+ </date>+ </locale>+ <citation>+ <layout>+ <text variable="title" suffix=": "/>+ <date variable="issued" date-parts="year-month-day" form="text" prefix="(" suffix=")"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2000",+ "6",+ "18"+ ]+ ]+ },+ "title": "Sample Title",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/locale_SpecificStyleOpt.txt view
@@ -0,0 +1,48 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+“Sample Title.”+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale xml:lang="en">+ <style-options punctuation-in-quote="true"/>+ </locale>+ <citation>+ <layout>+ <text variable="title" quotes="true" suffix="."/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "Sample Title",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/locale_SpecificTerm.txt view
@@ -0,0 +1,51 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Sample Title: (weird term)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale xml:lang="en">+ <terms>+ <term name="and others">weird term</term>+ </terms>+ </locale>+ <citation>+ <layout>+ <text variable="title" suffix=": "/>+ <text term="and others" prefix="(" suffix=")"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "Sample Title",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/locale_TitleCaseEmptyLangEmptyLocale.txt view
@@ -0,0 +1,45 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+His Anonymous Life+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" text-case="title"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "His anonymous life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/locale_TitleCaseEmptyLangNonEnglishLocale.txt view
@@ -0,0 +1,46 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+His anonymous life+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ default-locale="fr-FR">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" text-case="title"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "His anonymous life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/locale_TitleCaseGarbageLangEmptyLocale.txt view
@@ -0,0 +1,78 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++The first item begins with a valid French language tag, followed by+garbage. The second begins with a valid English tag followed by+garbage. The third begins with garbage. The behaviour in the RESULT+reflects the CSL 1.0.1 specification, which in the Title Case+Conversion section reads:++ "If default-locale is set to a locale code with a primary language+ tag other than "en", items are assumed to be non-English. An item is+ only considered to be English if the value of its language field+ starts with the "en" primary language tag."++In the style used in this test, no locale is set, so the default is+"en". When the language tag parse fails, "en" is assumed.++By agreement within CSL circles, garbage should be construed as+"non-English content" for purposes of applying text-case rules. This+is not happy, since without specifics we cannot know which cite format+to apply to the item. To keep things simple in citeproc-js, we set the+language for garbage to "tlh", for Klingon, which is about as+non-English as you can get.++>>===== RESULT =====>>+His anonymous life; His Anonymous Life; His anonymous life+<<===== RESULT =====<<+ ++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; ">+ <text variable="title" text-case="title"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "language": "fr French language",+ "title": "His anonymous life",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "language": "en--other stuff commenting about the lingo",+ "title": "His anonymous life",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "language": "french language",+ "title": "His anonymous life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/locale_TitleCaseGarbageLangEnglishLocale.txt view
@@ -0,0 +1,47 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+His anonymous life+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ default-locale="en">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" text-case="title"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "language": "french language",+ "title": "His anonymous life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/locale_TitleCaseGarbageLangNonEnglishLocale.txt view
@@ -0,0 +1,47 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+His anonymous life+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ default-locale="fr-FR">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" text-case="title"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "language": "french language",+ "title": "His anonymous life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/locale_TitleCaseNonEnglishLangUpperEmptyLocale.txt view
@@ -0,0 +1,46 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+His anonymous life+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" text-case="title"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "language": "FR",+ "title": "His anonymous life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/locale_UnknownTerm.txt view
@@ -0,0 +1,46 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Sample Title: (interview by)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" suffix=": "/>+ <text term="interviewer" form="verb" prefix="(" suffix=")"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "Sample Title",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/locator_SimpleLocators.txt view
@@ -0,0 +1,107 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+Doe, Book A, 2000, pp. 100–103; Roe, Book B, 2001, chaps. 200–201.+<<===== RESULT =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1",+ "label": "page",+ "locator": "100 - 103"+ },+ {+ "id": "ITEM-2",+ "label": "chapter",+ "locator": "200 - 201"+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; " suffix=".">+ <group delimiter=", ">+ <names variable="author">+ <name form="short" />+ </names>+ <text variable="title" />+ <date variable="issued">+ <date-part name="year" />+ </date>+ <group delimiter=" ">+ <label form="short" strip-periods="false" variable="locator" />+ <text variable="locator" />+ </group>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe", + "given": "John"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ }, + "title": "Book A", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Roe", + "given": "Jane"+ }+ ], + "id": "ITEM-2", + "issued": {+ "date-parts": [+ [+ "2001"+ ]+ ]+ }, + "title": "Book B", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/locator_SingularEmbeddedLabelAfterPlural.txt view
@@ -0,0 +1,59 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Book One, pages 367–368, fig. 333+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1",+ "locator": "367-368, fig. 333"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <group delimiter=", ">+ <text variable="title"/>+ <group delimiter=" ">+ <label variable="locator"/>+ <text variable="locator"/>+ </group>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Book One",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/locator_TermSelection.txt view
@@ -0,0 +1,60 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Book A, fol. 101+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1",+ "label": "folio",+ "locator": "101"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <group delimiter=", ">+ <text variable="title" />+ <group delimiter=" ">+ <label variable="locator" form="short"/>+ <text variable="locator"/>+ </group>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Book A",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/locator_TrickyEntryForPlurals.txt view
@@ -0,0 +1,64 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Book Title, vol. 1, fol. 186, 8 April 1544+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1",+ "locator": "vol. 1, fol. 186, 8 April 1544"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <terms>+ <term name="folio" form="short">fol.</term>+ </terms>+ </locale>+ <citation>+ <layout>+ <group delimiter=", ">+ <text variable="title" />+ <group delimiter=" ">+ <label variable="locator" form="short"/>+ <text variable="locator"/>+ </group>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Book Title",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/locator_WithLeadingSpace.txt view
@@ -0,0 +1,62 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Hello Title:666+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1",+ "locator": " 666"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <group delimiter=":">+ <text variable="title" />+ <choose>+ <if locator="page"/>+ <else>+ <label variable="locator"/>+ </else>+ </choose>+ <text variable="locator"/>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Hello Title",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/locator_WorkaroundTestForSubVerbo.txt view
@@ -0,0 +1,79 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Book With Opus, op. 100+Book With Sub Verbo, 200+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1",+ "label": "opus",+ "locator": "100"+ }+ ],+ [+ {+ "id": "ITEM-2",+ "label": "sub verbo",+ "locator": "200"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="locator-refs">+ <choose>+ <if locator="book chapter column figure folio issue line note opus page paragraph part section verse volume" match="none">+ <text variable="locator" prefix=", "/>+ </if>+ <else>+ <label variable="locator" form="short" prefix=", "/>+ <text variable="locator" prefix=" "/>+ </else>+ </choose>+ </macro>+ <citation>+ <layout>+ <text variable="title"/>+ <text macro="locator-refs" />+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Book With Opus",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "title": "Book With Sub Verbo",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_AllowRepeatDateRenderings.txt view
@@ -0,0 +1,94 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+(2006).+(2007, February 15).+<<===== RESULT =====<<++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ]+]+<<===== CITATION-ITEMS =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; ">+ <group prefix="(" suffix=").">+ <date variable="issued">+ <date-part name="year" />+ </date>+ <choose>+ <if match="none" type="book chapter article-journal">+ <date variable="issued">+ <date-part name="month" prefix=", " />+ <date-part name="day" prefix=" " />+ </date>+ </if>+ </choose>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ 2006, + 1, + 20+ ]+ ]+ }, + "type": "book"+ }, + {+ "id": "ITEM-2", + "issued": {+ "date-parts": [+ [+ 2007, + 2, + 15+ ]+ ]+ }, + "type": "article-newspaper"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_CapitalizeFirstOccurringNameParticle.txt view
@@ -0,0 +1,54 @@+>>== MODE ==>>+citation+<<== MODE ==<<+++We no longer capitalise particles in citations. Magic capitalisation+is still performed on first-position particles in bibliography, however.++>>== RESULT ==>>+de Simone+<<== RESULT ==<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name form="short"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "de Simone",+ "given": "Samuel"+ }+ ],+ "id": "item-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_CapitalizeFirstOccurringTerm.txt view
@@ -0,0 +1,45 @@+>>== MODE ==>>+citation+<<== MODE ==<<++++>>== RESULT ==>>+And+<<== RESULT ==<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text term="and" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "item-1",+ "title": "Ignore me",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_CitationLabelInBibliography.txt view
@@ -0,0 +1,303 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">+ <div class="csl-left-margin">[Doe65]</div><div class="csl-right-inline">Doe, J.: Book A., 1965.</div>+ </div>+ <div class="csl-entry">+ <div class="csl-left-margin">[RoNo78a]</div><div class="csl-right-inline">Roe, J. and Noakes, R.: Book A., 1978.</div>+ </div>+ <div class="csl-entry">+ <div class="csl-left-margin">[RoNo78b]</div><div class="csl-right-inline">Roe, J. and Noakes, R.: Book A., 1978.</div>+ </div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>Copernicus trigraph style (dev)</title>+ <id>http://www.zotero.org/styles/copernicus-trigraph</id>+ <link href="http://www.zotero.org/styles/copernicus-trigraph" rel="self"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name> Didier Voisin </name>+ </contributor>+ <category citation-format="author-date"/>+ <category field="science"/>+ <updated>2010-07-26T02:21:30+00:00</updated>+ <summary>The Copernicus (EGU) generic style</summary>+ <link href="http://publications.copernicus.org/Copernicus_Publications_Reference_Types.pdf" rel="documentation"/>+ <rights>+ This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/+ </rights>+ </info>+ <macro name="editor">+ <names variable="editor" delimiter=", ">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name and="text" initialize-with=". " delimiter=", "/>+ </names>+ </macro>+ <macro name="anon">+ <text term="anonymous" form="short" text-case="capitalize-first" strip-periods="true"/>+ </macro>+ <macro name="author">+ <names variable="author">+ <name sort-separator=", " initialize-with=". " name-as-sort-order="all" delimiter=", " delimiter-precedes-last="never" and="text"/>+ <label form="short" prefix=", " suffix="." text-case="capitalize-first" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <choose>+ <if variable="URL">+ <text term="online" prefix="[" suffix="]"/>+ <text value=" Available from: "/>+ <text variable="URL"/>+ <group prefix=" (" delimiter=" " suffix=")">+ <text term="accessed" text-case="capitalize-first"/>+ <date variable="accessed">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="title">+ <text variable="title"/>+ </macro>+ <macro name="publisher">+ <group delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </macro>+ <macro name="year-date">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="published-date">+ <choose>+ <if type="article-newspaper">+ <date variable="issued">+ <date-part name="day" form="ordinal" suffix=" "/>+ <date-part name="month" form="long"/>+ </date>+ </if>+ </choose>+ </macro>+ <macro name="pages">+ <text variable="page"/>+ </macro>+ <macro name="refpages">+ <label variable="page" form="short" suffix=". " strip-periods="true"/>+ <text variable="page"/>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <macro name="doi">+ <text variable="DOI" prefix="doi:"/>+ </macro>+ <macro name="container">+ <group delimiter=", ">+ <group delimiter=" ">+ <text term="in" text-case="lowercase"/>+ <text variable="container-title"/>+ </group>+ <group delimiter=" ">+ <text term="volume" form="short" suffix="." strip-periods="true"/>+ <text variable="volume"/>+ </group>+ <text macro="editor"/>+ </group>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" collapse="year">+ <sort>+ <key variable="citation-label"/>+ </sort>+ <layout prefix="[" suffix="]" delimiter=", ">+ <text variable="citation-label"/>+ </layout>+ </citation>+ <bibliography et-al-min="11" et-al-use-first="11" second-field-align="flush">+ <sort>+ <key variable="citation-label"/>+ </sort>+ <layout>+ <text variable="citation-label" prefix="[" suffix="]"/>+ <group delimiter=" " suffix=":">+ <text macro="author"/>+ </group>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <group delimiter=", " prefix=" " suffix=".">+ <text macro="title"/>+ <text macro="edition"/>+ <text macro="editor"/>+ <text variable="genre"/>+ <text macro="publisher"/>+ </group>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=", " prefix=" " suffix=".">+ <text macro="title"/>+ <text macro="container"/>+ <text macro="refpages"/>+ <text macro="publisher"/>+ </group>+ </else-if>+ <else-if type="thesis">+ <group delimiter=", " prefix=" " suffix=".">+ <text macro="title"/>+ <text variable="genre"/>+ <text variable="page" suffix=" pp."/>+ <text macro="publisher"/>+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" form="long"/>+ </date>+ </group>+ </else-if>+ <else>+ <group delimiter=", " suffix="," prefix=" ">+ <text macro="title"/>+ <text macro="editor"/>+ </group>+ <group prefix=" ">+ <text variable="container-title" form="short"/>+ <group prefix=", " delimiter=", ">+ <group>+ <text variable="volume"/>+ <text variable="issue" prefix="(" suffix=")"/>+ <text macro="published-date"/>+ </group>+ <text macro="pages"/>+ <text macro="doi"/>+ </group>+ </group>+ </else>+ </choose>+ <text prefix=" " macro="access"/>+ <text macro="year-date" prefix=", " suffix="."/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Noakes",+ "given": "Richard"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1978"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1965"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Noakes",+ "given": "Richard"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ "1978"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_CitationLabelInCitation.txt view
@@ -0,0 +1,293 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+[Doe65, RoNo78a, RoNo78b]+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>Copernicus trigraph style (dev)</title>+ <id>http://www.zotero.org/styles/copernicus-trigraph</id>+ <link href="http://www.zotero.org/styles/copernicus-trigraph" rel="self"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name> Didier Voisin </name>+ </contributor>+ <category citation-format="author-date"/>+ <category field="science"/>+ <updated>2010-07-26T02:21:30+00:00</updated>+ <summary>The Copernicus (EGU) generic style</summary>+ <link href="http://publications.copernicus.org/Copernicus_Publications_Reference_Types.pdf" rel="documentation"/>+ <rights>+ This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/+ </rights>+ </info>+ <macro name="editor">+ <names variable="editor" delimiter=", ">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name and="text" initialize-with=". " delimiter=", "/>+ </names>+ </macro>+ <macro name="anon">+ <text term="anonymous" form="short" text-case="capitalize-first" strip-periods="true"/>+ </macro>+ <macro name="author">+ <names variable="author">+ <name sort-separator=", " initialize-with=". " name-as-sort-order="all" delimiter=", " delimiter-precedes-last="never" and="text"/>+ <label form="short" prefix=", " suffix="." text-case="capitalize-first" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <choose>+ <if variable="URL">+ <text term="online" prefix="[" suffix="]"/>+ <text value=" Available from: "/>+ <text variable="URL"/>+ <group prefix=" (" delimiter=" " suffix=")">+ <text term="accessed" text-case="capitalize-first"/>+ <date variable="accessed">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="title">+ <text variable="title"/>+ </macro>+ <macro name="publisher">+ <group delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </macro>+ <macro name="year-date">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="published-date">+ <choose>+ <if type="article-newspaper">+ <date variable="issued">+ <date-part name="day" form="ordinal" suffix=" "/>+ <date-part name="month" form="long"/>+ </date>+ </if>+ </choose>+ </macro>+ <macro name="pages">+ <text variable="page"/>+ </macro>+ <macro name="refpages">+ <label variable="page" form="short" suffix=". " strip-periods="true"/>+ <text variable="page"/>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <macro name="doi">+ <text variable="DOI" prefix="doi:"/>+ </macro>+ <macro name="container">+ <group delimiter=", ">+ <group delimiter=" ">+ <text term="in" text-case="lowercase"/>+ <text variable="container-title"/>+ </group>+ <group delimiter=" ">+ <text term="volume" form="short" suffix="." strip-periods="true"/>+ <text variable="volume"/>+ </group>+ <text macro="editor"/>+ </group>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" collapse="year">+ <sort>+ <key variable="citation-label"/>+ </sort>+ <layout prefix="[" suffix="]" delimiter=", ">+ <text variable="citation-label"/>+ </layout>+ </citation>+ <bibliography et-al-min="11" et-al-use-first="11" second-field-align="flush">+ <sort>+ <key variable="citation-label"/>+ </sort>+ <layout>+ <text variable="citation-label" prefix="[" suffix="]"/>+ <group delimiter=" " suffix=":">+ <text macro="author"/>+ </group>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <group delimiter=", " prefix=" " suffix=".">+ <text macro="title"/>+ <text macro="edition"/>+ <text macro="editor"/>+ <text variable="genre"/>+ <text macro="publisher"/>+ </group>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=", " prefix=" " suffix=".">+ <text macro="title"/>+ <text macro="container"/>+ <text macro="refpages"/>+ <text macro="publisher"/>+ </group>+ </else-if>+ <else-if type="thesis">+ <group delimiter=", " prefix=" " suffix=".">+ <text macro="title"/>+ <text variable="genre"/>+ <text variable="page" suffix=" pp."/>+ <text macro="publisher"/>+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" form="long"/>+ </date>+ </group>+ </else-if>+ <else>+ <group delimiter=", " suffix="," prefix=" ">+ <text macro="title"/>+ <text macro="editor"/>+ </group>+ <group prefix=" ">+ <text variable="container-title" form="short"/>+ <group prefix=", " delimiter=", ">+ <group>+ <text variable="volume"/>+ <text variable="issue" prefix="(" suffix=")"/>+ <text macro="published-date"/>+ </group>+ <text macro="pages"/>+ <text macro="doi"/>+ </group>+ </group>+ </else>+ </choose>+ <text prefix=" " macro="access"/>+ <text macro="year-date" prefix=", " suffix="."/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Noakes",+ "given": "Richard"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1978"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1965"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Noakes",+ "given": "Richard"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ "1978"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_EntrySpacingDouble.txt view
@@ -0,0 +1,95 @@+>>== MODE ==>>+bibliography+<<== MODE ==<<++++>>== RESULT ==>>+<div class="csl-bib-body">+ <div class="csl-entry">John Smith, Book A (2000)</div>+ <div class="csl-entry">Robert Jones, Book B (2001)</div>+</div>+<<== RESULT ==<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="hello" />+ </layout>+ </citation>+ <bibliography + entry-spacing="2">+ <layout>+ <group delimiter=" ">+ <group delimiter=", ">+ <names variable="author">+ <name />+ </names>+ <text variable="title" />+ </group>+ <date prefix="(" suffix=")" variable="issued">+ <date-part name="year" />+ </date>+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Jones",+ "given": "Robert"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "2001"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_HangingIndent.txt view
@@ -0,0 +1,95 @@+>>== MODE ==>>+bibliography+<<== MODE ==<<++++>>== RESULT ==>>+<div class="csl-bib-body">+ <div class="csl-entry">John Smith, Book A: being a book with a very long and verbose title with lots of words that takes up excessive space on the page and leaves the reader more confused about the content rather than less (2000)</div>+ <div class="csl-entry">Robert Jones, Book B: a work of great eloquence in which every word makes the reader eager for the next which is a good thing because it has a very long and ostensibly boring title (2001)</div>+</div>+<<== RESULT ==<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="hello" />+ </layout>+ </citation>+ <bibliography + hanging-indent="true">+ <layout>+ <group delimiter=" ">+ <group delimiter=", ">+ <names variable="author">+ <name />+ </names>+ <text variable="title" />+ </group>+ <date prefix="(" suffix=")" variable="issued">+ <date-part name="year" />+ </date>+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book A: being a book with a very long and verbose title with lots of words that takes up excessive space on the page and leaves the reader more confused about the content rather than less",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Jones",+ "given": "Robert"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "2001"+ ]+ ]+ },+ "title": "Book B: a work of great eloquence in which every word makes the reader eager for the next which is a good thing because it has a very long and ostensibly boring title",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_ImplicitYearSuffixDelimiter.txt view
@@ -0,0 +1,79 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+John Doe 1965a; b+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation disambiguate-add-year-suffix="true" collapse="year-suffix">+ <layout delimiter="; ">+ <group delimiter=" ">+ <names variable="author">+ <name />+ </names>+ <date variable="issued" form="text" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1965"+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1965"+ ]+ ]+ },+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_ImplicitYearSuffixExplicitDelimiter.txt view
@@ -0,0 +1,94 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+(1965a,b)+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>Molecular Ecology (dev)</title>+ <id>http://www.zotero.org/styles/Molecular Ecology</id>+ <link href="http://www.zotero.org/styles/Molecular Ecology" rel="self"/>+ <author>+ <name>myname</name>+ <email>myname@gmx.net</email>+ </author>+ <contributor>+ <name> Sebastian Karcher</name>+ </contributor>+ <category field="biology"/>+ <category field="generic-base"/>+ <updated>2011-04-06T02:21:30+00:00</updated>+ <rights>This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>+ </info>+ <citation year-suffix-delimiter="," + disambiguate-add-year-suffix="true" + collapse="year-suffix" + disambiguate-add-names="true">+ <layout prefix="(" suffix=")" delimiter="; ">+ <!-- layout delimiter="; " -->+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <text value="dummy"/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1965"+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1965"+ ]+ ]+ },+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_LineSpacingDouble.txt view
@@ -0,0 +1,95 @@+>>== MODE ==>>+bibliography+<<== MODE ==<<++++>>== RESULT ==>>+<div class="csl-bib-body">+ <div class="csl-entry">John Smith, Book A (2000)</div>+ <div class="csl-entry">Robert Jones, Book B (2001)</div>+</div>+<<== RESULT ==<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="hello" />+ </layout>+ </citation>+ <bibliography + line-spacing="2">+ <layout>+ <group delimiter=" ">+ <group delimiter=", ">+ <names variable="author">+ <name />+ </names>+ <text variable="title" />+ </group>+ <date prefix="(" suffix=")" variable="issued">+ <date-part name="year" />+ </date>+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Jones",+ "given": "Robert"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "2001"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_LineSpacingTripleStretch.txt view
@@ -0,0 +1,95 @@+>>== MODE ==>>+bibliography+<<== MODE ==<<++++>>== RESULT ==>>+<div class="csl-bib-body">+ <div class="csl-entry">John Smith, Book A (2000)</div>+ <div class="csl-entry">Robert Jones, Book B (2001)</div>+</div>+<<== RESULT ==<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="hello" />+ </layout>+ </citation>+ <bibliography + line-spacing="3">+ <layout>+ <group delimiter=" ">+ <group delimiter=", ">+ <names variable="author">+ <name />+ </names>+ <text variable="title" />+ </group>+ <date prefix="(" suffix=")" variable="issued">+ <date-part name="year" />+ </date>+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Jones",+ "given": "Robert"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "2001"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_NameParticle.txt view
@@ -0,0 +1,53 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Doe, John von+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name name-as-sort-order="all" sort-separator=", "/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "dropping-particle": "von",+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_NameSuffixNoComma.txt view
@@ -0,0 +1,52 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+John Doe III+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John, III"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_NameSuffixWithComma.txt view
@@ -0,0 +1,52 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+John Doe, Jr.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John,! Jr."+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_NumberRangeEnglish.txt view
@@ -0,0 +1,45 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+1–3+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="page"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "page": "1-3",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_NumberRangeFrench.txt view
@@ -0,0 +1,47 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++Delimiter is a non-breaking Unicode hyphen U+2011, supplied by the CSL 1.0.1 fr-FR and fr-CA locales.++>>===== RESULT =====>>+1‑3+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ default-locale="fr-FR">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="page"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "page": "1-3",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_PunctuationInQuoteDefaultEnglishDelimiter.txt view
@@ -0,0 +1,67 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+Doe, “Book A,” 1900.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout suffix=".">+ <group delimiter=", ">+ <names variable="author">+ <name form="short" />+ </names>+ <text quotes="true" variable="title" />+ <date variable="issued">+ <date-part name="year" />+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1900+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_PunctuationInQuoteDefaultEnglishSuffix.txt view
@@ -0,0 +1,65 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+Doe, “Book A,” 1900.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout suffix="." delimiter="[z]">+ <names suffix=", " variable="author" delimiter="[x]">+ <name form="short" delimiter="[y]"/>+ </names>+ <text quotes="true" suffix=", " variable="title" />+ <date variable="issued">+ <date-part name="year" />+ </date>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1900+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_PunctuationInQuoteDelimiterTrue.txt view
@@ -0,0 +1,70 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+Doe, “Book A,” 1900.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale xml:lang="en">+ <style-options punctuation-in-quote="true" />+ </locale>+ <citation>+ <layout suffix=".">+ <group delimiter=", ">+ <names variable="author">+ <name form="short" />+ </names>+ <text quotes="true" variable="title" />+ <date variable="issued">+ <date-part name="year" />+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1900+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_PunctuationInQuoteFalse.txt view
@@ -0,0 +1,70 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+Doe, “Book A”, 1900.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale xml:lang="en">+ <style-options punctuation-in-quote="false" />+ </locale>+ <citation>+ <layout suffix=".">+ <group delimiter=", ">+ <names variable="author">+ <name form="short" />+ </names>+ <text quotes="true" variable="title" />+ <date variable="issued">+ <date-part name="year" />+ </date>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1900+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_PunctuationInQuoteFalseSuppressExtra.txt view
@@ -0,0 +1,51 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+“Article A?”, Journal B+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale xml:lang="en">+ <style-options punctuation-in-quote="false" />+ </locale>+ <citation>+ <layout>+ <text quotes="true" variable="title" />+ <text variable="container-title" prefix=", "/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "container-title": "Journal B",+ "id": "ITEM-1",+ "title": "Article A?",+ "type": "article-journal"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_PunctuationInQuoteNested.txt view
@@ -0,0 +1,73 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+Doe. <i>“Book A.”</i> 1900.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale xml:lang="en">+ <style-options punctuation-in-quote="true" />+ </locale>+ <macro name="mytitle">+ <group font-style="italic">+ <text quotes="true" variable="title" />+ </group>+ </macro>+ <citation>+ <layout suffix=".">+ <names suffix=". " variable="author">+ <name form="short" />+ </names>+ <text macro="mytitle"/>+ <date variable="issued" prefix=". ">+ <date-part name="year" />+ </date>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1900+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_PunctuationInQuoteSuffixTrue.txt view
@@ -0,0 +1,68 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+Doe, “Book A,” 1900.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale xml:lang="en">+ <style-options punctuation-in-quote="true" />+ </locale>+ <citation>+ <layout suffix=".">+ <names suffix=", " variable="author">+ <name form="short" />+ </names>+ <text quotes="true" suffix=", " variable="title" />+ <date variable="issued">+ <date-part name="year" />+ </date>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1900+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_PunctuationInQuoteTrueSuppressExtra.txt view
@@ -0,0 +1,51 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+“Article A?” Journal B+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale xml:lang="en">+ <style-options punctuation-in-quote="true" />+ </locale>+ <citation>+ <layout>+ <text quotes="true" variable="title" />+ <text variable="container-title" prefix=". "/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "container-title": "Journal B",+ "id": "ITEM-1",+ "title": "Article A?",+ "type": "article-journal"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_QuotesAndBraces1.txt view
@@ -0,0 +1,48 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+[“His Anonymous Life”]+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <style-options punctuation-in-quote="true"/>+ </locale>+ <citation>+ <layout>+ <text variable="title" quotes="true" prefix="[" suffix="]"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_QuotesAndBraces2.txt view
@@ -0,0 +1,48 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+[“His Anonymous Life”]+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <style-options punctuation-in-quote="false"/>+ </locale>+ <citation>+ <layout>+ <text variable="title" quotes="true" prefix="[" suffix="]"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_SecondFieldAlign.txt view
@@ -0,0 +1,100 @@+>>== MODE ==>>+bibliography+<<== MODE ==<<++++>>== RESULT ==>>+<div class="csl-bib-body">+ <div class="csl-entry">+ <div class="csl-left-margin">[1]</div><div class="csl-right-inline">John Smith, Book A (2000)</div>+ </div>+ <div class="csl-entry">+ <div class="csl-left-margin">[2]</div><div class="csl-right-inline">Robert Jones, Book B (2001)</div>+ </div>+</div>+<<== RESULT ==<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="hello" />+ </layout>+ </citation>+ <bibliography + second-field-align="flush">+ <layout>+ <text prefix="[" suffix="]" variable="citation-number" />+ <group delimiter=" ">+ <group delimiter=", ">+ <names variable="author">+ <name />+ </names>+ <text variable="title" />+ </group>+ <date prefix="(" suffix=")" variable="issued">+ <date-part name="year" />+ </date>+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Jones",+ "given": "Robert"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "2001"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_StripPeriodsExcludeAffixes.txt view
@@ -0,0 +1,74 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+John Doe.Journal Title.Jane Roe.Journ Title.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="container-title">+ <text strip-periods="true" variable="container-title" form="short"/>+ </macro>+ <macro name="author">+ <names variable="author" >+ <name and="symbol" delimiter-precedes-last="never" />+ </names>+ </macro>+ <citation>+ <layout delimiter="." suffix=".">+ <group delimiter=".">+ <text macro="author"/>+ <text macro="container-title"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "container-title": "Journal Title",+ "id": "ITEM-1",+ "type": "article-journal"+ },+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "container-title": "Journ. Title",+ "id": "ITEM-2",+ "type": "article-journal"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_StripPeriodsFalse.txt view
@@ -0,0 +1,48 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+“An Article,” Am. L.J.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text quotes="true" suffix=", " variable="title" />+ <text variable="container-title" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "container-title": "Am. L.J.",+ "id": "ITEM-1",+ "title": "An Article",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_StripPeriodsTrue.txt view
@@ -0,0 +1,48 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+“An Article,” Am LJ.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout suffix=".">+ <text quotes="true" suffix=", " variable="title" />+ <text strip-periods="true" variable="container-title" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "container-title": "Am. L.J.",+ "id": "ITEM-1",+ "title": "An Article",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_StripPeriodsTrueShortForm.txt view
@@ -0,0 +1,71 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+Am LJ; Am LJ.+<<===== RESULT =====<<+++CSL adjusted to reflect user report.+http://forums.zotero.org/discussion/15166/stripperiods-not-working-yet/+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author-biblio">+ <names variable="author">+ <name />+ </names>+ </macro>+ <citation>+ <layout suffix="." delimiter="; ">+ <text strip-periods="true" variable="container-title" form="short" />+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key variable="author" />+ </sort>+ <layout>+ <text macro="author-biblio" suffix=". " />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "container-title": "American Law Journal",+ "id": "ITEM-1",+ "journalAbbreviation": "Am. L.J.",+ "title": "An Article",+ "type": "article-journal"+ },+ {+ "container-title": "Am. L.J.",+ "id": "ITEM-2",+ "title": "Another Article",+ "type": "article-journal"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_SubsequentAuthorSubstitute.txt view
@@ -0,0 +1,124 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Smith and Jane Roe, Book A (2000)</div>+ <div class="csl-entry">———, Book B (2001)</div>+ <div class="csl-entry">John Smith, Book C (2002)</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </citation>+ <bibliography + subsequent-author-substitute="———">+ <layout>+ <group delimiter=" ">+ <group delimiter=", ">+ <names variable="author">+ <name and="text" delimiter=", " />+ </names>+ <text variable="title" />+ </group>+ <date prefix="(" suffix=")" variable="issued">+ <date-part name="year" />+ </date>+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "item-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "item-2",+ "issued": {+ "date-parts": [+ [+ "2001"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "id": "item-3",+ "issued": {+ "date-parts": [+ [+ "2002"+ ]+ ]+ },+ "title": "Book C",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_SubsequentAuthorSubstituteNotFooled.txt view
@@ -0,0 +1,560 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Silverstein, Theodore, tran. “Sir Gawain and the Green Knight.” Chicago: University of Chicago Press, 1974.</div>+ <div class="csl-entry">Soltes, Ori A., ed. “Georgia: Art and Civilization through the Ages.” London: Philip Wilson, 1999.</div>+ <div class="csl-entry">“The Chicago Manual of Style.” Chicago: University of Chicago Press, 1993.</div>+</div>+<<===== RESULT =====<<+++Chicago Author-Date.++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <title>Chicago Manual of Style (Note with Bibliography)</title>+ <id>http://www.zotero.org/styles/chicago-note-bibliography</id>+ <link rel="self" href="http://www.zotero.org/styles/chicago-note-bibliography" />+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation" />+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </contributor>+ <contributor>+ <name>Elena Razlogova</name>+ <email>elena.razlogova@gmail.com</email>+ </contributor>+ <summary>Chicago format with short notes and full bibliography</summary>+ <category field="generic-base" />+ <category citation-format="numeric" />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="secondary-contributors">+ <choose>+ <if match="none" type="chapter">+ <group delimiter=". ">+ <choose>+ <if variable="author">+ <names delimiter=". " variable="editor">+ <label form="verb" suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names delimiter=". " variable="translator">+ <label form="verb" suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <names delimiter=", " variable="editor">+ <label form="verb" suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names delimiter=", " variable="translator">+ <label form="verb" suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="recipient-note">+ <names delimiter=", " variable="recipient">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="recipient">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ <else>+ <text term="letter" text-case="capitalize-first" />+ </else>+ </choose>+ </if>+ </choose>+ <text macro="recipient-note" prefix=" " />+ </macro>+ <macro name="contributors">+ <names variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <substitute>+ <text macro="editor" />+ <text macro="translator" />+ </substitute>+ </names>+ <text macro="recipient" prefix=". " />+ </macro>+ <macro name="recipient-short">+ <names variable="recipient">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " form="short" />+ </names>+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name and="text" delimiter=", " form="short" />+ <substitute>+ <names variable="editor" />+ <names variable="translator" />+ </substitute>+ </names>+ <text macro="recipient-short" />+ </macro>+ <macro name="contributors-sort">+ <names variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="all" sort-separator=", " />+ <label form="short" prefix=", " suffix="." />+ <substitute>+ <names variable="editor" />+ <names variable="translator" />+ </substitute>+ </names>+ </macro>+ <macro name="interviewer">+ <names delimiter=", " variable="interviewer">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="title">+ <choose>+ <if match="none" variable="title">+ <choose>+ <if match="none" type="personal_communication">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ </if>+ <else-if type="book">+ <text font-style="italic" variable="title" />+ </else-if>+ <else>+ <text quotes="true" variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="title-short">+ <choose>+ <if match="none" variable="title">+ <choose>+ <if type="interview">+ <text term="interview" text-case="lowercase" />+ </if>+ <else-if match="any" type="manuscript speech">+ <text form="short" variable="genre" />+ </else-if>+ <else-if type="personal_communication">+ <text macro="issued" />+ </else-if>+ </choose>+ </if>+ <else-if type="book">+ <text font-style="italic" form="short" variable="title" />+ </else-if>+ <else>+ <text form="short" quotes="true" variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="description">+ <group delimiter=", ">+ <group delimiter=". ">+ <text macro="interviewer" />+ <text text-case="capitalize-first" variable="medium" />+ </group>+ <choose>+ <if match="none" variable="title"> </if>+ <else-if match="any" type="thesis speech"> </else-if>+ <else>+ <text text-case="capitalize-first" variable="genre" />+ </else>+ </choose>+ </group>+ </macro>+ <macro name="container-title">+ <choose>+ <if type="chapter">+ <text suffix=" " term="in" text-case="capitalize-first" />+ </if>+ </choose>+ <choose>+ <if match="none" type="legal_case">+ <text font-style="italic" variable="container-title" />+ </if>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if match="any" type="book chapter">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number form="ordinal" variable="edition" />+ <text form="short" suffix="." term="edition" />+ </group>+ </if>+ <else>+ <text suffix="." text-case="capitalize-first" variable="edition" />+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="collection-title">+ <text variable="collection-title" />+ <text prefix=" " variable="collection-number" />+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <text prefix=" " variable="volume" />+ <text prefix=", no. " variable="issue" />+ </if>+ <else-if type="legal_case">+ <text prefix=", " variable="volume" />+ <text prefix=" " variable="container-title" />+ <text prefix=" " variable="page" />+ </else-if>+ <else-if match="any" type="book chapter">+ <group delimiter=". " prefix=". ">+ <group>+ <text form="short" suffix=". " term="volume" text-case="capitalize-first" />+ <number form="numeric" variable="volume" />+ </group>+ <group>+ <number form="numeric" variable="number-of-volumes" />+ <text form="short" plural="true" prefix=" " suffix="." term="volume" />+ </group>+ <text macro="edition" />+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-newspaper">+ <choose>+ <if type="article-newspaper">+ <group delimiter=", ">+ <group>+ <text suffix=" " variable="edition" />+ <text prefix=" " term="edition" />+ </group>+ <group>+ <text form="short" suffix=". " term="section" />+ <text variable="section" />+ </group>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="event">+ <group>+ <text suffix=" " term="presented at" />+ <text variable="event" />+ </group>+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place" />+ <text variable="publisher" />+ </group>+ </macro>+ <macro name="issued">+ <choose>+ <if match="any" type="graphic report">+ <date variable="issued">+ <date-part name="month" suffix=" " />+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </if>+ <else-if type="legal_case">+ <text suffix=" " variable="authority" />+ <date variable="issued">+ <date-part name="year" />+ </date>+ </else-if>+ <else-if match="any" type="book chapter thesis">+ <date variable="issued">+ <date-part name="year" />+ </date>+ </else-if>+ <else>+ <date variable="issued">+ <date-part name="month" suffix=" " />+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </else>+ </choose>+ </macro>+ <macro name="pages-chapter">+ <choose>+ <if type="chapter">+ <text suffix=":" variable="volume" />+ <text variable="page" />+ </if>+ </choose>+ </macro>+ <macro name="pages-article">+ <choose>+ <if type="article-journal">+ <text prefix=": " variable="page" />+ </if>+ </choose>+ </macro>+ <macro name="point-locators-subsequent">+ <group>+ <choose>+ <if locator="page" match="none">+ <choose>+ <if type="book">+ <group suffix=", ">+ <text form="short" suffix=". " term="volume" text-case="lowercase" />+ <number form="numeric" variable="volume" />+ </group>+ </if>+ </choose>+ <label form="short" suffix=" " variable="locator" />+ </if>+ <else-if type="book">+ <number form="numeric" suffix=":" variable="volume" />+ </else-if>+ </choose>+ <text variable="locator" />+ </group>+ </macro>+ <macro name="archive">+ <group delimiter=". ">+ <text text-case="capitalize-first" variable="archive_location" />+ <text variable="archive" />+ <text variable="archive-place" />+ </group>+ </macro>+ <macro name="issue">+ <choose>+ <if match="any" type="article-journal legal_case">+ <text macro="issued" prefix=" (" suffix=")" />+ </if>+ <else-if type="speech">+ <choose>+ <if match="none" variable="title"> </if>+ <else>+ <text prefix=". " text-case="capitalize-first" variable="genre" />+ </else>+ </choose>+ <text macro="event" prefix=" " />+ <text prefix=", " variable="event-place" />+ <text macro="issued" prefix=", " />+ </else-if>+ <else-if match="any" variable="publisher-place publisher">+ <group delimiter=", " prefix=". ">+ <choose>+ <if type="thesis">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ <text macro="publisher"/>+ <text macro="issued"/>+ </group>+ </else-if>+ <else>+ <text macro="issued" prefix=", " />+ </else>+ </choose>+ </macro>+ <macro name="access">+ <group delimiter=". ">+ <choose>+ <if match="any" type="graphic report">+ <text macro="archive" />+ </if>+ <else-if match="none" type="book thesis chapter article-journal article-newspaper article-magazine">+ <text macro="archive" />+ </else-if>+ </choose>+ <choose>+ <if match="none" type="legal_case">+ <text variable="URL" />+ </if>+ </choose>+ </group>+ </macro>+ <macro name="sort-key">+ <text macro="contributors-sort" suffix=" " />+ <text suffix=" " variable="title" />+ <text variable="genre" />+ </macro>+ <citation + disambiguate-add-names="true"+ et-al-min="4"+ et-al-subsequent-min="4"+ et-al-subsequent-use-first="1"+ et-al-use-first="1">+ <layout delimiter="; " prefix="" suffix=".">+ <choose>+ <if position="ibid-with-locator">+ <group delimiter=", ">+ <text suffix="." term="ibid" text-case="capitalize-first" />+ <text macro="point-locators-subsequent" />+ </group>+ </if>+ <else-if position="ibid">+ <text suffix="." term="ibid" text-case="capitalize-first" />+ </else-if>+ <else>+ <group delimiter=", ">+ <text macro="contributors-short" />+ <text macro="title-short" />+ <text macro="point-locators-subsequent" />+ </group>+ </else>+ </choose>+ </layout>+ </citation>+ <bibliography + entry-spacing="0"+ et-al-min="11"+ et-al-use-first="7"+ hanging-indent="true"+ subsequent-author-substitute="———">+ <sort>+ <key macro="sort-key" />+ <key variable="issued" />+ </sort>+ <layout suffix=".">+ <group delimiter=". ">+ <text macro="contributors" />+ <text macro="title" />+ <text macro="description" />+ <text macro="secondary-contributors" />+ <group delimiter=", ">+ <text macro="container-title" />+ <text macro="container-contributors" />+ <text macro="pages-chapter" />+ </group>+ </group>+ <text macro="locators" />+ <text macro="collection-title" prefix=". " />+ <text macro="issue"/>+ <text macro="locators-newspaper" prefix=", " />+ <text macro="pages-article" />+ <text macro="access" prefix=". " />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1974"+ ]+ ]+ },+ "publisher": "University of Chicago Press",+ "publisher-place": "Chicago",+ "title": "Sir Gawain and the Green Knight",+ "translator": [+ {+ "family": "Silverstein",+ "given": "Theodore"+ }+ ],+ "type": "chapter"+ },+ {+ "editor": [+ {+ "family": "Soltes",+ "given": "Ori A."+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 1999+ ]+ ]+ },+ "publisher": "Philip Wilson",+ "publisher-place": "London",+ "title": "Georgia: Art and Civilization through the Ages",+ "type": "chapter"+ },+ {+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ 1993+ ]+ ]+ },+ "publisher": "University of Chicago Press",+ "publisher-place": "Chicago",+ "title": "The Chicago Manual of Style",+ "type": "chapter"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_SubsequentAuthorSubstituteOfTitleField.txt view
@@ -0,0 +1,110 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Warren Smith (2000)</div>+ <div class="csl-entry">----- (2001)</div>+ <div class="csl-entry">Book Y (2002)</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </citation>+ <bibliography + subsequent-author-substitute="-----">+ <layout>+ <group delimiter=" ">+ <names variable="author">+ <name and="text" delimiter=", " />+ <substitute>+ <text variable="title"/>+ </substitute>+ </names>+ <date prefix="(" suffix=")" variable="issued">+ <date-part name="year" />+ </date>+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith",+ "given": "Warren"+ }+ ],+ "id": "item-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book X",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "Warren"+ }+ ],+ "id": "item-2",+ "issued": {+ "date-parts": [+ [+ "2001"+ ]+ ]+ },+ "title": "Book X",+ "type": "book"+ },+ {+ "id": "item-3",+ "issued": {+ "date-parts": [+ [+ "2002"+ ]+ ]+ },+ "title": "Book Y",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_SuperscriptChars.txt view
@@ -0,0 +1,269 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++The Unicode standard provides a number of discrete superscript+characters, to allow such to be transferred across systems+without the need for system-specific markup. Because the characters+are currently not fully supported on all platforms for rendering,+implementations may desire to convert them into a marked-up+equivalent when rendering.++The list of characters used in this test is here:++ http://unicode.org/reports/tr30/datafiles/SuperscriptFolding.txt++Relevant discussions:++ http://forums.zotero.org/discussion/18074/edition-with-superscript/+ https://github.com/citation-style-language/schema/issues/49+++>>===== RESULT =====>>+<sup>a</sup>+<sup>2</sup>+<sup>3</sup>+<sup>1</sup>+<sup>o</sup>+<sup>h</sup>+<sup>ɦ</sup>+<sup>j</sup>+<sup>r</sup>+<sup>ɹ</sup>+<sup>ɻ</sup>+<sup>ʁ</sup>+<sup>w</sup>+<sup>y</sup>+<sup>ɣ</sup>+<sup>l</sup>+<sup>s</sup>+<sup>x</sup>+<sup>ʕ</sup>+<sup>A</sup>+<sup>Æ</sup>+<sup>B</sup>+<sup>D</sup>+<sup>E</sup>+<sup>Ǝ</sup>+<sup>G</sup>+<sup>H</sup>+<sup>I</sup>+<sup>J</sup>+<sup>K</sup>+<sup>L</sup>+<sup>M</sup>+<sup>N</sup>+<sup>O</sup>+<sup>Ȣ</sup>+<sup>P</sup>+<sup>R</sup>+<sup>T</sup>+<sup>U</sup>+<sup>W</sup>+<sup>a</sup>+<sup>ɐ</sup>+<sup>ɑ</sup>+<sup>ᴂ</sup>+<sup>b</sup>+<sup>d</sup>+<sup>e</sup>+<sup>ə</sup>+<sup>ɛ</sup>+<sup>ɜ</sup>+<sup>g</sup>+<sup>k</sup>+<sup>m</sup>+<sup>ŋ</sup>+<sup>o</sup>+<sup>ɔ</sup>+<sup>ᴖ</sup>+<sup>ᴗ</sup>+<sup>p</sup>+<sup>t</sup>+<sup>u</sup>+<sup>ᴝ</sup>+<sup>ɯ</sup>+<sup>v</sup>+<sup>ᴥ</sup>+<sup>β</sup>+<sup>γ</sup>+<sup>δ</sup>+<sup>φ</sup>+<sup>χ</sup>+<sup>0</sup>+<sup>i</sup>+<sup>4</sup>+<sup>5</sup>+<sup>6</sup>+<sup>7</sup>+<sup>8</sup>+<sup>9</sup>+<sup>+</sup>+<sup>−</sup>+<sup>=</sup>+<sup>(</sup>+<sup>)</sup>+<sup>n</sup>+<sup>SM</sup>+<sup>TM</sup>+<sup>一</sup>+<sup>二</sup>+<sup>三</sup>+<sup>四</sup>+<sup>上</sup>+<sup>中</sup>+<sup>下</sup>+<sup>甲</sup>+<sup>乙</sup>+<sup>丙</sup>+<sup>丁</sup>+<sup>天</sup>+<sup>地</sup>+<sup>人</sup>+<sup>ʔ</sup>+<sup>ʕ</sup>+<sup>و</sup>+<sup>ي</sup>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <group delimiter="
">+ <text value="ª"/>+ <text value="²"/>+ <text value="³"/>+ <text value="¹"/>+ <text value="º"/>+ <text value="ʰ"/>+ <text value="ʱ"/>+ <text value="ʲ"/>+ <text value="ʳ"/>+ <text value="ʴ"/>+ <text value="ʵ"/>+ <text value="ʶ"/>+ <text value="ʷ"/>+ <text value="ʸ"/>+ <text value="ˠ"/>+ <text value="ˡ"/>+ <text value="ˢ"/>+ <text value="ˣ"/>+ <text value="ˤ"/>+ <text value="ᴬ"/>+ <text value="ᴭ"/>+ <text value="ᴮ"/>+ <text value="ᴰ"/>+ <text value="ᴱ"/>+ <text value="ᴲ"/>+ <text value="ᴳ"/>+ <text value="ᴴ"/>+ <text value="ᴵ"/>+ <text value="ᴶ"/>+ <text value="ᴷ"/>+ <text value="ᴸ"/>+ <text value="ᴹ"/>+ <text value="ᴺ"/>+ <text value="ᴼ"/>+ <text value="ᴽ"/>+ <text value="ᴾ"/>+ <text value="ᴿ"/>+ <text value="ᵀ"/>+ <text value="ᵁ"/>+ <text value="ᵂ"/>+ <text value="ᵃ"/>+ <text value="ᵄ"/>+ <text value="ᵅ"/>+ <text value="ᵆ"/>+ <text value="ᵇ"/>+ <text value="ᵈ"/>+ <text value="ᵉ"/>+ <text value="ᵊ"/>+ <text value="ᵋ"/>+ <text value="ᵌ"/>+ <text value="ᵍ"/>+ <text value="ᵏ"/>+ <text value="ᵐ"/>+ <text value="ᵑ"/>+ <text value="ᵒ"/>+ <text value="ᵓ"/>+ <text value="ᵔ"/>+ <text value="ᵕ"/>+ <text value="ᵖ"/>+ <text value="ᵗ"/>+ <text value="ᵘ"/>+ <text value="ᵙ"/>+ <text value="ᵚ"/>+ <text value="ᵛ"/>+ <text value="ᵜ"/>+ <text value="ᵝ"/>+ <text value="ᵞ"/>+ <text value="ᵟ"/>+ <text value="ᵠ"/>+ <text value="ᵡ"/>+ <text value="⁰"/>+ <text value="ⁱ"/>+ <text value="⁴"/>+ <text value="⁵"/>+ <text value="⁶"/>+ <text value="⁷"/>+ <text value="⁸"/>+ <text value="⁹"/>+ <text value="⁺"/>+ <text value="⁻"/>+ <text value="⁼"/>+ <text value="⁽"/>+ <text value="⁾"/>+ <text value="ⁿ"/>+ <text value="℠"/>+ <text value="™"/>+ <text value="㆒"/>+ <text value="㆓"/>+ <text value="㆔"/>+ <text value="㆕"/>+ <text value="㆖"/>+ <text value="㆗"/>+ <text value="㆘"/>+ <text value="㆙"/>+ <text value="㆚"/>+ <text value="㆛"/>+ <text value="㆜"/>+ <text value="㆝"/>+ <text value="㆞"/>+ <text value="㆟"/>+ <text value="ˀ"/>+ <text value="ˁ"/>+ <text value="ۥ"/>+ <text value="ۦ"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "Bogus Title",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_SuppressDuplicateVariableRendering.txt view
@@ -0,0 +1,60 @@+>>== MODE ==>>+citation+<<== MODE ==<<++++>>== RESULT ==>>+Should print this: Book A … and this: Book A … but this only once: Blob+<<== RESULT ==<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text prefix="Should print this: " variable="title" />+ <text prefix=" … and this: " variable="title" />+ <names variable="author" prefix=" … but this only once: ">+ <name/>+ <substitute>+ <names variable="editor"/>+ </substitute>+ </names>+ <names variable="editor">+ <name/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "editor": [+ {+ "literal": "Blob"+ }+ ],+ "id": "item-1",+ "title": "Book A",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_SuppressLayoutDelimiterIfPrefixComma.txt view
@@ -0,0 +1,61 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Book A, cited in Book B+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2",+ "prefix": ", cited in "+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; ">+ <text variable="title"/>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Book A",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "title": "Book B",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_TermCapitalizationWithPrefix.txt view
@@ -0,0 +1,168 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+..[0] Doe (1965)+..[1] See ibid.+..[2] This has been said. Ibid.+>>[3] Ibid.+<<===== RESULT =====<<+++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-2",+ "citationItems": [+ {+ "id": "ITEM-1",+ "prefix": "See "+ }+ ],+ "properties": {+ "noteIndex": 2+ }+ },+ [+ [+ "CITATION-1",+ 1+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-3",+ "citationItems": [+ {+ "id": "ITEM-1",+ "prefix": "This has been said. "+ }+ ],+ "properties": {+ "noteIndex": 3+ }+ },+ [+ [+ "CITATION-1",+ 1+ ],+ [+ "CITATION-2",+ 2+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-4",+ "citationItems": [+ {+ "id": "ITEM-1"+ }+ ],+ "properties": {+ "noteIndex": 4+ }+ },+ [+ [+ "CITATION-1",+ 1+ ],+ [+ "CITATION-2",+ 2+ ],+ [+ "CITATION-3",+ 3+ ]+ ],+ []+ ]+]+<<===== CITATIONS =====<<++++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <choose>+ <if position="first">+ <group delimiter=" ">+ <names variable="author">+ <name form="short"/>+ </names>+ <date variable="issued" date-parts="year" form="text" prefix="(" suffix=")"/>+ </group>+ </if>+ <else>+ <text term="ibid"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ "1965"+ ]+ ]+ }, + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_TextRangeEnglish.txt view
@@ -0,0 +1,45 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+1–3+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="page"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "page": "1-3",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/magic_TextRangeFrench.txt view
@@ -0,0 +1,47 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++Delimiter is a non-breaking Unicode hyphen U+2011, supplied by the CSL 1.0.1 fr-FR and fr-CA locales.++>>===== RESULT =====>>+1‑3+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ default-locale="fr-FR">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="page"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "page": "1-3",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_AfterInvertedName.txt view
@@ -0,0 +1,184 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+DOEBUCK, Jonathan, et al.; DOE, John, Jane ROE et al.; DOE, John, Janice ROEBUCK et al.+APPLEBY, Aloysius, and Bobby BROWN; APPLEBY, Aloysius, Bobby BROWN and Cecile CREAM; APPLEBY, Aloysius, Bobby BROWN and Enola EVERGREEN+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ }+ ],+ [+ {+ "id": "ITEM-4"+ },+ {+ "id": "ITEM-5"+ },+ {+ "id": "ITEM-6"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation et-al-min="3" et-al-use-first="1" disambiguate-add-names="true">+ <layout delimiter="; ">+ <names variable="author">+ <name name-as-sort-order="first"+ delimiter-precedes-et-al="after-inverted-name"+ delimiter-precedes-last="after-inverted-name"+ and="text">+ <name-part name="family" text-case="uppercase"/>+ </name>+ </names>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Doebuck",+ "given": "Jonathan"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Snoakes",+ "given": "Richard"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Snoakes",+ "given": "Richard"+ },+ {+ "family": "Noakes",+ "given": "Robert"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roebuck",+ "given": "Janice"+ },+ {+ "family": "Snoakes",+ "given": "Richard"+ },+ {+ "family": "Noakes",+ "given": "Robert"+ }+ ],+ "id": "ITEM-3",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Appleby",+ "given": "Aloysius"+ },+ {+ "family": "Brown",+ "given": "Bobby"+ }+ ],+ "id": "ITEM-4",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Appleby",+ "given": "Aloysius"+ },+ {+ "family": "Brown",+ "given": "Bobby"+ },+ {+ "family": "Cream",+ "given": "Cecile"+ }+ ],+ "id": "ITEM-5",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Appleby",+ "given": "Aloysius"+ },+ {+ "family": "Brown",+ "given": "Bobby"+ },+ {+ "family": "Evergreen",+ "given": "Enola"+ }+ ],+ "id": "ITEM-6",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_AllCapsInitialsUntouched.txt view
@@ -0,0 +1,63 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Full: JH Hartcourt Doe; Initialized: JH Hartcourt Doe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <group delimiter="; ">+ <group>+ <text value="Full: "/>+ <names variable="author">+ <name/>+ </names>+ </group>+ <group>+ <text value="Initialized: "/>+ <names variable="author">+ <name/>+ </names>+ </group>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "JH Hartcourt"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_AndTextDelimiterPrecedesLastAlways.txt view
@@ -0,0 +1,60 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Doe, J.; Roe, J.; and Noakes, R.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name and="text" delimiter="; " initialize-with="." name-as-sort-order="all" delimiter-precedes-last="always"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Noakes",+ "given": "Richard"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_ApostropheInGivenName.txt view
@@ -0,0 +1,62 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Shun’ichi Aalto+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name form="long" />+ </names>+ </macro>+ <citation>+ <layout delimiter="; ">+ <text macro="author" />+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Shun'ichi"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_ArabicShortForms.txt view
@@ -0,0 +1,75 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+al-Aswānī; al-Aswānī+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name form="short" />+ </names>+ </macro>+ <citation>+ <layout delimiter="; ">+ <text macro="author" />+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "al-Aswānī",+ "given": "ʿAlāʾ"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "al-Aswānī",+ "given": "`Alā'"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_ArticularNameAsSortOrder.txt view
@@ -0,0 +1,53 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Doe, James, III+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name name-as-sort-order="all"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "James",+ "suffix": "III"+ }+ ],+ "id": "item-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_ArticularPlain.txt view
@@ -0,0 +1,61 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+James Doe III+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "James",+ "suffix": "III"+ }+ ],+ "id": "item-1",+ "issued": {+ "date-parts": [+ [+ "2001"+ ]+ ]+ },+ "title": "My Anonymous Heritage",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_ArticularShortForm.txt view
@@ -0,0 +1,53 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Doe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name form="short"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "James",+ "suffix": "III"+ }+ ],+ "id": "item-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_ArticularShortFormCommaSuffix.txt view
@@ -0,0 +1,54 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Doe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name form="short"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "comma-suffix": true,+ "family": "Doe",+ "given": "James",+ "suffix": "Jr"+ }+ ],+ "id": "item-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_ArticularWithComma.txt view
@@ -0,0 +1,62 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Jeffrey Doe, Jr.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "comma-suffix": true,+ "family": "Doe",+ "given": "Jeffrey",+ "suffix": "Jr."+ }+ ],+ "id": "item-1",+ "issued": {+ "date-parts": [+ [+ "2001"+ ]+ ]+ },+ "title": "My Life as an Anonymous Heir",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_ArticularWithCommaNameAsSortOrder.txt view
@@ -0,0 +1,54 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Doe, James, Jr+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name name-as-sort-order="all"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "comma-suffix": true,+ "family": "Doe",+ "given": "James",+ "suffix": "Jr"+ }+ ],+ "id": "item-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_AsianGlyphs.txt view
@@ -0,0 +1,60 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+我妻栄+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "我妻",+ "given": "栄"+ }+ ],+ "id": "item-1",+ "issued": {+ "date-parts": [+ [+ "1960"+ ]+ ]+ },+ "title": "民法",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_AuthorCount.txt view
@@ -0,0 +1,120 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Count=(3) | Count=(3) | Count=(2) | Count=(1) | Count=()+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + et-al-min="4"+ et-al-use-first="3">+ <layout delimiter=" | ">+ <text value="Count=("/>+ <names variable="author">+ <name form="count" />+ </names>+ <text value=")"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Brown",+ "given": "Robert"+ },+ {+ "family": "Smith",+ "given": "Tom"+ }+ ],+ "id": "item-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Doe",+ "given": "Jake"+ },+ {+ "family": "Brown",+ "given": "Robert"+ }+ ],+ "id": "item-2",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Doe",+ "given": "Jake"+ }+ ],+ "id": "item-3",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "item-4",+ "type": "book"+ },+ {+ "editor": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "item-5",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_AuthorCountWithMultipleVariables.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+5+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + et-al-min="4"+ et-al-use-first="3">+ <layout>+ <names variable="author editor">+ <name form="count" />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Brown",+ "given": "Robert"+ },+ {+ "family": "Smith",+ "given": "Tom"+ }+ ],+ "editor": [+ {+ "family": "Noakes",+ "given": "John"+ },+ {+ "family": "Stoakes",+ "given": "Richard"+ }+ ],+ "id": "item-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_AuthorCountWithSameVarContentAndCombinedTermFail.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+4+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale xml:lang="en">+ <terms>+ <term form="short" name="editortranslator">+ <single>ed. & trans.</single>+ <multiple>eds. & trans.</multiple>+ </term>+ </terms>+ </locale>+ <citation + et-al-min="4"+ et-al-use-first="3">+ <layout>+ <names variable="author editor">+ <name form="count" />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Noakes",+ "given": "John"+ },+ {+ "family": "Stoakes",+ "given": "Richard"+ }+ ],+ "editor": [+ {+ "family": "Noakes",+ "given": "John"+ },+ {+ "family": "Stoakes",+ "given": "Richard"+ }+ ],+ "id": "item-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_AuthorCountWithSameVarContentAndCombinedTermSucceed.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+2+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale xml:lang="en">+ <terms>+ <term form="short" name="editortranslator">+ <single>ed. & trans.</single>+ <multiple>eds. & trans.</multiple>+ </term>+ </terms>+ </locale>+ <citation + et-al-min="4"+ et-al-use-first="3">+ <layout>+ <names variable="author editor">+ <name form="count" />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "editor": [+ {+ "family": "Noakes",+ "given": "John"+ },+ {+ "family": "Stoakes",+ "given": "Richard"+ }+ ],+ "id": "item-1",+ "translator": [+ {+ "family": "Noakes",+ "given": "John"+ },+ {+ "family": "Stoakes",+ "given": "Richard"+ }+ ],+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_AuthorEditorCount.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+5+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + et-al-min="4"+ et-al-use-first="3">+ <layout>+ <names variable="author editor">+ <name form="count" />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Brown",+ "given": "Robert"+ },+ {+ "family": "Smith",+ "given": "Tom"+ }+ ],+ "editor": [+ {+ "family": "Bloggs",+ "given": "Joe"+ },+ {+ "family": "Bloggs",+ "given": "Barbie"+ }+ ],+ "id": "item-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_BibliographyNameFormNeverShrinks.txt view
@@ -0,0 +1,143 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry"><i>Smith, Jimmie</i></div>+ <div class="csl-entry"><i>Smith, Reggie</i></div>+</div>+<<===== RESULT =====<<+++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ []+ ]+]+<<===== CITATIONS =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" version="1.0" class="note" default-locale="de-DE" demote-non-dropping-particle="never">+ <!-- This style was edited with the Visual CSL Editor (http://editor.citationstyles.org/visualEditor/) -->+ <info>+ <title>SCRDiss2</title>+ <id>http://www.zotero.org/styles/juristische-zitierweise</id>+ <link href="http://www.zotero.org/styles/juristische-zitierweise" rel="self"/>+ <link href="www.niederle-media.de/Zitieren.pdf" rel="documentation"/>+ <link href="https://forums.zotero.org/discussion/20886/citation-style-for-german-lawyers/" rel="documentation"/>+ <author>+ <name>SCR</name>+ <email>Sophie.Catherine@gmx.de</email>+ </author>+ <contributor>+ <name>SCR</name>+ </contributor>+ <category citation-format="note"/>+ <category field="law"/>+ <summary>Juristische Zitierweise nach Stüber www.niederle-media.de/Zitieren.pdf</summary>+ <updated>2017-12-28T23:40:35+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale xml:lang="de-DE">+ <terms>+ <term name="accessed">besucht am</term>+ </terms>+ </locale>+ <macro name="author">+ <names variable="author" font-style="italic">+ <name delimiter="/ " name-as-sort-order="all" sort-separator=", " form="long"/>+ <label form="short" prefix=" (" suffix=")"/>+ <substitute>+ <names variable="editor"/>+ </substitute>+ </names>+ </macro>++<macro name="editor">+ <names variable="editor" font-style="italic">+ <name delimiter="/ " name-as-sort-order="all" sort-separator=", " form="long"/>+ <label form="short" prefix=" (" suffix=")"/>+ </names>+ </macro>+ <macro name="author-note">+ <names variable="author" font-style="italic">+ <name form="short" delimiter="/" et-al-min="3" et-al-use-first="1" initialize-with=". "/>+ </names>+ </macro>+ <macro name="autor-editor-note">+ <names variable="author" font-style="italic">+ <name form="short" delimiter="/" et-al-min="3" et-al-use-first="1" sort-separator=""/>+ <substitute>+ <names variable="editor"/>+ </substitute>+ </names>+ </macro>+ <citation disambiguate-add-names="true" disambiguate-add-givenname="true" givenname-disambiguation-rule="all-names-with-initials">+ <layout delimiter="; " suffix=".">+ <text macro="autor-editor-note"/>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key macro="author"/>+ <key variable="issued"/>+ </sort>+ <layout>+ <text macro="author"/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith", + "given": "Reggie"+ }+ ], + "id": "ITEM-1", + "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "Jimmie"+ }+ ], + "id": "ITEM-2", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_CelticClanName.txt view
@@ -0,0 +1,53 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++http://forums.zotero.org/discussion/17610/apsa-problems-with-capitalization-of-mc-mac-etc/++>>===== RESULT =====>>+Susan McMurphy Smith+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith",+ "given": "Susan McMurphy"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_CeltsAndToffsCrowdedInitials.txt view
@@ -0,0 +1,70 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++This example comes to us via a query to comp.text.tex:++ http://groups.google.com/group/comp.text.tex/browse_thread/thread/4796d6a2f06952ad?hl=en++(This is a modified version of the desired output inicated in the user's+post, with no spaces following the periods in initials)++>>===== RESULT =====>>+O’Malley, C.D., & Saunders, J.B. de C.M.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="translator">+ <name and="symbol" delimiter=", " delimiter-precedes-last="always" initialize-with="." name-as-sort-order="all" sort-separator=", " />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "item-1",+ "issued": {+ "date-parts": [+ [+ "1952"+ ]+ ]+ },+ "title": "Leonardo on the Human Body",+ "translator": [+ {+ "family": "O’Malley",+ "given": "Charles D."+ },+ {+ "family": "Saunders",+ "given": "John Bertrand de Cusance Morant"+ }+ ],+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_CeltsAndToffsNoHyphens.txt view
@@ -0,0 +1,61 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Chen, H.L.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ initialize-with-hyphen="false">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="translator">+ <name and="symbol" delimiter=", " delimiter-precedes-last="always" initialize-with="." name-as-sort-order="all" sort-separator=", " />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "item-1",+ "issued": {+ "date-parts": [+ [+ "1933"+ ]+ ]+ },+ "title": "Book A",+ "translator": [+ {+ "family": "Chen",+ "given": "Hsien-Li"+ }+ ],+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_CeltsAndToffsSpacedInitials.txt view
@@ -0,0 +1,69 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++This example comes to us via a query to comp.text.tex:++ http://groups.google.com/group/comp.text.tex/browse_thread/thread/4796d6a2f06952ad?hl=en++++>>===== RESULT =====>>+O’Malley, C. D., & Saunders, J. B. de C. M.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="translator">+ <name and="symbol" delimiter=", " delimiter-precedes-last="always" initialize-with=". " name-as-sort-order="all" sort-separator=", " />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "item-1",+ "issued": {+ "date-parts": [+ [+ "1952"+ ]+ ]+ },+ "title": "Leonardo on the Human Body",+ "translator": [+ {+ "family": "O’Malley",+ "given": "Charles D."+ },+ {+ "family": "Saunders",+ "given": "John Bertrand de Cusance Morant"+ }+ ],+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_CeltsAndToffsWithHyphens.txt view
@@ -0,0 +1,61 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Chen, H.-L.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ initialize-with-hyphen="true">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="translator">+ <name and="symbol" delimiter=", " delimiter-precedes-last="always" initialize-with="." name-as-sort-order="all" sort-separator=", " />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "item-1",+ "issued": {+ "date-parts": [+ [+ "1933"+ ]+ ]+ },+ "title": "Book A",+ "translator": [+ {+ "family": "Chen",+ "given": "Hsien-Li"+ }+ ],+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_CiteGroupDelimiterWithYearCollapse.txt view
@@ -0,0 +1,432 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+(Aalto 2015a 2015b)+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" default-locale="en-GB">+ <info>+ <title>Harvard - University of Worcester</title>+ <id>http://www.zotero.org/styles/harvard-university-of-worcester</id>+ <link rel="self" href="http://www.zotero.org/styles/harvard-university-of-worcester"/>+ <link rel="documentation" href="http://www.worc.ac.uk/ils/documents/Harvard_referencing"/>+ <author>+ <name>Christopher Hill</name>+ <uri>http://www.mendeley.com/profiles/christopher-hill7/</uri>+ </author>+ <contributor>+ <name>Sarah Pittaway</name>+ </contributor>+ <category citation-format="author-date"/>+ <summary>Harvard author-date style edited for the University of Worcester</summary>+ <updated>2015-10-23T10:02:54+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <macro name="editor">+ <names delimiter=", " variable="editor">+ <name and="symbol" delimiter-precedes-last="never" initialize-with="." name-as-sort-order="all"/>+ <label form="short" suffix=")" prefix=" ("/>+ </names>+ </macro>+ <macro name="author">+ <names variable="author">+ + <label form="short" prefix=" "/>+ <substitute>+ <text macro="substitute-author"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="text" delimiter-precedes-last="never"/>+ <et-al font-style="normal"/>+ <substitute>+ <names variable="translator"/>+ <text macro="substitute-author"/>+ </substitute>+ </names>+ </macro>+ <macro name="available-from-access">+ <choose>+ <if match="any" variable="URL DOI">+ <group>+ <text value="Available from: "/>+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix="doi:"/>+ </if>+ <else>+ <text variable="URL"/>+ </else>+ </choose>+ <group suffix="]" prefix=" [">+ <text suffix=": " text-case="capitalize-first" term="accessed"/>+ <date variable="accessed">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ </group>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="italicised-title">+ <text variable="title" font-style="italic"/>+ </macro>+ <macro name="standard-title">+ <text variable="title"/>+ </macro>+ <macro name="year-date-citation">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text form="short" term="no date"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number form="ordinal" variable="edition"/>+ <text form="long" term="edition" strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition"/>+ </else>+ </choose>+ </macro>+ <macro name="pages">+ <choose>+ <if type="article-journal" match="none">+ <label text-case="lowercase" variable="page" form="short"/>+ </if>+ </choose>+ <text variable="page"/>+ </macro>+ <macro name="medium-online">+ <choose>+ <if match="any" variable="medium">+ <text variable="medium" prefix="[" suffix="]"/>+ </if>+ <else>+ <choose>+ <if match="any" variable="DOI URL">+ <text value="[Online]"/>+ </if>+ </choose>+ </else>+ </choose>+ </macro>+ <macro name="year-date-bibliography">+ <choose>+ <if match="any" variable="issued">+ <choose>+ <if type="article-magazine article-newspaper" match="any">+ <date form="text" date-parts="year-month-day" variable="issued">+ <date-part name="day" form="ordinal" range-delimiter=""/>+ <date-part name="month" range-delimiter=""/>+ <date-part name="year" range-delimiter=""/>+ </date>+ </if>+ <else>+ <date date-parts="year" form="text" variable="issued">+ <date-part name="year" range-delimiter=""/>+ </date>+ </else>+ </choose>+ </if>+ <else-if type="bill"/>+ <else>+ <text term="no date"/>+ </else>+ </choose>+ </macro>+ <macro name="container-title">+ <text variable="container-title" font-style="italic"/>+ </macro>+ <macro name="collection-title">+ <choose>+ <if type="book chapter" match="any">+ <text variable="collection-title"/>+ </if>+ <else>+ <text variable="collection-title" font-style="italic"/>+ </else>+ </choose>+ </macro>+ <macro name="series-episode">+ <choose>+ <if type="broadcast" match="any">+ <text variable="collection-number" prefix="Series "/>+ <choose>+ <if match="all" variable="number">+ <text variable="number" prefix=", episode " suffix="."/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="single-quote-title">+ <text variable="title" quotes="true"/>+ </macro>+ <macro name="translator">+ <text term="translator" form="short" plural="true" text-case="capitalize-first" suffix="."/>+ <names variable="translator" prefix=" " suffix="."/>+ </macro>+ <macro name="original-title">+ <text variable="original-title" font-style="italic" prefix="[" suffix="]"/>+ </macro>+ <macro name="genre">+ <text variable="genre"/>+ </macro>+ <macro name="volume-number">+ <number variable="volume"/>+ </macro>+ <macro name="issue-number">+ <number prefix="(" suffix=")" variable="issue"/>+ </macro>+ <macro name="event-name">+ <text variable="event"/>+ </macro>+ <macro name="event-place">+ <text variable="event-place"/>+ </macro>+ <macro name="event-date">+ <date form="text" variable="event-date">+ <date-part name="day"/>+ <date-part name="month"/>+ </date>+ </macro>+ <macro name="broadcast-details">+ <choose>+ <if type="broadcast interview" match="any">+ <group delimiter=", ">+ <text variable="publisher"/>+ <date form="text" variable="issued" prefix=" ">+ <date-part name="day"/>+ <date-part name="month"/>+ </date>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="scale">+ <text variable="scale"/>+ </macro>+ <macro name="director">+ <text term="director" prefix=":"/>+ <names variable="director"/>+ </macro>+ <macro name="graph-or-figure">+ <choose>+ <if type="graphic" match="any">+ <text value="graph"/>+ </if>+ <else-if type="figure" match="any">+ <text value="fig"/>+ </else-if>+ </choose>+ </macro>+ <macro name="day-month">+ <choose>+ <if type="webpage interview personal_communication post-weblog" match="any">+ <date form="text" date-parts="year-month-day" variable="issued">+ <date-part name="day"/>+ <date-part name="month"/>+ </date>+ </if>+ </choose>+ </macro>+ <macro name="interviewer">+ <names variable="interviewer">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ </names>+ </macro>+ <macro name="recipient">+ <names variable="recipient"/>+ </macro>+ <macro name="substitute-author">+ <choose>+ <if type="broadcast" match="any" variable="container-title">+ <text macro="single-quote-title"/>+ </if>+ <else-if match="any" variable="editor">+ <text macro="editor"/>+ </else-if>+ <else>+ <text macro="italicised-title" suffix="."/>+ </else>+ </choose>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" sort-separator="," disambiguate-add-year-suffix="true" collapse="year" cite-group-delimiter=" ">+ <sort>+ <key macro="author" names-use-last="true"/>+ </sort>+ <layout suffix=")" delimiter="; " prefix="(">+ <group delimiter=" ">+ <text macro="author-short"/>+ <text macro="year-date-citation"/>+ <group>+ <label prefix=": " variable="locator" form="short"/>+ <text variable="locator"/>+ </group>+ </group>+ </layout>+ </citation>+ <bibliography et-al-use-first="20" et-al-min="19" hanging-indent="false">+ <sort>+ <key macro="author"/>+ <key variable="title"/>+ </sort>+ <layout>+ <text macro="author"/>+ <text macro="year-date-bibliography" prefix=" (" suffix=")"/>+ <choose>+ <if match="all" variable="author collection-title">+ <text macro="single-quote-title"/>+ </if>+ <else-if type="interview" match="all" variable="interviewer container-title">+ <text macro="single-quote-title" prefix=" " suffix="."/>+ </else-if>+ <else-if type="article-journal" match="any">+ <text variable="title" prefix=" " suffix="."/>+ </else-if>+ <else-if match="any" variable="author editor">+ <choose>+ <if type="chapter article-magazine article-newspaper post-weblog" match="any">+ <text macro="standard-title" prefix=" " suffix="."/>+ </if>+ <else>+ <text macro="italicised-title" prefix=" " suffix="."/>+ </else>+ </choose>+ </else-if>+ </choose>+ <text macro="original-title"/>+ <text macro="scale" prefix=" " suffix="."/>+ <text macro="director"/>+ <text macro="translator" prefix=" "/>+ <choose>+ <if type="chapter" match="any">+ <text term="in" text-case="capitalize-first" suffix=":"/>+ </if>+ <else-if type="paper-conference" match="all" variable="container-title">+ <text term="in" text-case="capitalize-first" suffix=": "/>+ </else-if>+ </choose>+ <choose>+ <if match="any" variable="author">+ <text macro="editor" prefix=" "/>+ </if>+ </choose>+ <group delimiter=" for " suffix=".">+ <text macro="interviewer" prefix=" "/>+ <text macro="container-title" prefix=" " suffix="."/>+ </group>+ <text macro="collection-title"/>+ <text macro="series-episode"/>+ <text macro="edition" prefix=" " suffix="."/>+ <text macro="genre"/>+ <text macro="recipient" prefix=" " suffix=","/>+ <text macro="broadcast-details" prefix=" "/>+ <text macro="day-month"/>+ <text macro="medium-online" prefix=" "/>+ <group>+ <text macro="event-name"/>+ <choose>+ <if match="none" variable="publisher-place">+ <text macro="event-place"/>+ </if>+ </choose>+ <text macro="event-date"/>+ </group>+ <choose>+ <if type="broadcast interview" match="none">+ <group delimiter=", " prefix=" " suffix=".">+ <group>+ <text macro="volume-number" prefix=" "/>+ <text macro="issue-number" prefix=" "/>+ </group>+ <text variable="publisher-place"/>+ <text variable="publisher" prefix=" "/>+ <text macro="pages" prefix=" "/>+ <text macro="graph-or-figure" prefix=" " suffix="."/>+ </group>+ </if>+ </choose>+ <text suffix="." prefix=" " macro="available-from-access"/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2015+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 2015+ ]+ ]+ },+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_CiteGroupDelimiterWithYearSuffixCollapse.txt view
@@ -0,0 +1,97 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+(Aalto 2015a, b)+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name form="short" />+ </names>+ </macro>+ <citation collapse="year-suffix" cite-group-delimiter=", " disambiguate-add-year-suffix="true">+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=" ">+ <text macro="author"/>+ <date variable="issued" form="text" date-parts="year"/> + </group>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <text value="bogus"/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2015+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 2015+ ]+ ]+ },+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_CiteGroupDelimiterWithYearSuffixCollapse2.txt view
@@ -0,0 +1,808 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+(Aalto 2015a,b; Bartleby 2010; Aalto 2015c–e)+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-4"+ },+ {+ "id": "ITEM-5"+ },+ {+ "id": "ITEM-6"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="UTF-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="never" page-range-format="chicago">+ <info>+ <title>Chicago Manual of Style 16th edition (author-date)</title>+ <id>http://www.zotero.org/styles/chicago-author-date</id>+ <link href="http://www.zotero.org/styles/chicago-author-date" rel="self"/>+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Sebastian Karcher</name>+ </contributor>+ <contributor>+ <name>Richard Karnesky</name>+ <email>karnesky+zotero@gmail.com</email>+ <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>+ </contributor>+ <contributor>+ <name>Andrew Dunning</name>+ <email>andrew.dunning@utoronto.ca</email>+ </contributor>+ <category citation-format="author-date"/>+ <category field="generic-base"/>+ <summary>The author-date variant of the Chicago style</summary>+ <updated>2015-12-16T02:32:01+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale xml:lang="en">+ <terms>+ <term name="editor" form="verb-short">ed.</term>+ <term name="container-author" form="verb">by</term>+ <term name="translator" form="verb-short">trans.</term>+ <term name="editortranslator" form="verb">+ <single>edited and translated by</single>+ <multiple>edited and translated by</multiple>+ </term>+ <term name="translator" form="short">trans.</term>+ </terms>+ </locale>+ <macro name="secondary-contributors">+ <choose>+ <if type="chapter paper-conference" match="none">+ <group delimiter=". ">+ <names variable="editor translator" delimiter=". ">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ <names variable="director" delimiter=". ">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference" match="any">+ <group prefix=", " delimiter=", ">+ <names variable="container-author" delimiter=", ">+ <label form="verb" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ <names variable="editor translator" delimiter=", ">+ <label form="verb" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", "/>+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", "/>+ </names>+ </macro>+ <macro name="recipient">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ <else>+ <text term="letter" text-case="capitalize-first"/>+ </else>+ </choose>+ </if>+ </choose>+ <names variable="recipient" delimiter=", ">+ <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="substitute-title">+ <choose>+ <if type="article-magazine article-newspaper review review-book" match="any">+ <text macro="container-title"/>+ </if>+ </choose>+ </macro>+ <macro name="contributors">+ <group delimiter=". ">+ <names variable="author">+ <name and="text" name-as-sort-order="first" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <names variable="director"/>+ <text macro="substitute-title"/>+ <text macro="title"/>+ </substitute>+ </names>+ <text macro="recipient"/>+ </group>+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <names variable="director"/>+ <text macro="substitute-title"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="interviewer">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" prefix=" " text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="archive">+ <group delimiter=". ">+ <text variable="archive_location" text-case="capitalize-first"/>+ <text variable="archive"/>+ <text variable="archive-place"/>+ </group>+ </macro>+ <macro name="access">+ <group delimiter=". ">+ <choose>+ <if type="graphic report" match="any">+ <text macro="archive"/>+ </if>+ <else-if type="article-journal bill book chapter legal_case legislation motion_picture paper-conference" match="none">+ <text macro="archive"/>+ </else-if>+ </choose>+ <choose>+ <if type="webpage post-weblog" match="any">+ <date variable="issued" delimiter=" ">+ <date-part name="month"/>+ <date-part name="day"/>+ </date>+ </if>+ </choose>+ <choose>+ <if variable="issued" match="none">+ <group delimiter=" ">+ <text term="accessed" text-case="capitalize-first"/>+ <date variable="accessed" delimiter=" ">+ <date-part name="month"/>+ <date-part name="day"/>+ </date>+ </group>+ </if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix="doi:"/>+ </if>+ <else>+ <text variable="URL"/>+ </else>+ </choose>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="title">+ <choose>+ <if variable="title" match="none">+ <choose>+ <if type="personal_communication" match="none">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ </choose>+ </if>+ <else-if type="bill book graphic legislation motion_picture song" match="any">+ <text variable="title" text-case="title" font-style="italic"/>+ <group prefix=" (" suffix=")" delimiter=" ">+ <text term="version"/>+ <text variable="version"/>+ </group>+ </else-if>+ <else-if variable="reviewed-author">+ <choose>+ <if variable="reviewed-title">+ <group delimiter=". ">+ <text variable="title" text-case="title" quotes="true"/>+ <group delimiter=", ">+ <text variable="reviewed-title" text-case="title" font-style="italic" prefix="Review of "/>+ <names variable="reviewed-author">+ <label form="verb-short" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </group>+ </if>+ <else>+ <group delimiter=", ">+ <text variable="title" text-case="title" font-style="italic" prefix="Review of "/>+ <names variable="reviewed-author">+ <label form="verb-short" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </else>+ </choose>+ </else-if>+ <else-if type="legal_case interview patent" match="any">+ <text variable="title"/>+ </else-if>+ <else>+ <text variable="title" text-case="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" " prefix=". ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" text-case="capitalize-first" prefix=". "/>+ </else>+ </choose>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" " prefix=", ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short"/>+ </group>+ </if>+ <else>+ <text variable="edition" prefix=", "/>+ </else>+ </choose>+ </else-if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <choose>+ <if variable="volume">+ <text variable="volume" prefix=" "/>+ <group prefix=" (" suffix=")">+ <choose>+ <if variable="issue">+ <text variable="issue"/>+ </if>+ <else>+ <date variable="issued">+ <date-part name="month"/>+ </date>+ </else>+ </choose>+ </group>+ </if>+ <else-if variable="issue">+ <group delimiter=" " prefix=", ">+ <text term="issue" form="short"/>+ <text variable="issue"/>+ <date variable="issued" prefix="(" suffix=")">+ <date-part name="month"/>+ </date>+ </group>+ </else-if>+ <else>+ <date variable="issued" prefix=", ">+ <date-part name="month"/>+ </date>+ </else>+ </choose>+ </if>+ <else-if type="legal_case">+ <text variable="volume" prefix=", "/>+ <text variable="container-title" prefix=" "/>+ <text variable="page" prefix=" "/>+ </else-if>+ <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <group prefix=". " delimiter=". ">+ <group>+ <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>+ <number variable="volume" form="numeric"/>+ </group>+ <group>+ <number variable="number-of-volumes" form="numeric"/>+ <text term="volume" form="short" prefix=" " plural="true"/>+ </group>+ </group>+ </else-if>+ <else-if type="chapter paper-conference" match="any">+ <choose>+ <if variable="page" match="none">+ <group prefix=". ">+ <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>+ <number variable="volume" form="numeric"/>+ </group>+ </if>+ </choose>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter paper-conference" match="any">+ <choose>+ <if variable="page">+ <group prefix=", ">+ <text variable="volume" suffix=":"/>+ <text variable="page"/>+ </group>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-article">+ <choose>+ <if type="article-newspaper">+ <group prefix=", " delimiter=", ">+ <group delimiter=" ">+ <text variable="edition"/>+ <text term="edition"/>+ </group>+ <group>+ <text term="section" form="short" suffix=" "/>+ <text variable="section"/>+ </group>+ </group>+ </if>+ <else-if type="article-journal">+ <choose>+ <if variable="volume issue" match="any">+ <text variable="page" prefix=": "/>+ </if>+ <else>+ <text variable="page" prefix=", "/>+ </else>+ </choose>+ </else-if>+ </choose>+ </macro>+ <macro name="point-locators">+ <choose>+ <if variable="locator">+ <choose>+ <if locator="page" match="none">+ <choose>+ <if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <choose>+ <if variable="volume">+ <group>+ <text term="volume" form="short" suffix=" "/>+ <number variable="volume" form="numeric"/>+ <label variable="locator" form="short" prefix=", " suffix=" "/>+ </group>+ </if>+ <else>+ <label variable="locator" form="short" suffix=" "/>+ </else>+ </choose>+ </if>+ <else>+ <label variable="locator" form="short" suffix=" "/>+ </else>+ </choose>+ </if>+ <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <number variable="volume" form="numeric" suffix=":"/>+ </else-if>+ </choose>+ <text variable="locator"/>+ </if>+ </choose>+ </macro>+ <macro name="container-prefix">+ <text term="in" text-case="capitalize-first"/>+ </macro>+ <macro name="container-title">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text macro="container-prefix" suffix=" "/>+ </if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <text variable="container-title" text-case="title" font-style="italic"/>+ </if>+ </choose>+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </macro>+ <macro name="date">+ <choose>+ <if variable="issued">+ <group delimiter=" ">+ <date variable="original-date" form="text" date-parts="year" prefix="(" suffix=")"/>+ <group>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="year-suffix"/>+ </group>+ </group>+ </if>+ <else-if variable="accessed">+ <date variable="accessed">+ <date-part name="year"/>+ </date>+ </else-if>+ <else-if variable="status">+ <text variable="status" text-case="capitalize-first"/>+ </else-if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="date-in-text">+ <choose>+ <if variable="issued">+ <group delimiter=" ">+ <date variable="original-date" form="text" date-parts="year" prefix="[" suffix="]"/>+ <group>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="year-suffix"/>+ </group>+ </group>+ </if>+ <else-if variable="accessed">+ <date variable="accessed">+ <date-part name="year"/>+ </date>+ </else-if>+ <else-if variable="status">+ <text variable="status"/>+ </else-if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="day-month">+ <date variable="issued">+ <date-part name="month"/>+ <date-part name="day" prefix=" "/>+ </date>+ </macro>+ <macro name="collection-title">+ <choose>+ <if match="none" type="article-journal">+ <choose>+ <if match="none" is-numeric="collection-number">+ <group delimiter=", ">+ <text variable="collection-title" text-case="title"/>+ <text variable="collection-number"/>+ </group>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="collection-title" text-case="title"/>+ <text variable="collection-number"/>+ </group>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="collection-title-journal">+ <choose>+ <if type="article-journal">+ <group delimiter=" ">+ <text variable="collection-title"/>+ <text variable="collection-number"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="event">+ <group>+ <text term="presented at" suffix=" "/>+ <text variable="event"/>+ </group>+ </macro>+ <macro name="description">+ <choose>+ <if type="interview">+ <group delimiter=". ">+ <text macro="interviewer"/>+ <text variable="medium" text-case="capitalize-first"/>+ </group>+ </if>+ <else-if type="patent">+ <group delimiter=" " prefix=". ">+ <text variable="authority"/>+ <text variable="number"/>+ </group>+ </else-if>+ <else>+ <text variable="medium" text-case="capitalize-first" prefix=". "/>+ </else>+ </choose>+ <choose>+ <if variable="title" match="none"/>+ <else-if type="thesis personal_communication speech" match="any"/>+ <else>+ <group delimiter=" " prefix=". ">+ <text variable="genre" text-case="capitalize-first"/>+ <choose>+ <if type="report">+ <text variable="number"/>+ </if>+ </choose>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="legal_case">+ <text variable="authority" prefix=". "/>+ </if>+ <else-if type="speech">+ <group prefix=". " delimiter=", ">+ <group delimiter=" ">+ <text variable="genre" text-case="capitalize-first"/>+ <text macro="event"/>+ </group>+ <text variable="event-place"/>+ <text macro="day-month"/>+ </group>+ </else-if>+ <else-if type="article-newspaper article-magazine personal_communication" match="any">+ <text macro="day-month" prefix=", "/>+ </else-if>+ <else-if type="patent">+ <group delimiter=", " prefix=", ">+ <group delimiter=" ">+ <!--Needs Localization-->+ <text value="filed"/>+ <date variable="submitted" form="text"/>+ </group>+ <group delimiter=" ">+ <choose>+ <if variable="issued submitted" match="all">+ <text term="and"/>+ </if>+ </choose>+ <!--Needs Localization-->+ <text value="issued"/>+ <date variable="issued" form="text"/>+ </group>+ </group>+ </else-if>+ <else>+ <group prefix=". " delimiter=", ">+ <choose>+ <if type="thesis">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ </choose>+ <text macro="publisher"/>+ </group>+ </else>+ </choose>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" sort-separator="," disambiguate-add-year-suffix="true" collapse="year-suffix-ranged" cite-group-delimiter=",">+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <choose>+ <if variable="issued accessed" match="any">+ <group delimiter=" ">+ <text macro="contributors-short"/>+ <text macro="date-in-text"/>+ </group>+ </if>+ <!---comma before forthcoming and n.d.-->+ <else>+ <group delimiter=", ">+ <text macro="contributors-short"/>+ <text macro="date-in-text"/>+ </group>+ </else>+ </choose>+ <text macro="point-locators"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="11" et-al-use-first="7" subsequent-author-substitute="———" entry-spacing="0">+ <sort>+ <key macro="contributors"/>+ <key variable="issued"/>+ <key variable="title"/>+ </sort>+ <layout suffix=".">+ <group delimiter=". ">+ <text macro="contributors"/>+ <text macro="date"/>+ <text macro="title"/>+ </group>+ <text macro="description"/>+ <text macro="secondary-contributors" prefix=". "/>+ <text macro="container-title" prefix=". "/>+ <text macro="container-contributors"/>+ <text macro="edition"/>+ <text macro="locators-chapter"/>+ <text macro="collection-title-journal" prefix=", " suffix=", "/>+ <text macro="locators"/>+ <text macro="collection-title" prefix=". "/>+ <text macro="issue"/>+ <text macro="locators-article"/>+ <text macro="access" prefix=". "/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2015+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 2015+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Bartleby",+ "given": "Brian"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ 2010+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-4",+ "issued": {+ "date-parts": [+ [+ 2015+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-5",+ "issued": {+ "date-parts": [+ [+ 2015+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-6",+ "issued": {+ "date-parts": [+ [+ 2015+ ]+ ]+ },+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<++>>===== DESCRIPTION =====>>+Cite grouping is applied only if the citations are sorted in some way, otherwise they should be rendered in entry order.+<<===== DESCRIPTION =====<<
+ test/csl/name_CiteGroupDelimiterWithYearSuffixCollapse3.txt view
@@ -0,0 +1,739 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+(Aalto 2015a,b; Bartleby 2010)+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="UTF-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="never" page-range-format="chicago">+ <info>+ <title>Chicago Manual of Style 16th edition (author-date)</title>+ <id>http://www.zotero.org/styles/chicago-author-date</id>+ <link href="http://www.zotero.org/styles/chicago-author-date" rel="self"/>+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Sebastian Karcher</name>+ </contributor>+ <contributor>+ <name>Richard Karnesky</name>+ <email>karnesky+zotero@gmail.com</email>+ <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>+ </contributor>+ <contributor>+ <name>Andrew Dunning</name>+ <email>andrew.dunning@utoronto.ca</email>+ </contributor>+ <category citation-format="author-date"/>+ <category field="generic-base"/>+ <summary>The author-date variant of the Chicago style</summary>+ <updated>2015-12-16T02:32:01+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale xml:lang="en">+ <terms>+ <term name="editor" form="verb-short">ed.</term>+ <term name="container-author" form="verb">by</term>+ <term name="translator" form="verb-short">trans.</term>+ <term name="editortranslator" form="verb">+ <single>edited and translated by</single>+ <multiple>edited and translated by</multiple>+ </term>+ <term name="translator" form="short">trans.</term>+ </terms>+ </locale>+ <macro name="secondary-contributors">+ <choose>+ <if type="chapter paper-conference" match="none">+ <group delimiter=". ">+ <names variable="editor translator" delimiter=". ">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ <names variable="director" delimiter=". ">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference" match="any">+ <group prefix=", " delimiter=", ">+ <names variable="container-author" delimiter=", ">+ <label form="verb" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ <names variable="editor translator" delimiter=", ">+ <label form="verb" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", "/>+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", "/>+ </names>+ </macro>+ <macro name="recipient">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ <else>+ <text term="letter" text-case="capitalize-first"/>+ </else>+ </choose>+ </if>+ </choose>+ <names variable="recipient" delimiter=", ">+ <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="substitute-title">+ <choose>+ <if type="article-magazine article-newspaper review review-book" match="any">+ <text macro="container-title"/>+ </if>+ </choose>+ </macro>+ <macro name="contributors">+ <group delimiter=". ">+ <names variable="author">+ <name and="text" name-as-sort-order="first" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <names variable="director"/>+ <text macro="substitute-title"/>+ <text macro="title"/>+ </substitute>+ </names>+ <text macro="recipient"/>+ </group>+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <names variable="director"/>+ <text macro="substitute-title"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="interviewer">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" prefix=" " text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="archive">+ <group delimiter=". ">+ <text variable="archive_location" text-case="capitalize-first"/>+ <text variable="archive"/>+ <text variable="archive-place"/>+ </group>+ </macro>+ <macro name="access">+ <group delimiter=". ">+ <choose>+ <if type="graphic report" match="any">+ <text macro="archive"/>+ </if>+ <else-if type="article-journal bill book chapter legal_case legislation motion_picture paper-conference" match="none">+ <text macro="archive"/>+ </else-if>+ </choose>+ <choose>+ <if type="webpage post-weblog" match="any">+ <date variable="issued" delimiter=" ">+ <date-part name="month"/>+ <date-part name="day"/>+ </date>+ </if>+ </choose>+ <choose>+ <if variable="issued" match="none">+ <group delimiter=" ">+ <text term="accessed" text-case="capitalize-first"/>+ <date variable="accessed" delimiter=" ">+ <date-part name="month"/>+ <date-part name="day"/>+ </date>+ </group>+ </if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix="doi:"/>+ </if>+ <else>+ <text variable="URL"/>+ </else>+ </choose>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="title">+ <choose>+ <if variable="title" match="none">+ <choose>+ <if type="personal_communication" match="none">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ </choose>+ </if>+ <else-if type="bill book graphic legislation motion_picture song" match="any">+ <text variable="title" text-case="title" font-style="italic"/>+ <group prefix=" (" suffix=")" delimiter=" ">+ <text term="version"/>+ <text variable="version"/>+ </group>+ </else-if>+ <else-if variable="reviewed-author">+ <choose>+ <if variable="reviewed-title">+ <group delimiter=". ">+ <text variable="title" text-case="title" quotes="true"/>+ <group delimiter=", ">+ <text variable="reviewed-title" text-case="title" font-style="italic" prefix="Review of "/>+ <names variable="reviewed-author">+ <label form="verb-short" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </group>+ </if>+ <else>+ <group delimiter=", ">+ <text variable="title" text-case="title" font-style="italic" prefix="Review of "/>+ <names variable="reviewed-author">+ <label form="verb-short" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </else>+ </choose>+ </else-if>+ <else-if type="legal_case interview patent" match="any">+ <text variable="title"/>+ </else-if>+ <else>+ <text variable="title" text-case="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" " prefix=". ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" text-case="capitalize-first" prefix=". "/>+ </else>+ </choose>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" " prefix=", ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short"/>+ </group>+ </if>+ <else>+ <text variable="edition" prefix=", "/>+ </else>+ </choose>+ </else-if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <choose>+ <if variable="volume">+ <text variable="volume" prefix=" "/>+ <group prefix=" (" suffix=")">+ <choose>+ <if variable="issue">+ <text variable="issue"/>+ </if>+ <else>+ <date variable="issued">+ <date-part name="month"/>+ </date>+ </else>+ </choose>+ </group>+ </if>+ <else-if variable="issue">+ <group delimiter=" " prefix=", ">+ <text term="issue" form="short"/>+ <text variable="issue"/>+ <date variable="issued" prefix="(" suffix=")">+ <date-part name="month"/>+ </date>+ </group>+ </else-if>+ <else>+ <date variable="issued" prefix=", ">+ <date-part name="month"/>+ </date>+ </else>+ </choose>+ </if>+ <else-if type="legal_case">+ <text variable="volume" prefix=", "/>+ <text variable="container-title" prefix=" "/>+ <text variable="page" prefix=" "/>+ </else-if>+ <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <group prefix=". " delimiter=". ">+ <group>+ <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>+ <number variable="volume" form="numeric"/>+ </group>+ <group>+ <number variable="number-of-volumes" form="numeric"/>+ <text term="volume" form="short" prefix=" " plural="true"/>+ </group>+ </group>+ </else-if>+ <else-if type="chapter paper-conference" match="any">+ <choose>+ <if variable="page" match="none">+ <group prefix=". ">+ <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>+ <number variable="volume" form="numeric"/>+ </group>+ </if>+ </choose>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter paper-conference" match="any">+ <choose>+ <if variable="page">+ <group prefix=", ">+ <text variable="volume" suffix=":"/>+ <text variable="page"/>+ </group>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-article">+ <choose>+ <if type="article-newspaper">+ <group prefix=", " delimiter=", ">+ <group delimiter=" ">+ <text variable="edition"/>+ <text term="edition"/>+ </group>+ <group>+ <text term="section" form="short" suffix=" "/>+ <text variable="section"/>+ </group>+ </group>+ </if>+ <else-if type="article-journal">+ <choose>+ <if variable="volume issue" match="any">+ <text variable="page" prefix=": "/>+ </if>+ <else>+ <text variable="page" prefix=", "/>+ </else>+ </choose>+ </else-if>+ </choose>+ </macro>+ <macro name="point-locators">+ <choose>+ <if variable="locator">+ <choose>+ <if locator="page" match="none">+ <choose>+ <if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <choose>+ <if variable="volume">+ <group>+ <text term="volume" form="short" suffix=" "/>+ <number variable="volume" form="numeric"/>+ <label variable="locator" form="short" prefix=", " suffix=" "/>+ </group>+ </if>+ <else>+ <label variable="locator" form="short" suffix=" "/>+ </else>+ </choose>+ </if>+ <else>+ <label variable="locator" form="short" suffix=" "/>+ </else>+ </choose>+ </if>+ <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <number variable="volume" form="numeric" suffix=":"/>+ </else-if>+ </choose>+ <text variable="locator"/>+ </if>+ </choose>+ </macro>+ <macro name="container-prefix">+ <text term="in" text-case="capitalize-first"/>+ </macro>+ <macro name="container-title">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text macro="container-prefix" suffix=" "/>+ </if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <text variable="container-title" text-case="title" font-style="italic"/>+ </if>+ </choose>+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </macro>+ <macro name="date">+ <choose>+ <if variable="issued">+ <group delimiter=" ">+ <date variable="original-date" form="text" date-parts="year" prefix="(" suffix=")"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </if>+ <else-if variable="accessed">+ <date variable="accessed">+ <date-part name="year"/>+ </date>+ </else-if>+ <else-if variable="status">+ <text variable="status" text-case="capitalize-first"/>+ </else-if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="date-in-text">+ <choose>+ <if variable="issued">+ <group delimiter=" ">+ <date variable="original-date" form="text" date-parts="year" prefix="[" suffix="]"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </if>+ <else-if variable="accessed">+ <date variable="accessed">+ <date-part name="year"/>+ </date>+ </else-if>+ <else-if variable="status">+ <text variable="status"/>+ </else-if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="day-month">+ <date variable="issued">+ <date-part name="month"/>+ <date-part name="day" prefix=" "/>+ </date>+ </macro>+ <macro name="collection-title">+ <choose>+ <if match="none" type="article-journal">+ <choose>+ <if match="none" is-numeric="collection-number">+ <group delimiter=", ">+ <text variable="collection-title" text-case="title"/>+ <text variable="collection-number"/>+ </group>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="collection-title" text-case="title"/>+ <text variable="collection-number"/>+ </group>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="collection-title-journal">+ <choose>+ <if type="article-journal">+ <group delimiter=" ">+ <text variable="collection-title"/>+ <text variable="collection-number"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="event">+ <group>+ <text term="presented at" suffix=" "/>+ <text variable="event"/>+ </group>+ </macro>+ <macro name="description">+ <choose>+ <if type="interview">+ <group delimiter=". ">+ <text macro="interviewer"/>+ <text variable="medium" text-case="capitalize-first"/>+ </group>+ </if>+ <else-if type="patent">+ <group delimiter=" " prefix=". ">+ <text variable="authority"/>+ <text variable="number"/>+ </group>+ </else-if>+ <else>+ <text variable="medium" text-case="capitalize-first" prefix=". "/>+ </else>+ </choose>+ <choose>+ <if variable="title" match="none"/>+ <else-if type="thesis personal_communication speech" match="any"/>+ <else>+ <group delimiter=" " prefix=". ">+ <text variable="genre" text-case="capitalize-first"/>+ <choose>+ <if type="report">+ <text variable="number"/>+ </if>+ </choose>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="legal_case">+ <text variable="authority" prefix=". "/>+ </if>+ <else-if type="speech">+ <group prefix=". " delimiter=", ">+ <group delimiter=" ">+ <text variable="genre" text-case="capitalize-first"/>+ <text macro="event"/>+ </group>+ <text variable="event-place"/>+ <text macro="day-month"/>+ </group>+ </else-if>+ <else-if type="article-newspaper article-magazine personal_communication" match="any">+ <text macro="day-month" prefix=", "/>+ </else-if>+ <else-if type="patent">+ <group delimiter=", " prefix=", ">+ <group delimiter=" ">+ <!--Needs Localization-->+ <text value="filed"/>+ <date variable="submitted" form="text"/>+ </group>+ <group delimiter=" ">+ <choose>+ <if variable="issued submitted" match="all">+ <text term="and"/>+ </if>+ </choose>+ <!--Needs Localization-->+ <text value="issued"/>+ <date variable="issued" form="text"/>+ </group>+ </group>+ </else-if>+ <else>+ <group prefix=". " delimiter=", ">+ <choose>+ <if type="thesis">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ </choose>+ <text macro="publisher"/>+ </group>+ </else>+ </choose>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" sort-separator="," disambiguate-add-year-suffix="true" collapse="year-suffix" cite-group-delimiter=",">+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <choose>+ <if variable="issued accessed" match="any">+ <group delimiter=" ">+ <text macro="contributors-short"/>+ <text macro="date-in-text"/>+ </group>+ </if>+ <!---comma before forthcoming and n.d.-->+ <else>+ <group delimiter=", ">+ <text macro="contributors-short"/>+ <text macro="date-in-text"/>+ </group>+ </else>+ </choose>+ <text macro="point-locators"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="11" et-al-use-first="7" subsequent-author-substitute="———" entry-spacing="0">+ <sort>+ <key macro="contributors"/>+ <key variable="issued"/>+ <key variable="title"/>+ </sort>+ <layout suffix=".">+ <group delimiter=". ">+ <text macro="contributors"/>+ <text macro="date"/>+ <text macro="title"/>+ </group>+ <text macro="description"/>+ <text macro="secondary-contributors" prefix=". "/>+ <text macro="container-title" prefix=". "/>+ <text macro="container-contributors"/>+ <text macro="edition"/>+ <text macro="locators-chapter"/>+ <text macro="collection-title-journal" prefix=", " suffix=", "/>+ <text macro="locators"/>+ <text macro="collection-title" prefix=". "/>+ <text macro="issue"/>+ <text macro="locators-article"/>+ <text macro="access" prefix=". "/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2015+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 2015+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Bartleby",+ "given": "Brian"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ 2010+ ]+ ]+ },+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_CollapseRoleLabels.txt view
@@ -0,0 +1,93 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Albert Asthma et al. (eds. & trans.)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale xml:lang="en">+ <terms>+ <term form="short" name="editortranslator">+ <single>ed. & trans.</single>+ <multiple>eds. & trans.</multiple>+ </term>+ </terms>+ </locale>+ <citation + et-al-min="3"+ et-al-use-first="1">+ <layout delimiter="; ">+ <names delimiter=", " variable="editor translator">+ <name delimiter=", " />+ <label form="short" prefix=" (" suffix=")" />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "editor": [+ {+ "family": "Asthma",+ "given": "Albert"+ },+ {+ "family": "Bronchitis",+ "given": "Bosworth"+ },+ {+ "family": "Cold",+ "given": "Crispin"+ }+ ],+ "id": "editor-translator-1",+ "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ },+ "title": "Book One",+ "translator": [+ {+ "family": "Asthma",+ "given": "Albert"+ },+ {+ "family": "Bronchitis",+ "given": "Bosworth"+ },+ {+ "family": "Cold",+ "given": "Crispin"+ }+ ],+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_Delimiter.txt view
@@ -0,0 +1,79 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+John Doe; Jane Roe OR Doe Inc.; Doe Inc.; Noakes Inc.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter=" OR ">+ <names variable="author">+ <name delimiter="; ">+ <name-part name="family" />+ </name>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "item-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe Inc.",+ "given": "",+ "isInstitution": true+ },+ {+ "family": "Doe Inc.",+ "given": "",+ "isInstitution": true+ },+ {+ "family": "Noakes Inc.",+ "given": "",+ "isInstitution": true+ }+ ],+ "id": "item-2",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_DelimiterAfterInverted.txt view
@@ -0,0 +1,112 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++>>===== DESCRIPTION =====>>+set delimiter +<<===== DESCRIPTION =====<<++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Australian Government Productivity Commission & New Zealand Productivity Commission</div>+ <div class="csl-entry">Weinstock, R., Leong, G. B., & Silva, J. A.</div>+</div>+<<===== RESULT =====<<++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" page-range-format="minimal-two" default-locale="fr-FR">+ <info>+ <title>Delimiters with after-inverted-name</title>+ <title-short>dates_ranges_ordinal_french</title-short>+ <id>http://www.zotero.org/styles/delimter_after_inverted_name</id>+ <link rel="self" href="http://www.zotero.org/styles/delimter_after_inverted_name"/>+ <author>+ <name/>+ </author>+ <category citation-format="author-date"/>+ <updated>2020-06-27T10:27:51+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <citation>+ <layout delimiter=" ; ">+ <names variable="author">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with=". " delimiter=", " delimiter-precedes-last="after-inverted-name"/>+ </names>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with=". " delimiter=", " delimiter-precedes-last="after-inverted-name"/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<++>>===== INPUT =====>>+[+ {+ "id": "AustralianGovernmentProductivityCommissionStrengtheningtransTasmaneconomic2012",+ "author": [+ {+ "literal": "Australian Government Productivity Commission"+ },+ {+ "literal": "New Zealand Productivity Commission"+ }+ ],+ "issued": {+ "date-parts": [+ [+ 2012+ ]+ ]+ },+ "title": "Strengthening trans-Tasman economic relations",+ "type": "report",+ "URL": "https://www.pc.gov.au/inquiries/completed/australia-new-zealand/report/trans-tasman.pdf"+ },+ {+ "id": "WeinstockDefiningforensicpsychiatry2003",+ "author": [+ {+ "family": "Weinstock",+ "given": "R."+ },+ {+ "family": "Leong",+ "given": "G. B."+ },+ {+ "family": "Silva",+ "given": "J. A."+ }+ ],+ "container-title": "Principles and practice of forensic psychiatry",+ "edition": "2",+ "editor": [+ {+ "family": "Rosner",+ "given": "R."+ }+ ],+ "issued": {+ "date-parts": [+ [+ 2003+ ]+ ]+ },+ "page": "7-13",+ "publisher": "CRC Press",+ "title": "Defining forensic psychiatry: Roles and responsibilities",+ "type": "chapter"+ }+]+<<===== INPUT =====<<++>>===== VERSION =====>>+1.0.1+<<===== VERSION =====<<
+ test/csl/name_EditorTranslatorBoth.txt view
@@ -0,0 +1,225 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Noakes, Richard. <i>Hello</i>. Ed. by John Doe. Trans. by Jane Roe.</div>+</div>+<<===== RESULT =====<<+++mla-x.csl+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="in-text"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="editor-translator">+ <names variable="editor translator" delimiter=". ">+ <label form="verb-short" text-case="capitalize-first" suffix=" "/>+ <name and="symbol" delimiter=", "/>+ </names>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", " suffix="." strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="title-short">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" form="short" font-style="italic"/>+ </if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition"/>+ </else>+ </choose>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="symbol" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title-short"/>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <group delimiter=" ">+ <date variable="accessed">+ <date-part name="day" suffix=" "/>+ <date-part name="month" form="short" suffix=" "/>+ <date-part name="year"/>+ </date>+ <text variable="URL" prefix="<" suffix=">"/>+ </group>+ </macro>+ <macro name="title">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else>+ <text variable="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher-year">+ <group delimiter=", ">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" disambiguate-add-names="true" disambiguate-add-givenname="true">+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=" ">+ <choose>+ <if variable="author editor translator" match="any">+ <group delimiter=", ">+ <text macro="author-short"/>+ <choose>+ <if disambiguate="true">+ <text macro="title-short"/>+ </if>+ </choose>+ </group>+ </if>+ <else>+ <text macro="title-short"/>+ </else>+ </choose>+ <text variable="locator"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="4" et-al-use-first="1" line-spacing="2" subsequent-author-substitute="---">+ <sort>+ <key macro="author"/>+ <key variable="title"/>+ </sort>+ <layout>+ <text macro="author" suffix="."/>+ <text macro="title" prefix=" " suffix="."/>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text macro="edition" prefix=" " suffix="."/>+ <text macro="editor-translator" prefix=" " suffix="."/>+ <text macro="publisher-year" prefix=" " suffix="."/>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <group>+ <text variable="container-title" font-style="italic" prefix=" " suffix="."/>+ <text macro="edition" prefix=" " suffix="."/>+ <text macro="editor-translator" prefix=" " suffix="."/>+ <text macro="publisher-year" prefix=" " suffix="."/>+ </group>+ <text variable="page" prefix=" " suffix="."/>+ </else-if>+ <else>+ <group prefix=" " suffix="." delimiter=": ">+ <group delimiter=" ">+ <text macro="editor-translator" suffix="."/>+ <text variable="container-title" font-style="italic"/>+ <choose>+ <if type="article-journal">+ <group delimiter=" ">+ <group delimiter=".">+ <text variable="volume"/>+ <text variable="issue"/>+ </group>+ <date variable="issued" prefix="(" suffix=")">+ <date-part name="year"/>+ </date>+ </group>+ </if>+ <else>+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" form="short" suffix=" "/>+ <date-part name="year"/>+ </date>+ </else>+ </choose>+ </group>+ <text variable="page"/>+ </group>+ </else>+ </choose>+ <text prefix=" " suffix="." macro="access"/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<++++++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Noakes",+ "given": "Richard"+ }+ ],+ "editor": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "title": "Hello",+ "translator": [+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_EditorTranslatorSameEmptyTerm.txt view
@@ -0,0 +1,64 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+John Doe (editor), John Doe (translator)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <terms>+ <term name="editortranslator"></term>+ </terms>+ </locale>+ <citation>+ <layout>+ <names variable="editor translator" delimiter=", ">+ <name />+ <label prefix=" (" suffix=")"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "editor": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "translator": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_EditorTranslatorSameWithTerm.txt view
@@ -0,0 +1,65 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++The result will differ with in-text style in citeproc-js (only one+name variable will be rendered). That would be the right result for+most in-text styles, but would be unwanted in an in-text note+style. A CSL extension (note-in-text?) would cover that case.+++>>===== RESULT =====>>+John Doe (ed. & tran.)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="editor translator" delimiter=", ">+ <name />+ <label form="short" prefix=" (" suffix=")"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "editor": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "translator": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_EditorTranslatorWithTranslatorOnlyBib.txt view
@@ -0,0 +1,219 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Noakes, Richard. <i>Hello</i>. Trans. by Jane Roe.</div>+</div>+<<===== RESULT =====<<+++mla-x.csl+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="in-text"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="editor-translator">+ <names variable="editor translator" delimiter=". ">+ <label form="verb-short" text-case="capitalize-first" suffix=" "/>+ <name and="symbol" delimiter=", "/>+ </names>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", " suffix="." strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="title-short">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" form="short" font-style="italic"/>+ </if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition"/>+ </else>+ </choose>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="symbol" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title-short"/>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <group delimiter=" ">+ <date variable="accessed">+ <date-part name="day" suffix=" "/>+ <date-part name="month" form="short" suffix=" "/>+ <date-part name="year"/>+ </date>+ <text variable="URL" prefix="<" suffix=">"/>+ </group>+ </macro>+ <macro name="title">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else>+ <text variable="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher-year">+ <group delimiter=", ">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" disambiguate-add-names="true" disambiguate-add-givenname="true">+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=" ">+ <choose>+ <if variable="author editor translator" match="any">+ <group delimiter=", ">+ <text macro="author-short"/>+ <choose>+ <if disambiguate="true">+ <text macro="title-short"/>+ </if>+ </choose>+ </group>+ </if>+ <else>+ <text macro="title-short"/>+ </else>+ </choose>+ <text variable="locator"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="4" et-al-use-first="1" line-spacing="2" subsequent-author-substitute="---">+ <sort>+ <key macro="author"/>+ <key variable="title"/>+ </sort>+ <layout>+ <text macro="author" suffix="."/>+ <text macro="title" prefix=" " suffix="."/>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text macro="edition" prefix=" " suffix="."/>+ <text macro="editor-translator" prefix=" " suffix="."/>+ <text macro="publisher-year" prefix=" " suffix="."/>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <group>+ <text variable="container-title" font-style="italic" prefix=" " suffix="."/>+ <text macro="edition" prefix=" " suffix="."/>+ <text macro="editor-translator" prefix=" " suffix="."/>+ <text macro="publisher-year" prefix=" " suffix="."/>+ </group>+ <text variable="page" prefix=" " suffix="."/>+ </else-if>+ <else>+ <group prefix=" " suffix="." delimiter=": ">+ <group delimiter=" ">+ <text macro="editor-translator" suffix="."/>+ <text variable="container-title" font-style="italic"/>+ <choose>+ <if type="article-journal">+ <group delimiter=" ">+ <group delimiter=".">+ <text variable="volume"/>+ <text variable="issue"/>+ </group>+ <date variable="issued" prefix="(" suffix=")">+ <date-part name="year"/>+ </date>+ </group>+ </if>+ <else>+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" form="short" suffix=" "/>+ <date-part name="year"/>+ </date>+ </else>+ </choose>+ </group>+ <text variable="page"/>+ </group>+ </else>+ </choose>+ <text prefix=" " suffix="." macro="access"/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<++++++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Noakes",+ "given": "Richard"+ }+ ],+ "id": "ITEM-1",+ "title": "Hello",+ "translator": [+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_EtAlKanji.txt view
@@ -0,0 +1,64 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Ziggy Zither, 等+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0" et-al-min="3" et-al-use-first="1" delimiter-precedes-et-al="always" default-locale="zh-TW">+ <info>+ <title>Test Style</title>+ <id>http://www.zotero.org/styles/test-style</id>+ <link rel="self" href="http://www.zotero.org/styles/test-style"/>+ <link href="http://www.zotero.org/styles/test-style" rel="documentation"/>+ <author>+ <name>FB</name>+ <email>email@address</email>+ </author>+ <updated>2014-05-18T12:43:24+00:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Zither",+ "given": "Ziggy"+ },+ {+ "family": "Yoda",+ "given": "Yossarian"+ },+ {+ "family": "Xylophone",+ "given": "Xerxes"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_EtAlUseLast.txt view
@@ -0,0 +1,92 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Anderson, John Brown, John Catharsis, John Doldrums, John Evergreen, John Fugedaboutit, … John Houynym</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </citation>+ <bibliography + et-al-min="8"+ et-al-use-first="6"+ et-al-use-last="true">+ <layout>+ <names variable="author">+ <name and="text" delimiter-precedes-last="never"/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Anderson",+ "given": "John"+ },+ {+ "family": "Brown",+ "given": "John"+ },+ {+ "family": "Catharsis",+ "given": "John"+ },+ {+ "family": "Doldrums",+ "given": "John"+ },+ {+ "family": "Evergreen",+ "given": "John"+ },+ {+ "family": "Fugedaboutit",+ "given": "John"+ },+ {+ "family": "Gargoyle",+ "given": "John"+ },+ {+ "family": "Houynym",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_EtAlWithCombined.txt view
@@ -0,0 +1,411 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe。</div>+ <div class="csl-entry">——著,Ziggy Zither等點校。</div>+ <div class="csl-entry">田中太郎, Yossarian Yoda, 等翻譯員。</div>+</div>+<<===== RESULT =====<<++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ]+]+<<===== CITATION-ITEMS =====<<++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0" et-al-min="3" et-al-use-first="2" default-locale="zh-TW">+ <info>+ <title xml:lang="zh-TW">Humanities Chinese</title>+ <id>http://www.zotero.org/styles/humanities-chinese</id>+ <link rel="self" href="http://www.zotero.org/styles/humanities-chinese"/>+ <link href="http://www.zotero.org/styles/humanities-chinese" rel="documentation" xml:lang="zh-TW"/>+ <author>+ <name>Tan Yin Hoe</name>+ <email>astyh83@gmail.com</email>+ </author>+ <updated>2014-05-18T12:43:24+00:00</updated>+ </info>+ <locale xml:lang="zh-TW">+ <date form="text">+ <date-part name="year" suffix="年"/>+ <date-part name="month" form="numeric" suffix="月"/>+ <date-part name="day" suffix="日"/>+ </date>+ </locale>+ <macro name="container-title">+ <choose>+ <if type="chapter paper-conference" match="any">+ <group delimiter=",">+ <group>+ <text value="收錄"/>+ <text macro="container-author" suffix=","/>+ <text variable="container-title" prefix="《" suffix="》"/>+ </group>+ <group>+ <label variable="volume"/>+ <number variable="volume"/>+ </group>+ <group>+ <text term="book"/>+ <text variable="collection-number"/>+ </group>+ </group>+ </if>+ <else-if type="article-journal" match="any">+ <text macro="journal"/>+ </else-if>+ <else>+ <text variable="container-title" prefix="《" suffix="》"/>+ </else>+ </choose>+ </macro>+ <macro name="contributor">+ <choose>+ <if match="all" variable="author editor">+ <group delimiter=",">+ <text macro="labelled-author"/>+ <text macro="labelled-editor"/>+ </group>+ </if>+ <else-if match="all" variable="author translator">+ <group delimiter=",">+ <text macro="labelled-author"/>+ <text macro="labelled-translator"/>+ </group>+ </else-if>+ <else-if match="all" variable="author collection-editor">+ <group delimiter=",">+ <text macro="labelled-author"/>+ <text macro="labelled-series-editor"/>+ </group>+ </else-if>+ <else>+ <names variable="author">+ <name delimiter="、" delimiter-precedes-et-al="never"/>+ <et-al/>+ <substitute>+ <text macro="editor"/>+ <text macro="translator"/>+ <text macro="reviewed-author"/>+ </substitute>+ </names>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if type="article article-journal chapter paper-conference" match="any">+ <text variable="title" prefix="〈" suffix="〉"/>+ </if>+ <else>+ <text variable="title" prefix="《" suffix="》"/>+ </else>+ </choose>+ </macro>+ <macro name="journal">+ <group delimiter=",">+ <text variable="container-title" prefix="《" suffix="》"/>+ <group delimiter=",">+ <date date-parts="year-month" form="text" variable="issued"/>+ <text macro="volume"/>+ <group>+ <text value="第"/>+ <number variable="issue"/>+ <label variable="issue"/>+ </group>+ </group>+ </group>+ </macro>+ <macro name="collection-title">+ <choose>+ <if match="any" variable="collection-title">+ <group delimiter=",">+ <text variable="collection-title" prefix="《" suffix="》"/>+ <group>+ <number variable="collection-number"/>+ </group>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="publisher">+ <choose>+ <if type="thesis" match="any">+ <group prefix="(" suffix=")">+ <group>+ <text variable="publisher-place" suffix=":"/>+ </group>+ <group delimiter=",">+ <text variable="publisher" suffix="論文"/>+ <date date-parts="year" form="text" variable="issued"/>+ </group>+ </group>+ </if>+ <else-if type="article book chapter paper-conference" match="any">+ <group prefix="(" suffix=")">+ <group>+ <text variable="publisher-place" suffix=":"/>+ </group>+ <group delimiter=",">+ <text variable="publisher"/>+ <date date-parts="year" form="text" variable="issued"/>+ </group>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locator">+ <choose>+ <if match="any" variable="locator">+ <label variable="locator"/>+ <text variable="locator"/>+ </if>+ <else-if match="any" variable="page">+ <label variable="locator"/>+ <text variable="page"/>+ </else-if>+ </choose>+ </macro>+ <macro name="title-short">+ <group>+ <choose>+ <if type="article article-journal chapter paper-conference" match="any">+ <group>+ <text variable="title-short" prefix="〈" suffix="〉"/>+ </group>+ </if>+ <else>+ <text variable="title-short" prefix="《" suffix="》"/>+ </else>+ </choose>+ </group>+ </macro>+ <macro name="volume">+ <choose>+ <if match="any" is-numeric="volume">+ <label variable="volume"/>+ <text variable="volume"/>+ </if>+ <else>+ <text variable="volume"/>+ </else>+ </choose>+ </macro>+ <macro name="editor">+ <names variable="editorial-director editor">+ <name/>+ <label/>+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name/>+ <label/>+ </names>+ </macro>+ <macro name="reviewed-author">+ <names variable="reviewed-author">+ <name/>+ <label/>+ </names>+ </macro>+ <macro name="container-author">+ <names variable="container-author">+ <name/>+ <et-al/>+ </names>+ </macro>+ <macro name="series-editor">+ <names variable="collection-editor">+ <name/>+ <label/>+ </names>+ </macro>+ <macro name="labelled-author">+ <names variable="author">+ <name/>+ <et-al/>+ <label form="verb-short"/>+ </names>+ </macro>+ <macro name="labelled-translator">+ <names variable="translator">+ <name/>+ <et-al/>+ <label form="verb-short"/>+ </names>+ </macro>+ <macro name="labelled-editor">+ <names variable="editor">+ <name/>+ <et-al/>+ <label form="verb-short"/>+ </names>+ </macro>+ <macro name="labelled-series-editor">+ <names variable="collection-editor" delimiter="、">+ <name delimiter="、" et-al-min="2" et-al-use-first="1"/>+ <et-al/>+ <label form="verb"/>+ </names>+ </macro>+ <citation>+ <layout>+ <choose>+ <if match="all" position="subsequent">+ <group delimiter=",">+ <group>+ <text macro="contributor"/>+ </group>+ <group>+ <text macro="title-short"/>+ </group>+ <group>+ <text macro="locator"/>+ </group>+ </group>+ <text value="。"/>+ </if>+ <else>+ <group delimiter=",">+ <group>+ <text macro="contributor"/>+ </group>+ <group>+ <text macro="title"/>+ </group>+ <group>+ <text macro="container-title"/>+ </group>+ <group>+ <text macro="collection-title"/>+ </group>+ <group>+ <group>+ <text macro="publisher"/>+ </group>+ </group>+ <group>+ <text macro="locator"/>+ </group>+ </group>+ <text value="。"/>+ </else>+ </choose>+ </layout>+ </citation>+ <bibliography subsequent-author-substitute="——" entry-spacing="2" hanging-indent="true">+ <layout>+ <group delimiter=",">+ <group>+ <text macro="contributor"/>+ </group>+ <group>+ <text macro="title"/>+ </group>+ <group>+ <text macro="container-title"/>+ </group>+ <group>+ <text macro="collection-title"/>+ </group>+ <group>+ <group>+ <text macro="publisher"/>+ </group>+ </group>+ <group>+ <text macro="locator"/>+ </group>+ </group>+ <text value="。"/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe", + "given": "John"+ }+ ], + "id": "ITEM-1", + "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe", + "given": "John"+ }+ ], + "collection-editor": [+ {+ "family": "Zither", + "given": "Ziggy"+ }, + {+ "family": "Yoda", + "given": "Yossarian"+ }, + {+ "family": "Xylophone", + "given": "Xerxes"+ }+ ], + "id": "ITEM-2", + "type": "book"+ },+ {+ "translator": [+ {+ "family": "田中", + "given": "太郎"+ }, + {+ "family": "Yoda", + "given": "Yossarian"+ }, + {+ "family": "Xylophone", + "given": "Xerxes"+ }+ ], + "id": "ITEM-3", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_FirstInitialFullForm.txt view
@@ -0,0 +1,59 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+A. Alan Aalto+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name initialize-with=". " initialize="false"/>+ </names>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Aalto",+ "given": "A. Alan"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_FormattingOfParticles.txt view
@@ -0,0 +1,56 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Gerard van DER MEER+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name>+ <name-part name="family" text-case="uppercase"/>+ </name>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "dropping-particle": "van",+ "family": "Meer",+ "given": "Gerard",+ "non-dropping-particle": "der"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_GreekSimple.txt view
@@ -0,0 +1,52 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Μυρτώ Ράις+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Ράις",+ "given": "Μυρτώ"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_HebrewAnd.txt view
@@ -0,0 +1,59 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+תפוחו תפוז+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <terms>+ <term name="and">ו </term>+ </terms>+ </locale>+ <citation>+ <layout>+ <names variable="author">+ <name and="text"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "תפוח"+ },+ {+ "family": "תפוז"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_HierarchicalDelimiter.txt view
@@ -0,0 +1,57 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+John Doe; Jane Roe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation name-delimiter="; ">+ <layout>+ <names variable="author">+ <name/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "item-1",+ "title": "Our Anonymous Lives",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_HyphenatedFirstName.txt view
@@ -0,0 +1,52 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+H.-X. L. Y. Liu+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name initialize-with=". " />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Liu",+ "given": "Hui-Xiao Li Yuan"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_HyphenatedNonDroppingParticle1.txt view
@@ -0,0 +1,88 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Marple, Mary</div>+ <div class="csl-entry">One, Alan al-</div>+ <div class="csl-entry">Participle, Paul</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ demote-non-dropping-particle="display-and-sort">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all"/>+ </names>+ </macro>+ <citation>+ <layout delimiter="; ">+ <text value="Bogus"/>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key macro="author" />+ </sort>+ <layout>+ <text macro="author" />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "al-One",+ "given": "Alan"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Marple",+ "given": "Mary"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Participle",+ "given": "Paul"+ }+ ],+ "id": "ITEM-3",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_HyphenatedNonDroppingParticle2.txt view
@@ -0,0 +1,88 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Mary Marple</div>+ <div class="csl-entry">Alan al-One</div>+ <div class="csl-entry">Paul Participle</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ demote-non-dropping-particle="display-and-sort">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name/>+ </names>+ </macro>+ <citation>+ <layout delimiter="; ">+ <text value="Bogus"/>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key macro="author" />+ </sort>+ <layout>+ <text macro="author" />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "al-One",+ "given": "Alan"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Marple",+ "given": "Mary"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Participle",+ "given": "Paul"+ }+ ],+ "id": "ITEM-3",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_InheritAttributesEtAlStyle.txt view
@@ -0,0 +1,68 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Doe, Roe, et al.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ et-al-min="3"+ et-al-use-first="2">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name delimiter=", " form="short"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Noakes",+ "given": "John"+ },+ {+ "family": "Stoakes",+ "given": "Richard"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_InitialsInitializeFalse.txt view
@@ -0,0 +1,198 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+[Axford, ME] becomes [Axford, ME]+[Behn, M.E] becomes [Behn, M E]+[Crosler, M E.] becomes [Crosler, M E]+[Dimauro, John M.E.] becomes [Dimauro, John M E]+[Evans, M E] becomes [Evans, M E]+[Faquhar, ME.] becomes [Faquhar, ME]+[Grant, Me.] becomes [Grant, Me]+[Hudson, Ph.M.E.] becomes [Hudson, Ph M E]+[Immel, Ph. M.E.] becomes [Immel, Ph M E]+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ],+ [+ {+ "id": "ITEM-4"+ }+ ],+ [+ {+ "id": "ITEM-5"+ }+ ],+ [+ {+ "id": "ITEM-6"+ }+ ],+ [+ {+ "id": "ITEM-7"+ }+ ],+ [+ {+ "id": "ITEM-8"+ }+ ],+ [+ {+ "id": "ITEM-9"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="full">+ <names variable="author">+ <name name-as-sort-order="all"/>+ </names>+ </macro>+ <macro name="initialized">+ <names variable="author">+ <name initialize-with=" " name-as-sort-order="all" initialize="false"/>+ </names>+ </macro>+ <citation>+ <layout delimiter="; ">+ <group delimiter="] becomes [" prefix="[" suffix="]">+ <text macro="full"/>+ <text macro="initialized"/>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Axford",+ "given": "ME"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Behn",+ "given": "M.E"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Crosler",+ "given": "M E."+ }+ ],+ "id": "ITEM-3",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Dimauro",+ "given": "John M.E."+ }+ ],+ "id": "ITEM-4",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Evans",+ "given": "M E"+ }+ ],+ "id": "ITEM-5",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Faquhar",+ "given": "ME."+ }+ ],+ "id": "ITEM-6",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Grant",+ "given": "Me."+ }+ ],+ "id": "ITEM-7",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Hudson",+ "given": "Ph.M.E."+ }+ ],+ "id": "ITEM-8",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Immel",+ "given": "Ph. M.E."+ }+ ],+ "id": "ITEM-9",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_InitialsInitializeFalseEmpty.txt view
@@ -0,0 +1,198 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+[Axford, ME] becomes [Axford, ME]+[Behn, M.E] becomes [Behn, ME]+[Crosler, M E.] becomes [Crosler, ME]+[Dimauro, John M.E.] becomes [Dimauro, John ME]+[Evans, M E] becomes [Evans, ME]+[Faquhar, ME.] becomes [Faquhar, ME]+[Grant, Me.] becomes [Grant, Me]+[Hudson, Ph.M.E.] becomes [Hudson, PhME]+[Immel, Ph. M.E.] becomes [Immel, PhME]+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ],+ [+ {+ "id": "ITEM-4"+ }+ ],+ [+ {+ "id": "ITEM-5"+ }+ ],+ [+ {+ "id": "ITEM-6"+ }+ ],+ [+ {+ "id": "ITEM-7"+ }+ ],+ [+ {+ "id": "ITEM-8"+ }+ ],+ [+ {+ "id": "ITEM-9"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="full">+ <names variable="author">+ <name name-as-sort-order="all"/>+ </names>+ </macro>+ <macro name="initialized">+ <names variable="author">+ <name initialize-with="" name-as-sort-order="all" initialize="false"/>+ </names>+ </macro>+ <citation>+ <layout delimiter="; ">+ <group delimiter="] becomes [" prefix="[" suffix="]">+ <text macro="full"/>+ <text macro="initialized"/>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Axford",+ "given": "ME"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Behn",+ "given": "M.E"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Crosler",+ "given": "M E."+ }+ ],+ "id": "ITEM-3",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Dimauro",+ "given": "John M.E."+ }+ ],+ "id": "ITEM-4",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Evans",+ "given": "M E"+ }+ ],+ "id": "ITEM-5",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Faquhar",+ "given": "ME."+ }+ ],+ "id": "ITEM-6",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Grant",+ "given": "Me."+ }+ ],+ "id": "ITEM-7",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Hudson",+ "given": "Ph.M.E."+ }+ ],+ "id": "ITEM-8",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Immel",+ "given": "Ph. M.E."+ }+ ],+ "id": "ITEM-9",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_InitialsInitializeFalsePeriod.txt view
@@ -0,0 +1,198 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+[Axford, ME] becomes [Axford, ME]+[Behn, M.E] becomes [Behn, M.E.]+[Crosler, M E.] becomes [Crosler, M.E.]+[Dimauro, John M.E.] becomes [Dimauro, John M.E.]+[Evans, M E] becomes [Evans, M.E.]+[Faquhar, ME.] becomes [Faquhar, ME.]+[Grant, Me.] becomes [Grant, Me.]+[Hudson, Ph.M.E.] becomes [Hudson, Ph.M.E.]+[Immel, Ph. M.E.] becomes [Immel, Ph.M.E.]+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ],+ [+ {+ "id": "ITEM-4"+ }+ ],+ [+ {+ "id": "ITEM-5"+ }+ ],+ [+ {+ "id": "ITEM-6"+ }+ ],+ [+ {+ "id": "ITEM-7"+ }+ ],+ [+ {+ "id": "ITEM-8"+ }+ ],+ [+ {+ "id": "ITEM-9"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="full">+ <names variable="author">+ <name name-as-sort-order="all"/>+ </names>+ </macro>+ <macro name="initialized">+ <names variable="author">+ <name initialize-with="." name-as-sort-order="all" initialize="false"/>+ </names>+ </macro>+ <citation>+ <layout delimiter="; ">+ <group delimiter="] becomes [" prefix="[" suffix="]">+ <text macro="full"/>+ <text macro="initialized"/>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Axford",+ "given": "ME"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Behn",+ "given": "M.E"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Crosler",+ "given": "M E."+ }+ ],+ "id": "ITEM-3",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Dimauro",+ "given": "John M.E."+ }+ ],+ "id": "ITEM-4",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Evans",+ "given": "M E"+ }+ ],+ "id": "ITEM-5",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Faquhar",+ "given": "ME."+ }+ ],+ "id": "ITEM-6",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Grant",+ "given": "Me."+ }+ ],+ "id": "ITEM-7",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Hudson",+ "given": "Ph.M.E."+ }+ ],+ "id": "ITEM-8",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Immel",+ "given": "Ph. M.E."+ }+ ],+ "id": "ITEM-9",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_InitialsInitializeFalsePeriodSpace.txt view
@@ -0,0 +1,198 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+[Axford, ME] becomes [Axford, ME]+[Behn, M.E] becomes [Behn, M. E.]+[Crosler, M E.] becomes [Crosler, M. E.]+[Dimauro, John M.E.] becomes [Dimauro, John M. E.]+[Evans, M E] becomes [Evans, M. E.]+[Faquhar, ME.] becomes [Faquhar, ME.]+[Grant, Me.] becomes [Grant, Me.]+[Hudson, Ph.M.E.] becomes [Hudson, Ph. M. E.]+[Immel, Ph. M.E.] becomes [Immel, Ph. M. E.]+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ],+ [+ {+ "id": "ITEM-4"+ }+ ],+ [+ {+ "id": "ITEM-5"+ }+ ],+ [+ {+ "id": "ITEM-6"+ }+ ],+ [+ {+ "id": "ITEM-7"+ }+ ],+ [+ {+ "id": "ITEM-8"+ }+ ],+ [+ {+ "id": "ITEM-9"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="full">+ <names variable="author">+ <name name-as-sort-order="all"/>+ </names>+ </macro>+ <macro name="initialized">+ <names variable="author">+ <name initialize-with=". " name-as-sort-order="all" initialize="false"/>+ </names>+ </macro>+ <citation>+ <layout delimiter="; ">+ <group delimiter="] becomes [" prefix="[" suffix="]">+ <text macro="full"/>+ <text macro="initialized"/>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Axford",+ "given": "ME"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Behn",+ "given": "M.E"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Crosler",+ "given": "M E."+ }+ ],+ "id": "ITEM-3",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Dimauro",+ "given": "John M.E."+ }+ ],+ "id": "ITEM-4",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Evans",+ "given": "M E"+ }+ ],+ "id": "ITEM-5",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Faquhar",+ "given": "ME."+ }+ ],+ "id": "ITEM-6",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Grant",+ "given": "Me."+ }+ ],+ "id": "ITEM-7",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Hudson",+ "given": "Ph.M.E."+ }+ ],+ "id": "ITEM-8",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Immel",+ "given": "Ph. M.E."+ }+ ],+ "id": "ITEM-9",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_InitialsInitializeTrue.txt view
@@ -0,0 +1,198 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+[Axford, ME] becomes [Axford, M]+[Behn, M.E] becomes [Behn, M E]+[Crosler, M E.] becomes [Crosler, M E]+[Dimauro, John M.E.] becomes [Dimauro, J M E]+[Evans, M E] becomes [Evans, M E]+[Faquhar, ME.] becomes [Faquhar, ME]+[Grant, Me.] becomes [Grant, Me]+[Hudson, Ph.M.E.] becomes [Hudson, Ph M E]+[Immel, Ph. M.E.] becomes [Immel, Ph M E]+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ],+ [+ {+ "id": "ITEM-4"+ }+ ],+ [+ {+ "id": "ITEM-5"+ }+ ],+ [+ {+ "id": "ITEM-6"+ }+ ],+ [+ {+ "id": "ITEM-7"+ }+ ],+ [+ {+ "id": "ITEM-8"+ }+ ],+ [+ {+ "id": "ITEM-9"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="full">+ <names variable="author">+ <name name-as-sort-order="all"/>+ </names>+ </macro>+ <macro name="initialized">+ <names variable="author">+ <name initialize-with=" " name-as-sort-order="all" initialize="true"/>+ </names>+ </macro>+ <citation>+ <layout delimiter="; ">+ <group delimiter="] becomes [" prefix="[" suffix="]">+ <text macro="full"/>+ <text macro="initialized"/>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Axford",+ "given": "ME"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Behn",+ "given": "M.E"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Crosler",+ "given": "M E."+ }+ ],+ "id": "ITEM-3",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Dimauro",+ "given": "John M.E."+ }+ ],+ "id": "ITEM-4",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Evans",+ "given": "M E"+ }+ ],+ "id": "ITEM-5",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Faquhar",+ "given": "ME."+ }+ ],+ "id": "ITEM-6",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Grant",+ "given": "Me."+ }+ ],+ "id": "ITEM-7",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Hudson",+ "given": "Ph.M.E."+ }+ ],+ "id": "ITEM-8",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Immel",+ "given": "Ph. M.E."+ }+ ],+ "id": "ITEM-9",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_InitialsInitializeTrueEmpty.txt view
@@ -0,0 +1,198 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+[Axford, ME] becomes [Axford, M]+[Behn, M.E] becomes [Behn, ME]+[Crosler, M E.] becomes [Crosler, ME]+[Dimauro, John M.E.] becomes [Dimauro, JME]+[Evans, M E] becomes [Evans, ME]+[Faquhar, ME.] becomes [Faquhar, ME]+[Grant, Me.] becomes [Grant, Me]+[Hudson, Ph.M.E.] becomes [Hudson, PhME]+[Immel, Ph. M.E.] becomes [Immel, PhME]+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ],+ [+ {+ "id": "ITEM-4"+ }+ ],+ [+ {+ "id": "ITEM-5"+ }+ ],+ [+ {+ "id": "ITEM-6"+ }+ ],+ [+ {+ "id": "ITEM-7"+ }+ ],+ [+ {+ "id": "ITEM-8"+ }+ ],+ [+ {+ "id": "ITEM-9"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="full">+ <names variable="author">+ <name name-as-sort-order="all"/>+ </names>+ </macro>+ <macro name="initialized">+ <names variable="author">+ <name initialize-with="" name-as-sort-order="all" initialize="true"/>+ </names>+ </macro>+ <citation>+ <layout delimiter="; ">+ <group delimiter="] becomes [" prefix="[" suffix="]">+ <text macro="full"/>+ <text macro="initialized"/>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Axford",+ "given": "ME"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Behn",+ "given": "M.E"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Crosler",+ "given": "M E."+ }+ ],+ "id": "ITEM-3",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Dimauro",+ "given": "John M.E."+ }+ ],+ "id": "ITEM-4",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Evans",+ "given": "M E"+ }+ ],+ "id": "ITEM-5",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Faquhar",+ "given": "ME."+ }+ ],+ "id": "ITEM-6",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Grant",+ "given": "Me."+ }+ ],+ "id": "ITEM-7",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Hudson",+ "given": "Ph.M.E."+ }+ ],+ "id": "ITEM-8",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Immel",+ "given": "Ph. M.E."+ }+ ],+ "id": "ITEM-9",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_InitialsInitializeTruePeriod.txt view
@@ -0,0 +1,198 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+[Axford, ME] becomes [Axford, M.]+[Behn, M.E] becomes [Behn, M.E.]+[Crosler, M E.] becomes [Crosler, M.E.]+[Dimauro, John M.E.] becomes [Dimauro, J.M.E.]+[Evans, M E] becomes [Evans, M.E.]+[Faquhar, ME.] becomes [Faquhar, ME.]+[Grant, Me.] becomes [Grant, Me.]+[Hudson, Ph.M.E.] becomes [Hudson, Ph.M.E.]+[Immel, Ph. M.E.] becomes [Immel, Ph.M.E.]+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ],+ [+ {+ "id": "ITEM-4"+ }+ ],+ [+ {+ "id": "ITEM-5"+ }+ ],+ [+ {+ "id": "ITEM-6"+ }+ ],+ [+ {+ "id": "ITEM-7"+ }+ ],+ [+ {+ "id": "ITEM-8"+ }+ ],+ [+ {+ "id": "ITEM-9"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="full">+ <names variable="author">+ <name name-as-sort-order="all"/>+ </names>+ </macro>+ <macro name="initialized">+ <names variable="author">+ <name initialize-with="." name-as-sort-order="all" initialize="true"/>+ </names>+ </macro>+ <citation>+ <layout delimiter="; ">+ <group delimiter="] becomes [" prefix="[" suffix="]">+ <text macro="full"/>+ <text macro="initialized"/>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Axford",+ "given": "ME"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Behn",+ "given": "M.E"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Crosler",+ "given": "M E."+ }+ ],+ "id": "ITEM-3",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Dimauro",+ "given": "John M.E."+ }+ ],+ "id": "ITEM-4",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Evans",+ "given": "M E"+ }+ ],+ "id": "ITEM-5",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Faquhar",+ "given": "ME."+ }+ ],+ "id": "ITEM-6",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Grant",+ "given": "Me."+ }+ ],+ "id": "ITEM-7",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Hudson",+ "given": "Ph.M.E."+ }+ ],+ "id": "ITEM-8",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Immel",+ "given": "Ph. M.E."+ }+ ],+ "id": "ITEM-9",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_InitialsInitializeTruePeriodSpace.txt view
@@ -0,0 +1,198 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+[Axford, ME] becomes [Axford, M.]+[Behn, M.E] becomes [Behn, M. E.]+[Crosler, M E.] becomes [Crosler, M. E.]+[Dimauro, John M.E.] becomes [Dimauro, J. M. E.]+[Evans, M E] becomes [Evans, M. E.]+[Faquhar, ME.] becomes [Faquhar, ME.]+[Grant, Me.] becomes [Grant, Me.]+[Hudson, Ph.M.E.] becomes [Hudson, Ph. M. E.]+[Immel, Ph. M.E.] becomes [Immel, Ph. M. E.]+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ],+ [+ {+ "id": "ITEM-4"+ }+ ],+ [+ {+ "id": "ITEM-5"+ }+ ],+ [+ {+ "id": "ITEM-6"+ }+ ],+ [+ {+ "id": "ITEM-7"+ }+ ],+ [+ {+ "id": "ITEM-8"+ }+ ],+ [+ {+ "id": "ITEM-9"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="full">+ <names variable="author">+ <name name-as-sort-order="all"/>+ </names>+ </macro>+ <macro name="initialized">+ <names variable="author">+ <name initialize-with=". " name-as-sort-order="all" initialize="true"/>+ </names>+ </macro>+ <citation>+ <layout delimiter="; ">+ <group delimiter="] becomes [" prefix="[" suffix="]">+ <text macro="full"/>+ <text macro="initialized"/>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Axford",+ "given": "ME"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Behn",+ "given": "M.E"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Crosler",+ "given": "M E."+ }+ ],+ "id": "ITEM-3",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Dimauro",+ "given": "John M.E."+ }+ ],+ "id": "ITEM-4",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Evans",+ "given": "M E"+ }+ ],+ "id": "ITEM-5",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Faquhar",+ "given": "ME."+ }+ ],+ "id": "ITEM-6",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Grant",+ "given": "Me."+ }+ ],+ "id": "ITEM-7",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Hudson",+ "given": "Ph.M.E."+ }+ ],+ "id": "ITEM-8",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Immel",+ "given": "Ph. M.E."+ }+ ],+ "id": "ITEM-9",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_Institution.txt view
@@ -0,0 +1,59 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Multi-National United+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "literal": "Multi-National United"+ }+ ],+ "id": "institution-name-1",+ "issued": {+ "date-parts": [+ [+ "2006"+ ]+ ]+ },+ "title": "White Paper on Education, Sports, Culture, Science and Technology",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_InstitutionDecoration.txt view
@@ -0,0 +1,61 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+SÃO PAULO (ESTADO)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name name-as-sort-order="all" sort-separator=", " initialize-with=". " delimiter="; " delimiter-precedes-last="always">+ <name-part name="given" text-case="uppercase"/>+ <name-part name="family" text-case="uppercase"/>+ </name>+ <et-al prefix=" " font-style="italic"/>+ <label form="short" prefix=" (" suffix=".)" text-case="uppercase"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text variable="title"/>+ </substitute>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "literal": "São Paulo (Estado)"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_LabelAfterPlural.txt view
@@ -0,0 +1,65 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+John Doe, Jane Roeeditors+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="editor">+ <name />+ <label form="long" />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "editor": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "item-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_LabelAfterPluralDecorations.txt view
@@ -0,0 +1,67 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+John Doe et al. (editors)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + et-al-min="2"+ et-al-use-first="1">+ <layout>+ <names variable="editor">+ <name delimiter=", " />+ <label form="long" prefix=" (" suffix=")" />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "editor": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "item-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_LabelFormatBug.txt view
@@ -0,0 +1,74 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Aalto editor+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="contributors-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", "/>+ <label form="long" prefix=" "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="secondary-contributors-chapter"/>+ </substitute>+ </names>+ </macro>+ <macro name="secondary-contributors-chapter">+ <names variable="translator" prefix="(" suffix=")">+ <label form="verb" suffix=" " strip-periods="true"/>+ <name and="symbol" initialize-with=". " delimiter=", " delimiter-precedes-last="never"/>+ </names>+ </macro>+ <citation>+ <layout delimiter="; ">+ <text macro="contributors-short"/>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "editor": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_LiteralWithComma.txt view
@@ -0,0 +1,93 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">Klark Kent</div>+ <div class="csl-entry">Smith, John</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" version="1.0" class="note">+ <info>+ <title>United Kingdom</title>+ <id>http://citationstylist.org/modules/juris-gb</id>+ <link href="http://citationstylist/modules/juris-gb" rel="self"/>+ <link href="http://juris-m.github.io" rel="documentation"/>+ <author>+ <name>Frank Bennett</name>+ <email>biercenator@gmail.com</email>+ </author>+ <category citation-format="note"/>+ <category field="law"/>+ <summary>Juris-M style module for the United Kingdom</summary>+ <updated>2013-01-26T22:06:38+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ + <citation>+ <layout>+ <names variable="author">+ <name/>+ </names>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key variable="author"/>+ </sort>+ <layout>+ <names variable="author">+ <name/>+ </names>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "literal": "Smith, John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Kent",+ "given": "Klark"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_LongAbbreviation.txt view
@@ -0,0 +1,62 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Ts. Tserendorj+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name initialize-with="." />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Tserendorj",+ "given": "TSerendorjiin"+ }+ ],+ "id": "simple-mongolian-name-1",+ "issued": {+ "date-parts": [+ [+ "1925",+ "3",+ "4"+ ]+ ]+ },+ "title": "An Altogether Unknown History of Soviet-Mongolian Relations",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_LowercaseSurnameSuffix.txt view
@@ -0,0 +1,54 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+G Chen+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name initialize-with=""/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Chen",+ "given": "Guo-ping"+ }+ ],+ "id": "ITEM-1",+ "type": "article-journal"+ }+]+<<===== INPUT =====<<+++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_MultipleLiteral.txt view
@@ -0,0 +1,72 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+JJ Doe; G Jones; B Smith; Alfred Benzon Foundation; James Benson Foundation; John Candy Foundation+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name initialize-with="" delimiter="; "/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John J."+ },+ {+ "family": "Jones",+ "given": "Gregory"+ },+ {+ "family": "Smith",+ "given": "Bob"+ },+ {+ "family": "Alfred Benzon Foundation",+ "isInstitution": "true"+ },+ {+ "family": "James Benson Foundation",+ "isInstitution": "true"+ },+ {+ "family": "John Candy Foundation",+ "isInstitution": "true"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_NoNameNode.txt view
@@ -0,0 +1,60 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+John Doe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_NonDroppingParticleDefault.txt view
@@ -0,0 +1,53 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Roe, Jane van+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name name-as-sort-order="all"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane",+ "non-dropping-particle": "van"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_OnlyFamilyname.txt view
@@ -0,0 +1,53 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+Prince+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name initialize-with="."/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Prince"+ }+ ],+ "id": "ITEM-1",+ "title": "Item 1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_OnlyGivenname.txt view
@@ -0,0 +1,53 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+Banksy+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name initialize-with="."/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "given": "Banksy"+ }+ ],+ "id": "ITEM-1",+ "title": "Item 1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_OverridingHierarchicalDelimiter.txt view
@@ -0,0 +1,58 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+John Doe///Jane Roe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ name-delimiter="/">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation name-delimiter="//">+ <layout>+ <names variable="author">+ <name delimiter="///"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "item-1",+ "title": "Our Anonymous Lives",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_ParseNames.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+van Gogh, Vincent; Humboldt, Alexander von; van der Vlist, Eric+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ demote-non-dropping-particle="sort-only">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <sort>+ <key variable="author"/>+ </sort>+ <layout delimiter="; ">+ <names variable="author">+ <name name-as-sort-order="all" sort-separator=", "/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "van der Vlist",+ "given": "Eric"+ }+ ],+ "id": "ITEM-3",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "van Gogh",+ "given": "Vincent"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Humboldt",+ "given": "Alexander von"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_ParsedCommaDelimitedDroppingParticleSortOrderingWithoutAffixes.txt view
@@ -0,0 +1,55 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+AUBIGNAC, François Hédelin, abbé d’+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ demote-non-dropping-particle="never">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name name-as-sort-order="all" sort-separator=", ">+ <name-part name="family" text-case="uppercase"/>+ </name>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Aubignac",+ "given": "François Hédelin, abbé d'"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_ParsedDroppingParticleWithAffixes.txt view
@@ -0,0 +1,56 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+<span style="font-variant:small-caps;">La Fontaine</span> (Jean de)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ demote-non-dropping-particle="display-and-sort">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name name-as-sort-order="all" sort-separator=" ">+ <name-part name="family" font-variant="small-caps"/>+ <name-part name="given" prefix="(" suffix=")"/>+ </name>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "La Fontaine",+ "given": "Jean de"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_ParsedDroppingParticleWithApostrophe.txt view
@@ -0,0 +1,55 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+François Hédelin (d’Aubignac)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ demote-non-dropping-particle="never">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name>+ <name-part name="family" prefix="(" suffix=")"/>+ </name>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Aubignac",+ "given": "François Hédelin d'"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_ParsedNonDroppingParticleWithAffixes.txt view
@@ -0,0 +1,56 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+(<span style="font-variant:small-caps;">La Fontaine</span>) Jean de+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ demote-non-dropping-particle="sort-only">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name name-as-sort-order="all" sort-separator=" ">+ <name-part name="family" font-variant="small-caps" prefix="(" suffix=")"/>+ <name-part name="given"/>+ </name>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "La Fontaine",+ "given": "Jean de"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_ParsedNonDroppingParticleWithApostrophe.txt view
@@ -0,0 +1,56 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+<span style="font-variant:small-caps;">Aubignac</span> (François Hédelin <span style="font-variant:small-caps;">d’</span>)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ demote-non-dropping-particle="display-and-sort">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name name-as-sort-order="all" sort-separator=" ">+ <name-part name="given" prefix="(" suffix=")"/>+ <name-part name="family" font-variant="small-caps"/>+ </name>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "d'Aubignac",+ "given": "François Hédelin"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_ParsedUpperCaseNonDroppingParticle.txt view
@@ -0,0 +1,57 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+<span style="font-variant:small-caps;">La Fontaine</span> (Jean de)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ demote-non-dropping-particle="display-and-sort">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name name-as-sort-order="all" sort-separator=" ">+ <name-part name="family" font-variant="small-caps"/>+ <name-part name="given" prefix="(" suffix=")"/>+ </name>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "La Fontaine",+ "given": "Jean de"+ }+ ],+ "id": "ITEM-1",+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_ParticleCaps1.txt view
@@ -0,0 +1,86 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+(van One, van Two)+(van Three, Van Four)+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ demote-non-dropping-particle="sort-only">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <group prefix="(" suffix=")">+ <names variable="author" delimiter="; ">+ <name delimiter=", " form="short"/>+ </names>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "van One",+ "given": "Onename"+ },+ {+ "family": "van Two",+ "given": "Twoname"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "van Three",+ "given": "Threename"+ },+ {+ "family": "Van Four",+ "given": "Fourname"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_ParticleCaps2.txt view
@@ -0,0 +1,93 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">van One, O., van Two, T.</div>+ <div class="csl-entry">van Three, T., Van Four, F.</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ demote-non-dropping-particle="sort-only">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Bogus"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <group>+ <names variable="author" delimiter="; ">+ <name name-as-sort-order="all" delimiter=", " initialize-with="."/>+ </names>+ </group>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "van One",+ "given": "Onename"+ },+ {+ "family": "van Two",+ "given": "Twoname"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "van Three",+ "given": "Threename"+ },+ {+ "family": "Van Four",+ "given": "Fourname"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_ParticleCaps3.txt view
@@ -0,0 +1,109 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">Onename van One, Twoname van Two</div>+ <div class="csl-entry">Threename van Three, Fourname Van Four</div>+ <div class="csl-entry">Dick Van Dyke</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ demote-non-dropping-particle="sort-only">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Bogus"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <group>+ <names variable="author" delimiter="; ">+ <name delimiter=", "/>+ </names>+ </group>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "van One",+ "given": "Onename"+ },+ {+ "family": "van Two",+ "given": "Twoname"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "van Three",+ "given": "Threename"+ },+ {+ "family": "Van Four",+ "given": "Fourname"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "\"Van Dyke\"",+ "given": "Dick"+ }+ ],+ "id": "ITEM-3",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_ParticleFormatting.txt view
@@ -0,0 +1,58 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+LA DOE, John de+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ demote-non-dropping-particle="never">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name name-as-sort-order="all" sort-separator=", ">+ <name-part name="family" text-case="uppercase"/>+ </name>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "dropping-particle": "de",+ "family": "Doe",+ "given": "John",+ "non-dropping-particle": "la"+ }+ ],+ "id": "ITEM-1",+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_ParticleParse1.txt view
@@ -0,0 +1,75 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Smith+von und zum Jones+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; ">+ <names variable="author">+ <name form="short" />+ </names>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Smith",+ "given": "George von und zum"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "von und zum Jones",+ "given": "Ralph"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_ParticlesDemoteNonDroppingNever.txt view
@@ -0,0 +1,715 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+<b>Familyname</b>, <i>Givenname</i> <i>al</i>+<b>Familyname</b>, <i>Givenname</i> <i>dos</i>+<b>Familyname</b>, <i>Givenname</i> <i>el</i>+<b>Las Familyname</b>, <i>Givenname</i> <i>de</i>+<b>Familyname</b>, <i>Givenname</i> <i>lo</i>+<b>Familyname</b>, <i>Givenname</i> <i>les</i>+<b>Familyname</b>, <i>Givenname</i> <i>il</i>+<b>del</b> <b>Familyname</b>, <i>Givenname</i>+<b>Familyname</b>, <i>Givenname</i> <i>dela</i>+<b>Familyname</b>, <i>Givenname</i> <i>della</i>+<b>Familyname</b>, <i>Givenname</i> <i>dello</i>+<b>Di Familyname</b>, <i>Givenname</i>+<b>Da Familyname</b>, <i>Givenname</i>+<b>Do Familyname</b>, <i>Givenname</i>+<b>Des Familyname</b>, <i>Givenname</i>+<b>Lou Familyname</b>, <i>Givenname</i>+<b>Pietro Familyname</b>, <i>Givenname</i>+<b>de</b> <b>Familyname</b>, <i>Givenname</i>+<b>La Familyname</b>, <i>Givenname</i> <i>de</i>+<b>Familyname</b>, <i>Givenname</i> <i>du</i>+<b>Familyname</b>, <i>Givenname</i> <i>d’</i>+<b>Le Familyname</b>, <i>Givenname</i>+<b>La Familyname</b>, <i>Givenname</i>+<b>L’Familyname</b>, <i>Givenname</i>+<b>Saint Familyname</b>, <i>Givenname</i>+<b>Sainte Familyname</b>, <i>Givenname</i>+<b>St. Familyname</b>, <i>Givenname</i>+<b>Ste. Familyname</b>, <i>Givenname</i>+<b>van</b> <b>Familyname</b>, <i>Givenname</i>+<b>van de</b> <b>Familyname</b>, <i>Givenname</i>+<b>van der</b> <b>Familyname</b>, <i>Givenname</i>+<b>van den</b> <b>Familyname</b>, <i>Givenname</i>+<b>vander</b> <b>Familyname</b>, <i>Givenname</i>+<b>v.d.</b> <b>Familyname</b>, <i>Givenname</i>+<b>vd</b> <b>Familyname</b>, <i>Givenname</i>+<b>van het</b> <b>Familyname</b>, <i>Givenname</i>+<b>ver</b> <b>Familyname</b>, <i>Givenname</i>+<b>ten</b> <b>Familyname</b>, <i>Givenname</i>+<b>ter</b> <b>Familyname</b>, <i>Givenname</i>+<b>te</b> <b>Familyname</b>, <i>Givenname</i>+<b>Familyname</b>, <i>Givenname</i> <i>op de</i>+<b>in de</b> <b>Familyname</b>, <i>Givenname</i>+<b>in ’t</b> <b>Familyname</b>, <i>Givenname</i>+<b>’t</b> <b>Familyname</b>, <i>Givenname</i>+<b>in het</b> <b>Familyname</b>, <i>Givenname</i>+<b>uit de</b> <b>Familyname</b>, <i>Givenname</i>+<b>uit den</b> <b>Familyname</b>, <i>Givenname</i>+<b>Familyname</b>, <i>Givenname</i> <i>von</i>+<b>Familyname</b>, <i>Givenname</i> <i>von der</i>+<b>Familyname</b>, <i>Givenname</i> <i>von dem</i>+<b>Familyname</b>, <i>Givenname</i> <i>von zu</i>+<b>v.</b> <b>Familyname</b>, <i>Givenname</i>+<b>v</b> <b>Familyname</b>, <i>Givenname</i>+<b>Familyname</b>, <i>Givenname</i> <i>vom</i>+<b>Familyname</b>, <i>Givenname</i> <i>das</i>+<b>Familyname</b>, <i>Givenname</i> <i>zum</i>+<b>Familyname</b>, <i>Givenname</i> <i>zur</i>+<b>Familyname</b>, <i>Givenname</i> <i>den</i>+<b>Familyname</b>, <i>Givenname</i> <i>der</i>+<b>Familyname</b>, <i>Givenname</i> <i>des</i>+<b>Familyname</b>, <i>Givenname</i> <i>auf den</i>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ demote-non-dropping-particle="never">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="
">+ <names variable="author">+ <name name-as-sort-order="all">+ <name-part name="given" font-style="italic"/>+ <name-part name="family" font-weight="bold"/>+ </name>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Familyname",+ "given": "Givenname al"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Familyname",+ "given": "Givenname dos"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Familyname",+ "given": "Givenname el"+ }+ ],+ "id": "ITEM-3",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Las Familyname",+ "given": "Givenname de"+ }+ ],+ "id": "ITEM-4",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Familyname",+ "given": "Givenname lo"+ }+ ],+ "id": "ITEM-5",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Familyname",+ "given": "Givenname les"+ }+ ],+ "id": "ITEM-6",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Familyname",+ "given": "Givenname il"+ }+ ],+ "id": "ITEM-7",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "del Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-8",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Familyname",+ "given": "Givenname dela"+ }+ ],+ "id": "ITEM-9",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Familyname",+ "given": "Givenname della"+ }+ ],+ "id": "ITEM-10",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Familyname",+ "given": "Givenname dello"+ }+ ],+ "id": "ITEM-11",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Di Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-12",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Da Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-13",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Do Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-14",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Des Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-15",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Lou Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-16",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Pietro Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-17",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "de Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-18",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "La Familyname",+ "given": "Givenname de"+ }+ ],+ "id": "ITEM-19",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Familyname",+ "given": "Givenname du"+ }+ ],+ "id": "ITEM-20",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Familyname",+ "given": "Givenname d'"+ }+ ],+ "id": "ITEM-21",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Le Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-22",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "La Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-23",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "L'Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-24",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Saint Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-25",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Sainte Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-26",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "St. Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-27",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Ste. Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-28",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "van Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-29",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "van de Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-30",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "van der Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-31",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "van den Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-32",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "vander Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-33",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "v.d. Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-34",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "vd Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-35",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "van het Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-36",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "ver Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-37",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "ten Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-38",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "ter Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-39",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "te Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-40",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Familyname",+ "given": "Givenname op de"+ }+ ],+ "id": "ITEM-41",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "in de Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-42",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "in 't Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-43",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "'t Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-44",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "in het Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-45",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "uit de Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-46",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "uit den Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-47",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Familyname",+ "given": "Givenname von"+ }+ ],+ "id": "ITEM-48",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Familyname",+ "given": "Givenname von der"+ }+ ],+ "id": "ITEM-49",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Familyname",+ "given": "Givenname von dem"+ }+ ],+ "id": "ITEM-50",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Familyname",+ "given": "Givenname von zu"+ }+ ],+ "id": "ITEM-51",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "v. Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-52",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "v Familyname",+ "given": "Givenname"+ }+ ],+ "id": "ITEM-53",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Familyname",+ "given": "Givenname vom"+ }+ ],+ "id": "ITEM-54",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Familyname",+ "given": "Givenname das"+ }+ ],+ "id": "ITEM-55",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Familyname",+ "given": "Givenname zum"+ }+ ],+ "id": "ITEM-56",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Familyname",+ "given": "Givenname zur"+ }+ ],+ "id": "ITEM-57",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Familyname",+ "given": "Givenname den"+ }+ ],+ "id": "ITEM-58",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Familyname",+ "given": "Givenname der"+ }+ ],+ "id": "ITEM-59",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Familyname",+ "given": "Givenname des"+ }+ ],+ "id": "ITEM-60",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Familyname",+ "given": "Givenname auf den"+ }+ ],+ "id": "ITEM-61",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_PeriodAfterInitials.txt view
@@ -0,0 +1,56 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Doe, J. J., His Anonymous Life+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <group delimiter=", ">+ <names variable="author">+ <name initialize-with=". " name-as-sort-order="first" sort-separator=", "/>+ </names>+ <text variable="title"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John Jeeves"+ }+ ],+ "id": "ITEM-1",+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_QuashOrdinaryVariableRenderedViaSubstitute.txt view
@@ -0,0 +1,51 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Case Name+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name />+ <substitute>+ <text variable="title"/>+ </substitute>+ </names>+ <text variable="title"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "Case Name",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_RomanianTwo.txt view
@@ -0,0 +1,57 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+John Doe și Jane Roe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ default-locale="ro-RO">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name and="text"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_SemicolonWithAnd.txt view
@@ -0,0 +1,63 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+C. Smith; J. Brown; and F. Wilson+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name and="text" + delimiter-precedes-last="always" + initialize-with="."+ delimiter="; "/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith",+ "given": "Cecil"+ },+ {+ "family": "Brown",+ "given": "Jimminey"+ },+ {+ "family": "Wilson",+ "given": "Fred"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_SplitInitials.txt view
@@ -0,0 +1,62 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+JJ Doe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name initialize-with=""/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "J.J."+ }+ ],+ "id": "simple-western-name-1",+ "issued": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_SubsequentAuthorSubstituteMultipleNames.txt view
@@ -0,0 +1,97 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">Bumke, Courtly Culture: Literature and Society in the High Middle Ages, Dunlap tran.</div>+ <div class="csl-entry">-----, Höfische</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Bogus"/>+ </layout>+ </citation>+ <bibliography subsequent-author-substitute="-----">+ <layout>+ <group delimiter=", ">+ <names variable="author">+ <name form="short" and="text"/>+ </names>+ <text variable="title"/>+ <names variable="translator">+ <name form="short" and="text"/>+ <label form="short" prefix=" "/>+ </names>+ </group>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Bumke",+ "given": "Joachim"+ }+ ],+ "id": "ITEM-1",+ "title": "Courtly Culture: Literature and Society in the High Middle Ages",+ "translator": [+ {+ "family": "Dunlap",+ "given": "Thomas"+ }+ ],+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Bumke",+ "given": "Joachim"+ }+ ],+ "id": "ITEM-2",+ "title": "Höfische",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_SubsequentAuthorSubstituteSingleField.txt view
@@ -0,0 +1,102 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">Yomiuri Shinbun.</div>+ <div class="csl-entry">———.</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="display-and-sort" page-range-format="chicago">+ <info>+ <title>Chicago Manual of Style 17th edition (author-date)</title>+ <id>http://www.zotero.org/styles/chicago-author-date</id>+ <link href="http://www.zotero.org/styles/chicago-author-date" rel="self"/>+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <category citation-format="author-date"/>+ <category field="generic-base"/>+ <summary>The author-date variant of the Chicago style</summary>+ <updated>2018-01-24T12:00:00+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale xml:lang="en">+ <terms>+ <term name="editor" form="verb-short">ed.</term>+ <term name="container-author" form="verb">by</term>+ <term name="translator" form="verb-short">trans.</term>+ <term name="editortranslator" form="verb">edited and translated by</term>+ <term name="translator" form="short">trans.</term>+ </terms>+ </locale>+ <macro name="contributors">+ <group delimiter=". ">+ <names variable="author">+ <name and="text" name-as-sort-order="first" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", "/>+ <substitute>+ <text variable="container-title"/>+ </substitute>+ </names>+ </group>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" givenname-disambiguation-rule="primary-name" collapse="year" after-collapse-delimiter="; ">+ <layout prefix="(" suffix=")" delimiter="; ">+ <text macro="contributors"/>+ </layout>+ </citation>+ <bibliography subsequent-author-substitute="———">+ <layout suffix=".">+ <group delimiter=". ">+ <text macro="contributors"/>+ </group>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Ashita no tenki",+ "container-title": "Yomiuri Shinbun",+ "type": "article-newspaper"+ },+ {+ "id": "ITEM-2",+ "title": "Asatte no tenki",+ "container-title": "Yomiuri Shinbun",+ "type": "article-newspaper"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_SubstituteInheritLabel.txt view
@@ -0,0 +1,89 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+[[X]Jane Roe (<i>ed.</i>); [X]John Doe]+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <terms>+ <term name="et-al">hello</term>+ </terms>+ </locale>+ <citation>+ <layout delimiter="; " prefix="[" suffix="]">+ <names prefix="[X]" variable="author">+ <name />+ <label form="short" prefix=" (" suffix=".)" font-style="italic"/>+ <substitute>+ <names variable="editor" />+ </substitute>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "editor": [+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "item-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Her Anonymous Anthology",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "simple-western-name-1",+ "issued": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_SubstituteMacroInheritDecorations.txt view
@@ -0,0 +1,69 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+[I AM A BLOB]+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="blob">+ <text value="I AM A BLOB" />+ </macro>+ <citation>+ <layout delimiter="; " prefix="[" suffix="]">+ <names variable="editor">+ <name />+ <substitute>+ <names variable="translator" />+ <text macro="blob" />+ </substitute>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "simple-western-name-1",+ "issued": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_SubstituteName.txt view
@@ -0,0 +1,63 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+John Doe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name />+ <substitute>+ <names variable="editor" />+ </substitute>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "editor": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "item-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_SubstituteOnDateGroupSpanFail.txt view
@@ -0,0 +1,71 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+2000+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="translator">+ <name />+ <substitute>+ <names variable="editor" />+ <date variable="issued">+ <date-part name="year" />+ </date>+ <group>+ <text variable="title" />+ <text prefix=", " value="... this should NOT appear" />+ </group>+ </substitute>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "edition": "5",+ "id": "item-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_SubstituteOnGroupSpanGroupSpanFail.txt view
@@ -0,0 +1,72 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+His Anonymous Life (this should appear)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="editor">+ <name />+ <substitute>+ <names variable="translator" />+ <group>+ <text variable="title" />+ <text value=" (this should appear)" />+ </group>+ <group>+ <text prefix=" aiyeeee! " value="Ooops" />+ <text value=" ... this should NOT appear" />+ </group>+ </substitute>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "edition": "5",+ "id": "item-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_SubstituteOnMacroGroupSpanFail.txt view
@@ -0,0 +1,73 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+boo+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="bogus">+ <text variable="volume" />+ </macro>+ <citation>+ <layout>+ <names variable="translator">+ <name />+ <substitute>+ <text macro="bogus" />+ <names variable="author" />+ <group>+ <text variable="title" />+ <text prefix=", " value="... this should NOT appear" />+ </group>+ </substitute>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "edition": "5",+ "id": "item-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "book",+ "volume": "boo"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_SubstituteOnNamesSingletonGroupSpanFail.txt view
@@ -0,0 +1,68 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+John Doe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="editor">+ <name />+ <substitute>+ <names variable="author" />+ <group>+ <text variable="title" />+ <text prefix=", " value="... this should NOT appear" />+ </group>+ </substitute>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "edition": "5",+ "id": "item-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_SubstituteOnNamesSpanGroupSpanFail.txt view
@@ -0,0 +1,70 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+(John Doe)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="translator">+ <name />+ <substitute>+ <names variable="author">+ <name prefix="(" suffix=")" />+ </names>+ <group>+ <text variable="title" />+ <text prefix=", " value="... this should NOT appear" />+ </group>+ </substitute>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "edition": "5",+ "id": "item-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_SubstituteOnNamesSpanNamesSpanFail.txt view
@@ -0,0 +1,75 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+(John Doe)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="translator">+ <name />+ <substitute>+ <names prefix="(" suffix=")" variable="author">+ <name />+ </names>+ <names variable="editor">+ <name />+ </names>+ </substitute>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "edition": "5",+ "editor": [+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "item-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_SubstituteOnNumberGroupSpanFail.txt view
@@ -0,0 +1,68 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+5+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="translator">+ <name />+ <substitute>+ <number variable="edition" />+ <group>+ <text variable="title" />+ <text prefix=", " value="... this should NOT appear" />+ </group>+ </substitute>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "edition": "5",+ "id": "item-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_SubstitutePartialEach.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Title One</div>+ <div class="csl-entry">---</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" page-range-format="chicago" default-locale="en-US">+ <info>+ <title>American Marketing Association</title>+ <title-short>AMA</title-short>+ <id>http://www.zotero.org/styles/american-marketing-association</id>+ <link href="http://www.zotero.org/styles/american-marketing-association" rel="self"/>+ <link href="https://www.ama.org/publications/JournalOfMarketing/Documents/AMA_Reference_Style.pdf" rel="documentation"/>+ <link href="https://www.ama.org/publications/JournalOfMarketingResearch/Documents/AMA_Reference_Style.pdf" rel="documentation"/>+ <author>+ <name>Sebastian Karcher</name>+ </author>+ <contributor>+ <name>Rintze Zelle</name>+ <uri>http://twitter.com/rintzezelle</uri>+ </contributor>+ <category citation-format="author-date"/>+ <category field="social_science"/>+ <category field="communications"/>+ <summary>AMA Reference List Style published by the American Marketing Association</summary>+ <updated>2014-10-17T21:46:29+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <citation>+ <layout>+ <text value="BOGUS"/>+ </layout>+ </citation>+ <bibliography subsequent-author-substitute="---" subsequent-author-substitute-rule="partial-each">+ <layout>+ <names variable="author">+ <name/>+ <substitute>+ <text variable="title"/>+ </substitute>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "Title One",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "title": "Title One",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<
+ test/csl/name_TwoRolesSameRenderingSeparateRoleLabels.txt view
@@ -0,0 +1,90 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Albert Asthma et al. (eds.), Albert Asthma et al. (trans.)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale xml:lang="en">+ <terms>+ <term form="short" name="editortranslator"></term>+ </terms>+ </locale>+ <citation + et-al-min="3"+ et-al-use-first="1">+ <layout delimiter="; ">+ <names delimiter=", " variable="editor translator">+ <name delimiter=", " />+ <label form="short" prefix=" (" suffix=".)" />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "editor": [+ {+ "family": "Asthma",+ "given": "Albert"+ },+ {+ "family": "Bronchitis",+ "given": "Bosworth"+ },+ {+ "family": "Cold",+ "given": "Crispin"+ }+ ],+ "id": "editor-translator-2",+ "issued": {+ "date-parts": [+ [+ "1990"+ ]+ ]+ },+ "title": "Book One",+ "translator": [+ {+ "family": "Asthma",+ "given": "Albert"+ },+ {+ "family": "Bronchitis",+ "given": "Bosworth"+ },+ {+ "family": "Cold",+ "given": "Constantine"+ }+ ],+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_WesternArticularLowercase.txt view
@@ -0,0 +1,61 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Jacques van Doe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "Jacques",+ "non-dropping-particle": "van"+ }+ ],+ "id": "item-1",+ "issued": {+ "date-parts": [+ [+ "1645"+ ]+ ]+ },+ "title": "A Book of Five Rings",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_WesternPrimaryFontStyle.txt view
@@ -0,0 +1,64 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+John <i>Doe</i>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name>+ <name-part font-style="italic" name="family" />+ </name>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "simple-western-name-1",+ "issued": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_WesternPrimaryFontStyleTwoAuthors.txt view
@@ -0,0 +1,66 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+John <b>Doe</b>; Jane <b>Roe</b>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name delimiter="; ">+ <name-part font-weight="bold" name="family" />+ </name>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "item-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Our Anonymous Lives",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_WesternSimple.txt view
@@ -0,0 +1,62 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+AAhad M. Doe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "AAhad M."+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_WesternTwoAuthors.txt view
@@ -0,0 +1,64 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+John Doe, Jane Roe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "item-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Our Anonymous Lives",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_WithNonBreakingSpace.txt view
@@ -0,0 +1,65 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+John Doe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name>+ <name-part name="given" suffix=" "/>+ <name-part name="family"/>+ </name>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_namepartAffixes.txt view
@@ -0,0 +1,58 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+[Jean] (de La Fontaine III)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name>+ <name-part name="family" prefix="(" suffix=")"/>+ <name-part name="given" prefix="[" suffix="]"/>+ </name>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "dropping-particle": "de",+ "family": "Fontaine",+ "given": "Jean",+ "non-dropping-particle": "La",+ "suffix": "III"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_namepartAffixesNameAsSortOrder.txt view
@@ -0,0 +1,59 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+(La Fontaine) [Jean de] III+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ demote-non-dropping-particle="sort-only">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name name-as-sort-order="all" sort-separator=" ">+ <name-part name="family" prefix="(" suffix=")"/>+ <name-part name="given" prefix="[" suffix="]"/>+ </name>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "dropping-particle": "de",+ "family": "Fontaine",+ "given": "Jean",+ "non-dropping-particle": "La",+ "suffix": "III"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/name_namepartAffixesNameAsSortOrderDemoteNonDroppingParticle.txt view
@@ -0,0 +1,59 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+(Fontaine) [Jean de La] III+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ demote-non-dropping-particle="display-and-sort">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name name-as-sort-order="all" sort-separator=" ">+ <name-part name="family" prefix="(" suffix=")"/>+ <name-part name="given" prefix="[" suffix="]"/>+ </name>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "dropping-particle": "de",+ "family": "Fontaine",+ "given": "Jean",+ "non-dropping-particle": "La",+ "suffix": "III"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_AndOnBibliographyInBibliography.txt view
@@ -0,0 +1,63 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe and Jane Roe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography+ and="text">+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_AndOnBibliographyInCitation.txt view
@@ -0,0 +1,63 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+John Doe, Jane Roe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </citation>+ <bibliography+ and="text">+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_AndOnCitationInBibliography.txt view
@@ -0,0 +1,65 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe, Jane Roe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ and="text">+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_AndOnCitationInCitation.txt view
@@ -0,0 +1,56 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+John Doe and Jane Roe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ and="text">+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_AndOnNamesInBibliography.txt view
@@ -0,0 +1,62 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe and Jane Roe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name and="text"/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_AndOnNamesInCitation.txt view
@@ -0,0 +1,55 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+John Doe and Jane Roe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name and="text"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_AndOnStyleInBibliography.txt view
@@ -0,0 +1,63 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe and Jane Roe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography+ and="text">+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_AndOnStyleInCitation.txt view
@@ -0,0 +1,63 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe and Jane Roe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography+ and="text">+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_DelimiterPrecedesEtAlOnBibliographyInBibliography.txt view
@@ -0,0 +1,63 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe, et al.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography+ delimiter-precedes-et-al="always">+ <layout>+ <names variable="author">+ <name delimiter=", " et-al-use-first="1" et-al-min="2" />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_DelimiterPrecedesEtAlOnBibliographyInCitation.txt view
@@ -0,0 +1,63 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+John Doe et al.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name delimiter=", " et-al-use-first="1" et-al-min="2"/>+ </names>+ </layout>+ </citation>+ <bibliography+ delimiter-precedes-et-al="always">+ <layout>+ <names variable="author">+ <name delimiter=", " et-al-use-first="1" et-al-min="2" />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_DelimiterPrecedesEtAlOnCitationInBibliography.txt view
@@ -0,0 +1,65 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe et al.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ delimiter-precedes-last="always">+ <layout>+ <names variable="author">+ <name delimiter=", " et-al-use-first="1" et-al-min="2" />+ </names>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name delimiter=", " et-al-use-first="1" et-al-min="2" />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_DelimiterPrecedesEtAlOnCitationInCitation.txt view
@@ -0,0 +1,56 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+John Doe, et al.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ delimiter-precedes-et-al="always">+ <layout>+ <names variable="author">+ <name delimiter=", " et-al-use-first="1" et-al-min="2" />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_DelimiterPrecedesEtAlOnNamesInBibliography.txt view
@@ -0,0 +1,62 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe, et al.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name delimiter=", " delimiter-precedes-et-al="always" et-al-use-first="1" et-al-min="2" />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_DelimiterPrecedesEtAlOnNamesInCitation.txt view
@@ -0,0 +1,55 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+John Doe, et al.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name delimiter=", " delimiter-precedes-et-al="always" et-al-use-first="1" et-al-min="2" />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_DelimiterPrecedesEtAlOnStyleInBibliography.txt view
@@ -0,0 +1,63 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe, et al.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ delimiter-precedes-et-al="always">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name delimiter=", " et-al-use-first="1" et-al-min="2" />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_DelimiterPrecedesEtAlOnStyleInCitation.txt view
@@ -0,0 +1,56 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+John Doe, et al.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ delimiter-precedes-et-al="always">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name delimiter=", " et-al-use-first="1" et-al-min="2" />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_DelimiterPrecedesLastOnBibliographyInBibliography.txt view
@@ -0,0 +1,63 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe, and Jane Roe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography+ delimiter-precedes-last="always">+ <layout>+ <names variable="author">+ <name delimiter=", " and="text" />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_DelimiterPrecedesLastOnBibliographyInCitation.txt view
@@ -0,0 +1,63 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+John Doe and Jane Roe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name delimiter=", " and="text" />+ </names>+ </layout>+ </citation>+ <bibliography+ delimiter-precedes-last="always">+ <layout>+ <names variable="author">+ <name delimiter=", " and="text" />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_DelimiterPrecedesLastOnCitationInBibliography.txt view
@@ -0,0 +1,65 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe and Jane Roe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ delimiter-precedes-last="always">+ <layout>+ <names variable="author">+ <name delimiter=", " and="text" />+ </names>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name delimiter=", " and="text" />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_DelimiterPrecedesLastOnCitationInCitation.txt view
@@ -0,0 +1,56 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+John Doe, and Jane Roe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ delimiter-precedes-last="always">+ <layout>+ <names variable="author">+ <name delimiter=", " and="text" />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_DelimiterPrecedesLastOnNamesInBibliography.txt view
@@ -0,0 +1,62 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe, and Jane Roe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name delimiter=", " and="text" delimiter-precedes-last="always" />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_DelimiterPrecedesLastOnNamesInCitation.txt view
@@ -0,0 +1,55 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+John Doe, and Jane Roe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name delimiter=", " and="text" delimiter-precedes-last="always"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_DelimiterPrecedesLastOnStyleInBibliography.txt view
@@ -0,0 +1,63 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe, and Jane Roe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ delimiter-precedes-last="always">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name delimiter=", " and="text"/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_DelimiterPrecedesLastOnStyleInCitation.txt view
@@ -0,0 +1,56 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+John Doe, and Jane Roe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ delimiter-precedes-last="always">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name delimiter=", " and="text" />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_EtAlMinOnBibliographyInBibliography.txt view
@@ -0,0 +1,63 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe et al.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography+ et-al-min="2">+ <layout>+ <names variable="author">+ <name et-al-use-first="1"/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_EtAlMinOnBibliographyInCitation.txt view
@@ -0,0 +1,63 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+John Doe, Jane Roe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name et-al-use-first="1"/>+ </names>+ </layout>+ </citation>+ <bibliography+ et-al-min="2">+ <layout>+ <names variable="author">+ <name et-al-use-first="1"/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_EtAlMinOnCitationInBibliography.txt view
@@ -0,0 +1,65 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe, Jane Roe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ et-al-min="2">+ <layout>+ <names variable="author">+ <name et-al-use-first="1"/>+ </names>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name et-al-use-first="1"/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_EtAlMinOnCitationInCitation.txt view
@@ -0,0 +1,56 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+John Doe et al.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ et-al-min="2">+ <layout>+ <names variable="author">+ <name et-al-use-first="1"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_EtAlMinOnNamesInBibliography.txt view
@@ -0,0 +1,62 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe et al.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name et-al-min="2" et-al-use-first="1"/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_EtAlMinOnNamesInCitation.txt view
@@ -0,0 +1,55 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+John Doe et al.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name et-al-min="2" et-al-use-first="1"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_EtAlMinOnStyleInBibliography.txt view
@@ -0,0 +1,62 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe et al.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name et-al-min="2" et-al-use-first="1"/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_EtAlMinOnStyleInCitation.txt view
@@ -0,0 +1,55 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+John Doe et al.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name et-al-min="2" et-al-use-first="1"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_EtAlSubsequentMinOnBibliographyInBibliography.txt view
@@ -0,0 +1,66 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++NOTE: the subsequent variants of et-al-use-first and et-al-min+have no effect in the bibliography.+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe, Jane Roe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography+ et-al-subsequent-min="2">+ <layout>+ <names variable="author">+ <name et-al-subsequent-use-first="1"/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_EtAlSubsequentMinOnBibliographyInCitation.txt view
@@ -0,0 +1,63 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+John Doe, Jane Roe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name et-al-subsequent-use-first="1"/>+ </names>+ </layout>+ </citation>+ <bibliography+ et-al-subsequent-min="2">+ <layout>+ <names variable="author">+ <name et-al-subsequent-use-first="1"/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_EtAlSubsequentMinOnCitationInBibliography.txt view
@@ -0,0 +1,65 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe, Jane Roe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ et-al-subsequent-min="2">+ <layout>+ <names variable="author">+ <name et-al-subsequent-use-first="1"/>+ </names>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name et-al-subsequent-use-first="1"/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_EtAlSubsequentMinOnNamesInBibliography.txt view
@@ -0,0 +1,66 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++NOTE: The subsequent forms of et-al-min and et-al-use-first+are completely ignored in the bibliography.+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe, Jane Roe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name et-al-subsequent-min="2" et-al-subsequent-use-first="1"/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_EtAlSubsequentMinOnStyleInBibliography.txt view
@@ -0,0 +1,65 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++NOTE: the subsequent versions of et-al-min and et-al-use-first+are completely ignored in the bibliography.+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe, Jane Roe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name et-al-subsequent-min="2" et-al-subsequent-use-first="1"/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_EtAlSubsequentUseFirstOnBibliographyInBibliography.txt view
@@ -0,0 +1,70 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++NOTE: the subsequent variants of et-al-min and et-al-use-first+have no effect in the bibliography.+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe, Jane Roe, Richard Snoakes</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography+ et-al-subsequent-use-first="2">+ <layout>+ <names variable="author">+ <name et-al-subsequent-min="3" delimiter=", "/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Snoakes",+ "given": "Richard"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_EtAlSubsequentUseFirstOnBibliographyInCitation.txt view
@@ -0,0 +1,69 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++NOTE: no effect, of course.+++>>===== RESULT =====>>+John Doe, Jane Roe, Richard Snoakes+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name delimiter=", "/>+ </names>+ </layout>+ </citation>+ <bibliography+ et-al-subsequent-use-first="2">+ <layout>+ <names variable="author">+ <name et-al-subsequent-min="3" delimiter=", "/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Snoakes",+ "given": "Richard"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_EtAlSubsequentUseFirstOnCitationInBibliography.txt view
@@ -0,0 +1,72 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++NOTE: no effect, of course.+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe, Jane Roe, Richard Snoakes</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ et-al-subsequent-use-first="2">+ <layout>+ <names variable="author">+ <name et-al-subsequent-min="3" delimiter=", "/>+ </names>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name delimiter=", "/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Snoakes",+ "given": "Richard"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_EtAlSubsequentUseFirstOnStyleInBibliography.txt view
@@ -0,0 +1,71 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++NOTE: The subsequent forms of et-al-min and et-al-use-first are+completely ignored in the bibliography.+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe, Jane Roe, Richard Snoakes</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ et-al-subsequent-use-first="2">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name et-al-subsequent-min="3" delimiter=", "/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Snoakes",+ "given": "Richard"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_EtAlUseFirstOnBibliographyInBibliography.txt view
@@ -0,0 +1,67 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe, Jane Roe, et al.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography+ et-al-use-first="2">+ <layout>+ <names variable="author">+ <name et-al-min="3" delimiter=", "/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Snoakes",+ "given": "Richard"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_EtAlUseFirstOnBibliographyInCitation.txt view
@@ -0,0 +1,69 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++NOTE: no effect, of course.+++>>===== RESULT =====>>+John Doe, Jane Roe, Richard Snoakes+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name et-al-min="4" delimiter=", "/>+ </names>+ </layout>+ </citation>+ <bibliography+ et-al-use-first="2">+ <layout>+ <names variable="author">+ <name et-al-min="3" delimiter=", "/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Snoakes",+ "given": "Richard"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_EtAlUseFirstOnCitationInBibliography.txt view
@@ -0,0 +1,69 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe, Jane Roe, Richard Snoakes</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ et-al-use-first="2">+ <layout>+ <names variable="author">+ <name et-al-min="3" delimiter=", "/>+ </names>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name et-al-min="3" delimiter=", "/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Snoakes",+ "given": "Richard"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_EtAlUseFirstOnCitationInCitation.txt view
@@ -0,0 +1,67 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+John Doe, Jane Roe, et al.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ et-al-use-first="2">+ <layout>+ <names variable="author">+ <name et-al-min="3" delimiter=", "/>+ </names>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name et-al-min="3" delimiter=", "/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Snoakes",+ "given": "Richard"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_EtAlUseFirstOnNamesInBibliography.txt view
@@ -0,0 +1,66 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe, Jane Roe, et al.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name et-al-min="3" delimiter=", " et-al-use-first="2"/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Snoakes",+ "given": "Richard"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_EtAlUseFirstOnNamesInCitation.txt view
@@ -0,0 +1,59 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+John Doe, Jane Roe, et al.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name et-al-min="3" delimiter=", " et-al-use-first="2"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Snoakes",+ "given": "Richard"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_EtAlUseFirstOnStyleInBibliography.txt view
@@ -0,0 +1,67 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe, Jane Roe, et al.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ et-al-use-first="2">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name et-al-min="3" delimiter=", "/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Snoakes",+ "given": "Richard"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_EtAlUseFirstOnStyleInCitation.txt view
@@ -0,0 +1,59 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+John Doe, Jane Roe, et al.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name et-al-min="3" delimiter=", " et-al-use-first="2"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Snoakes",+ "given": "Richard"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_InitializeWithOnBibliographyInBibliography.txt view
@@ -0,0 +1,59 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">J.-L. Doe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography+ initialize-with=". ">+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John-Lee"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_InitializeWithOnBibliographyInCitation.txt view
@@ -0,0 +1,59 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+John-Lee Doe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </citation>+ <bibliography+ initialize-with=". ">+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John-Lee"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_InitializeWithOnCitationInBibliography.txt view
@@ -0,0 +1,61 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John-Lee Doe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ initialize-with=". ">+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John-Lee"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_InitializeWithOnCitationInCitation.txt view
@@ -0,0 +1,52 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+J.-L. Doe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ initialize-with=". ">+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John-Lee"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_InitializeWithOnNamesInBibliography.txt view
@@ -0,0 +1,58 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">J.-L. Doe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name initialize-with=". "/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John-Lee"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_InitializeWithOnNamesInCitation.txt view
@@ -0,0 +1,51 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+J.-L. Doe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name initialize-with=". "/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John-Lee"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_InitializeWithOnStyleInBibliography.txt view
@@ -0,0 +1,59 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">J.-L. Doe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ initialize-with=". ">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John-Lee"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_InitializeWithOnStyleInCitation.txt view
@@ -0,0 +1,52 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+J.-L. Doe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ initialize-with=". ">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John-Lee"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NameAsSortOrderOnBibliographyInBibliography.txt view
@@ -0,0 +1,63 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Doe, John; Roe, Jane</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography+ name-as-sort-order="all">+ <layout>+ <names variable="author">+ <name sort-separator=", " delimiter="; "/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NameAsSortOrderOnBibliographyInCitation.txt view
@@ -0,0 +1,63 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+John Doe; Jane Roe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name sort-separator=", " delimiter="; "/>+ </names>+ </layout>+ </citation>+ <bibliography+ name-as-sort-order="all">+ <layout>+ <names variable="author">+ <name sort-separator=", " delimiter="; "/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NameAsSortOrderOnCitationInBibliography.txt view
@@ -0,0 +1,65 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe; Jane Roe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ name-as-sort-order="all">+ <layout>+ <names variable="author">+ <name sort-separator=", " delimiter="; "/>+ </names>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name sort-separator=", " delimiter="; "/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NameAsSortOrderOnCitationInCitation.txt view
@@ -0,0 +1,56 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+Doe, John; Roe, Jane+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ name-as-sort-order="all">+ <layout>+ <names variable="author">+ <name sort-separator=", " delimiter="; "/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NameAsSortOrderOnNamesInBibliography.txt view
@@ -0,0 +1,62 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Doe, John; Roe, Jane</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name sort-separator=", " delimiter="; " name-as-sort-order="all"/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NameAsSortOrderOnNamesInCitation.txt view
@@ -0,0 +1,55 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+Doe, John; Roe, Jane+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name sort-separator=", " delimiter="; " name-as-sort-order="all"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NameAsSortOrderOnStyleInBibliography.txt view
@@ -0,0 +1,63 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Doe, John; Roe, Jane</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ name-as-sort-order="all">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name sort-separator=", " delimiter="; "/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NameAsSortOrderOnStyleInCitation.txt view
@@ -0,0 +1,55 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+Doe, John; Roe, Jane+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name sort-separator=", " delimiter="; " name-as-sort-order="all"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NameDelimiterOnBibliographyInBibliography.txt view
@@ -0,0 +1,63 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe; Jane Roe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography+ name-delimiter="; ">+ <layout>+ <names variable="author">+ <name/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NameDelimiterOnBibliographyInCitation.txt view
@@ -0,0 +1,63 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+John Doe, Jane Roe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name/>+ </names>+ </layout>+ </citation>+ <bibliography+ name-delimiter="; ">+ <layout>+ <names variable="author">+ <name form="short"/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NameDelimiterOnCitationInBibliography.txt view
@@ -0,0 +1,65 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe, Jane Roe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ name-delimiter="; ">+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NameDelimiterOnCitationInCitation.txt view
@@ -0,0 +1,63 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+John Doe; Jane Roe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ name-delimiter="; ">+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name form="short"/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NameDelimiterOnNamesInBibliography.txt view
@@ -0,0 +1,62 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe; Jane Roe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name delimiter="; "/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NameDelimiterOnNamesInCitation.txt view
@@ -0,0 +1,62 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+John Doe; Jane Roe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name delimiter="; "/>+ </names>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name form="short"/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NameDelimiterOnStyleInBibliography.txt view
@@ -0,0 +1,63 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe; Jane Roe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ name-delimiter="; ">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NameDelimiterOnStyleInCitation.txt view
@@ -0,0 +1,63 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+John Doe; Jane Roe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ name-delimiter="; ">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name form="short"/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NameFormOnBibliographyInBibliography.txt view
@@ -0,0 +1,59 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Doe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography+ name-form="short">+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NameFormOnBibliographyInCitation.txt view
@@ -0,0 +1,59 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+John Doe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </citation>+ <bibliography+ name-form="short">+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NameFormOnCitationInBibliography.txt view
@@ -0,0 +1,61 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ name-form="short">+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NameFormOnCitationInCitation.txt view
@@ -0,0 +1,59 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+Doe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ name-form="short">+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NameFormOnNamesInBibliography.txt view
@@ -0,0 +1,58 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Doe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name form="short"/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NameFormOnNamesInCitation.txt view
@@ -0,0 +1,51 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+Doe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name form="short"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NameFormOnStyleInBibliography.txt view
@@ -0,0 +1,59 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Doe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ name-form="short">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NameFormOnStyleInCitation.txt view
@@ -0,0 +1,52 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+Doe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ name-form="short">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NamesDelimiterOnBibliographyInBibliography.txt view
@@ -0,0 +1,66 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe AND ALSO THE EDITOR Jane Roe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography+ names-delimiter=" AND ALSO THE EDITOR ">+ <layout>+ <names variable="author editor">+ <name />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "editor": [+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NamesDelimiterOnBibliographyInCitation.txt view
@@ -0,0 +1,66 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+John DoeJane Roe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author editor">+ <name />+ </names>+ </layout>+ </citation>+ <bibliography+ names-delimiter=" AND ALSO THE EDITOR ">+ <layout>+ <names variable="author editor">+ <name name-as-sort-order="all" />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "editor": [+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NamesDelimiterOnCitationInBibliography.txt view
@@ -0,0 +1,68 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John DoeJane Roe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ names-delimiter=" AND ALSO THE EDITOR ">+ <layout>+ <names variable="author editor">+ <name name-as-sort-order="all"/>+ </names>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author editor">+ <name />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "editor": [+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NamesDelimiterOnCitationInCitation.txt view
@@ -0,0 +1,59 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+John Doe AND ALSO THE EDITOR Jane Roe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ names-delimiter=" AND ALSO THE EDITOR ">+ <layout>+ <names variable="author editor">+ <name />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "editor": [+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NamesDelimiterOnNamesInBibliography.txt view
@@ -0,0 +1,65 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe AND ALSO THE EDITOR Jane Roe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author editor" delimiter=" AND ALSO THE EDITOR ">+ <name />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "editor": [+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NamesDelimiterOnNamesInCitation.txt view
@@ -0,0 +1,58 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+John Doe AND ALSO THE EDITOR Jane Roe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author editor" delimiter=" AND ALSO THE EDITOR ">+ <name />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "editor": [+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NamesDelimiterOnStyleInBibliography.txt view
@@ -0,0 +1,65 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe AND ALSO THE EDITOR Jane Roe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography names-delimiter=" AND ALSO THE EDITOR ">+ <layout>+ <names variable="author editor">+ <name />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "editor": [+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_NamesDelimiterOnStyleInCitation.txt view
@@ -0,0 +1,59 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+John Doe AND ALSO THE EDITOR Jane Roe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ names-delimiter=" AND ALSO THE EDITOR ">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author editor">+ <name />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "editor": [+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_SortSeparatorOnBibliographyInBibliography.txt view
@@ -0,0 +1,59 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Doe, John</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography+ sort-separator=", ">+ <layout>+ <names variable="author">+ <name name-as-sort-order="all"/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_SortSeparatorOnBibliographyInCitation.txt view
@@ -0,0 +1,60 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+Doe~John+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name name-as-sort-order="all" sort-separator="~"/>+ </names>+ </layout>+ </citation>+ <bibliography+ name-as-sort-order="first"+ sort-separator=" ">+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_SortSeparatorOnCitationInBibliography.txt view
@@ -0,0 +1,61 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Doe, John</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ sort-separator="; ">+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name name-as-sort-order="all"/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_SortSeparatorOnCitationInCitation.txt view
@@ -0,0 +1,52 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+Doe, John+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation+ sort-separator=", ">+ <layout>+ <names variable="author">+ <name name-as-sort-order="all"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_SortSeparatorOnNamesInBibliography.txt view
@@ -0,0 +1,58 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Doe, John</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name sort-separator=", " name-as-sort-order="all"/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_SortSeparatorOnNamesInCitation.txt view
@@ -0,0 +1,51 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+Doe, John+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name sort-separator=", " name-as-sort-order="all"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_SortSeparatorOnStyleInBibliography.txt view
@@ -0,0 +1,59 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Doe, John</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ sort-separator=", ">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Oops"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <names variable="author">+ <name name-as-sort-order="all"/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameattr_SortSeparatorOnStyleInCitation.txt view
@@ -0,0 +1,52 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+Doe, John+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ sort-separator=", ">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name name-as-sort-order="all"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameorder_Long.txt view
@@ -0,0 +1,55 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Gérard de la Martinière III+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "dropping-particle": "de",+ "family": "Martinière",+ "given": "Gérard",+ "non-dropping-particle": "la",+ "suffix": "III"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameorder_LongNameAsSortDemoteDisplayAndSort.txt view
@@ -0,0 +1,56 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Martinière, Gérard de la, III+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ demote-non-dropping-particle="display-and-sort">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name name-as-sort-order="all"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "dropping-particle": "de",+ "family": "Martinière",+ "given": "Gérard",+ "non-dropping-particle": "la",+ "suffix": "III"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameorder_LongNameAsSortDemoteNever.txt view
@@ -0,0 +1,56 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+la Martinière, Gérard de, III+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ demote-non-dropping-particle="never">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name name-as-sort-order="all"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "dropping-particle": "de",+ "family": "Martinière",+ "given": "Gérard",+ "non-dropping-particle": "la",+ "suffix": "III"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameorder_Short.txt view
@@ -0,0 +1,55 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+la Martinière+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name form="short"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "dropping-particle": "de",+ "family": "Martinière",+ "given": "Gérard",+ "non-dropping-particle": "la",+ "suffix": "III"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameorder_ShortDemoteDisplayAndSort.txt view
@@ -0,0 +1,56 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+la Martinière+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ demote-non-dropping-particle="display-and-sort">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name form="short"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "dropping-particle": "de",+ "family": "Martinière",+ "given": "Gérard",+ "non-dropping-particle": "la",+ "suffix": "III"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/nameorder_ShortNameAsSortDemoteNever.txt view
@@ -0,0 +1,56 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+la Martinière+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ demote-non-dropping-particle="never">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name form="short" name-as-sort-order="all"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "dropping-particle": "de",+ "family": "Martinière",+ "given": "Gérard",+ "non-dropping-particle": "la",+ "suffix": "III"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/namespaces_NonNada3.txt view
@@ -0,0 +1,45 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Book A+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "Book A",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/number_FailingDelimiters.txt view
@@ -0,0 +1,58 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">His Anonymous Life[x]100[x]:555</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; ">+ <text value="DUMMY"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <group delimiter="[x]">+ <text variable="title"/>+ <number variable="volume"/>+ <number variable="issue" prefix=":"/>+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issue": 555,+ "title": "His Anonymous Life",+ "type": "book",+ "volume": 100+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/number_IsNumericWithAlpha.txt view
@@ -0,0 +1,52 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+not numeric+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <choose>+ <if is-numeric="edition">+ <text value="numeric"/>+ </if>+ <else>+ <text value="not numeric"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "edition": "annotated edition",+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/number_LeadingZeros.txt view
@@ -0,0 +1,55 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+01790 (is-numeric)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0" page-range-format="chicago">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; ">+ <group delimiter=" ">+ <text variable="page"/>+ <choose>+ <if is-numeric="page">+ <text value="(is-numeric)"/>+ </if>+ <else>+ <text value="(non-numeric)"/>+ </else>+ </choose>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "page": "01790",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/number_LimitOrdinalsToDayOne.txt view
@@ -0,0 +1,78 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++>>===== DESCRIPTION =====>>+limit-day-ordinals-to-day-1 with date ranges++Reported by @bwiernik @ https://gist.github.com/bwiernik/a18438c70e7a98155812a6652ffa91cc+<<===== DESCRIPTION =====<<++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">1<sup>e</sup><sup>r</sup>-14 octobre 2004</div>+ <div class="csl-entry">14 octobre-1<sup>e</sup><sup>r</sup> novembre 2004</div>+</div>+<<===== RESULT =====<<++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0" page-range-format="minimal-two" default-locale="fr-FR">+ <info>+ <title>Date ranges with ordinal French option format</title>+ <title-short>dates_ranges_ordinal_french</title-short>+ <id>http://www.zotero.org/styles/dates_ranges_ordinal_french</id>+ <link rel="self" href="http://www.zotero.org/styles/dates_ranges_ordinal_french"/>+ <author>+ <name/>+ </author>+ <category citation-format="note"/>+ <category field="humanities"/>+ <updated>2020-06-27T10:27:51+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale xml:lang="fr">+ <style-options limit-day-ordinals-to-day-1="true"/>+ </locale>+ <citation>+ <layout delimiter=" ; ">+ <date delimiter=" " variable="event-date">+ <date-part name="day" form="ordinal" range-delimiter="-"/>+ <date-part name="month" form="long" range-delimiter="-"/>+ <date-part name="year" range-delimiter="-"/>+ </date>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <date delimiter=" " variable="event-date">+ <date-part name="day" form="ordinal" range-delimiter="-"/>+ <date-part name="month" form="long" range-delimiter="-"/>+ <date-part name="year" range-delimiter="-"/>+ </date>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<++>>===== INPUT =====>>+[+ {+ "id": "first_day_1_second_not1",+ "type": "book",+ "language": "fr",+ "note": "event-date: 2004-10-01/2004-10-14"+ },+ {+ "id": "first_day_not1_second_1",+ "type": "book",+ "language": "fr",+ "note": "event-date: 2004-10-14/2004-11-01"+ }+ +]+<<===== INPUT =====<<++>>===== VERSION =====>>+1.0.1+<<===== VERSION =====<<
+ test/csl/number_MixedPageRange.txt view
@@ -0,0 +1,47 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+142–45 & 235+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ page-range-format="chicago">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="page" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "page": "142-145 & 235",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/number_MixedText.txt view
@@ -0,0 +1,50 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+5 ed.; 5 edition+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; ">+ <number variable="edition"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "edition": "5 ed.",+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "edition": "5 edition",+ "id": "ITEM-2",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/number_NewOrdinalsEdition.txt view
@@ -0,0 +1,1071 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+<i>Title 1</i>, 1<sup>r</sup><sup>e</sup> éd., 2000.+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0" demote-non-dropping-particle="sort-only" default-locale="fr-FR">+ <info>+ <title>Chicago Manual of Style (full note - fr-FR locale)</title>+ <id>http://www.zotero.org/styles/chicago-fullnote-bibliography-fr</id>+ <link href="http://www.zotero.org/styles/chicago-fullnote-bibliography" rel="self"/>+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </contributor>+ <contributor>+ <name>Elena Razlogova</name>+ <email>elena.razlogova@gmail.com</email>+ </contributor>+ <contributor>+ <name>Frank Bennett</name>+ <email>biercenator@gmail.com</email>+ </contributor>+ <summary>Chicago format with full notes and bibliography</summary>+ <category field="generic-base"/>+ <category citation-format="note"/>+ <updated>2012-07-10T00:46:02+00:00</updated>+ <rights>This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>+ </info>+ <locale xml:lang="en">+ <terms>+ <term name="editortranslator" form="verb-short">+ <single>trans. and ed.</single>+ <multiple>trans. and ed.</multiple>+ </term>+ <term name="editortranslator" form="verb">+ <single> Translated and edited by</single>+ <multiple> Translated and edited by</multiple>+ </term>+ </terms>+ </locale>+ <macro name="editor-translator">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <group delimiter=" ">+ <choose>+ <if variable="container-author">+ <group>+ <names variable="container-author">+ <label form="verb-short" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </if>+ </choose>+ </group>+ <names variable="editor translator" delimiter=", ">+ <label form="verb-short" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="secondary-contributors-note">+ <choose>+ <if type="chapter paper-conference" match="none">+ <text macro="editor-translator"/>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors-note">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text macro="editor-translator"/>+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if type="chapter paper-conference" match="none">+ <group delimiter=". ">+ <choose>+ <if variable="author">+ <names variable="editor translator" delimiter=". ">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference" match="any">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <choose>+ <if variable="container-author">+ <names variable="container-author">+ <label form="verb-short" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ </choose>+ <!--This includes page numers after the container author, e.g. for Introductions -->+ <choose>+ <if variable="container-author author" match="all">+ <group delimiter=". ">+ <text variable="page"/>+ <names variable="editor translator" delimiter=", ">+ <label form="verb" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </if>+ <else>+ <names variable="editor translator" delimiter=", ">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </else>+ </choose>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="recipient-note">+ <names variable="recipient" delimiter=", ">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="contributors-note">+ <group delimiter=" ">+ <names variable="author">+ <name and="text" sort-separator=", " delimiter=", "/>+ <label form="short" prefix=", "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ <text macro="recipient-note"/>+ </group>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", "/>+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="verb-short" prefix=", "/>+ </names>+ </macro>+ <macro name="recipient">+ <group delimiter=" ">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ <else>+ <text term="letter" text-case="capitalize-first"/>+ </else>+ </choose>+ </if>+ </choose>+ <text macro="recipient-note"/>+ </group>+ </macro>+ <macro name="contributors">+ <group delimiter=". ">+ <names variable="author">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <substitute>+ <text macro="editor"/>+ <text macro="translator"/>+ </substitute>+ </names>+ <text macro="recipient"/>+ </group>+ </macro>+ <macro name="recipient-short">+ <names variable="recipient">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name form="short" and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="contributors-short">+ <group delimiter=" ">+ <names variable="author">+ <name form="short" and="text" delimiter=", "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ <text macro="recipient-short"/>+ </group>+ </macro>+ <macro name="contributors-sort">+ <names variable="author">+ <name name-as-sort-order="all" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ </macro>+ <macro name="interviewer-note">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="interviewer">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="title-note">+ <choose>+ <if variable="title" match="none">+ <text variable="genre"/>+ </if>+ <else-if type="bill book graphic legislation motion_picture report song" match="any">+ <text variable="title" text-case="title" font-style="italic"/>+ <text variable="version" prefix=" , version " suffix=""/>+ <!--This isn't localized because we don't have a version term. While not ideal, it should work for many languages and is better than not including a term.-->+ </else-if>+ <else-if type="legal_case">+ <text variable="title" />+ </else-if>+ <else>+ <text variable="title" text-case="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if variable="title" match="none">+ <choose>+ <if type="personal_communication" match="none">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ </choose>+ </if>+ <else-if type="bill book graphic legislation motion_picture report song" match="any">+ <text variable="title" text-case="title" font-style="italic"/>+ <text variable="version" prefix=" (version " suffix=")"/>+ </else-if>+ <else-if type="legal_case">+ <text variable="title" />+ </else-if>+ <else>+ <text variable="title" text-case="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="title-short">+ <choose>+ <if variable="title" match="none">+ <choose>+ <if type="interview">+ <text term="interview" text-case="lowercase"/>+ </if>+ <else-if type="manuscript speech" match="any">+ <text variable="genre" form="short"/>+ </else-if>+ <else-if type="personal_communication">+ <text macro="issued"/>+ </else-if>+ </choose>+ </if>+ <else-if type="bill book graphic legislation motion_picture report song" match="any">+ <text variable="title" text-case="title" form="short" font-style="italic"/>+ </else-if>+ <else-if type="legal_case">+ <text variable="title" />+ </else-if>+ <else>+ <text variable="title" text-case="title" form="short" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="description-note">+ <group delimiter=", ">+ <text macro="interviewer-note"/>+ <text variable="medium"/>+ <choose>+ <if variable="title" match="none"/>+ <else-if type="thesis speech" match="any"/>+ <else>+ <text variable="genre"/>+ </else>+ </choose>+ </group>+ </macro>+ <macro name="description">+ <group delimiter=", ">+ <group delimiter=". ">+ <text macro="interviewer"/>+ <text variable="medium" text-case="capitalize-first"/>+ </group>+ <choose>+ <if variable="title" match="none"/>+ <else-if type="thesis speech" match="any"/>+ <else>+ <text variable="genre" text-case="capitalize-first"/>+ </else>+ </choose>+ </group>+ </macro>+ <macro name="container-title-note">+ <group delimiter=" ">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text term="in" text-case="lowercase"/>+ </if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <text variable="container-title" text-case="title" font-style="italic"/>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="container-title">+ <group delimiter=" ">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text term="in" text-case="capitalize-first"/>+ </if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <text variable="container-title" text-case="title" font-style="italic"/>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="collection-title">+ <group delimiter=" ">+ <text variable="collection-title" text-case="title"/>+ <text variable="collection-number"/>+ </group>+ </macro>+ <macro name="edition-note">+ <choose>+ <if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short"/>+ </group>+ </if>+ <else>+ <number variable="edition" suffix="."/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short"/>+ </group>+ </if>+ <else>+ <number variable="edition" text-case="capitalize-first" suffix="."/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-note-join-with-space">+ <choose>+ <if type="article-journal">+ <text macro="locators-note"/>+ </if>+ </choose>+ </macro>+ <macro name="locators-note-join-with-comma">+ <choose>+ <if type="article-journal" match="none">+ <text macro="locators-note"/>+ </if>+ </choose>+ </macro>+ <macro name="locators-note">+ <choose>+ <if type="article-journal">+ <group delimiter=", ">+ <number variable="volume"/>+ <group delimiter=" ">+ <text term="issue" form="short"/>+ <number variable="issue"/>+ </group>+ </group>+ </if>+ <else-if type="legal_case">+ <group delimiter=", ">+ <group delimiter=" ">+ <number variable="volume"/>+ <text variable="container-title"/>+ <text variable="page"/>+ </group>+ <text variable="locator"/>+ </group>+ </else-if>+ <else-if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="any">+ <group delimiter=", ">+ <group delimiter=" ">+ <text term="volume" form="short"/>+ <number variable="volume" form="numeric"/>+ </group>+ <choose>+ <if variable="locator" match="none">+ <group delimiter=" ">+ <number variable="number-of-volumes" form="numeric"/>+ <text term="volume" form="short" plural="true"/>+ </group>+ </if>+ </choose>+ <text macro="edition-note"/>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-join-with-space">+ <choose>+ <if type="article-journal">+ <text macro="locators"/>+ </if>+ </choose>+ </macro>+ <macro name="locators-join-with-comma">+ <choose>+ <if type="legal_case">+ <text macro="locators"/>+ </if>+ </choose>+ </macro>+ <macro name="locators-join-with-period">+ <choose>+ <if type="legal_case article-journal" match="none">+ <text macro="locators"/>+ </if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <group delimiter=", ">+ <number variable="volume"/>+ <group delimiter=" ">+ <text term="issue" form="short"/>+ <number variable="issue"/>+ </group>+ </group>+ </if>+ <else-if type="legal_case">+ <group delimiter=" ">+ <number variable="volume"/>+ <text variable="container-title"/>+ <text variable="page"/>+ </group>+ </else-if>+ <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <group delimiter=". ">+ <group delimiter=" ">+ <text term="volume" form="short" text-case="capitalize-first"/>+ <number variable="volume" form="numeric"/>+ </group>+ <group delimiter=" ">+ <number variable="number-of-volumes" form="numeric"/>+ <text term="volume" form="short" plural="true"/>+ </group>+ <text macro="edition"/>+ </group>+ </else-if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=". ">+ <choose>+ <if variable="page" match="none">+ <group delimiter=" ">+ <text term="volume" form="short" text-case="capitalize-first"/>+ <number variable="volume" form="numeric"/>+ </group>+ </if>+ </choose>+ <text macro="edition"/>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-newspaper">+ <choose>+ <if type="article-newspaper">+ <group delimiter=", ">+ <group delimiter=" ">+ <number variable="edition"/>+ <text term="edition"/>+ </group>+ <group delimiter=" ">+ <text term="section" form="short"/>+ <text variable="section"/>+ </group>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="event">+ <group delimiter=" ">+ <text term="presented at"/>+ <text variable="event"/>+ </group>+ </macro>+ <macro name="publisher">+ <choose>+ <if type="thesis">+ <text variable="publisher"/>+ </if>+ <else>+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="issued">+ <choose>+ <if variable="issued">+ <choose>+ <if type="graphic report" match="any">+ <date variable="issued">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </if>+ <else-if type="legal_case">+ <group delimiter=" ">+ <text variable="authority"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ <else-if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song thesis" match="any">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </else-if>+ <else>+ <date variable="issued">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </else>+ </choose>+ </if>+ <else-if variable="accessed URL" match="all">+ </else-if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="point-locators-subsequent">+ <choose>+ <if variable="locator">+ <choose>+ <if locator="page" match="none">+ <group delimiter=" ">+ <choose>+ <if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <choose>+ <if variable="volume">+ <group delimiter=", ">+ <group delimiter=" ">+ <text term="volume" form="short" text-case="lowercase"/>+ <number variable="volume" form="numeric"/>+ </group>+ <label variable="locator" form="short"/>+ </group>+ </if>+ <else>+ <label variable="locator" form="short"/>+ </else>+ </choose>+ </if>+ <else>+ <label variable="locator" form="short"/>+ </else>+ </choose>+ <text variable="locator"/>+ </group>+ </if>+ <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <group delimiter=":">+ <number variable="volume" form="numeric"/>+ <text variable="locator"/>+ </group>+ </else-if>+ <else>+ <text variable="locator"/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="point-locators-join-with-colon">+ <choose>+ <if type="article-journal">+ <choose>+ <if variable="locator page" match="any">+ <text macro="point-locators"/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="point-locators-join-with-comma">+ <choose>+ <if type="article-journal" match="none">+ <text macro="point-locators"/>+ </if>+ </choose>+ </macro>+ <macro name="point-locators">+ <choose>+ <if variable="locator" match="none">+ <choose>+ <if type="article-journal chapter paper-conference" match="any">+ <text variable="page"/>+ </if>+ </choose>+ </if>+ <else-if type="article-journal">+ <group delimiter=" ">+ <choose>+ <if locator="page" match="none">+ <label variable="locator" form="short" suffix=" "/>+ </if>+ </choose>+ <text variable="locator"/>+ </group>+ </else-if>+ <else-if type="legal_case"/>+ <else>+ <group delimiter=" ">+ <choose>+ <if locator="page" match="none">+ <label variable="locator" form="short"/>+ </if>+ </choose>+ <text variable="locator"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter paper-conference" match="any">+ <choose>+ <if variable="page">+ <number variable="volume" suffix=":"/>+ <text variable="page"/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-journal">+ <choose>+ <if type="article-journal">+ <text variable="page"/>+ </if>+ </choose>+ </macro>+ <macro name="archive-note">+ <choose>+ <if type="thesis">+ <group delimiter=" ">+ <text variable="archive"/>+ <text variable="archive_location" prefix="(" suffix=")"/>+ </group>+ </if>+ <else>+ <group delimiter=", ">+ <text variable="archive_location"/>+ <text variable="archive"/>+ <text variable="archive-place"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="archive">+ <choose>+ <if type="thesis">+ <group delimiter=" ">+ <text variable="archive"/>+ <text variable="archive_location" prefix="(" suffix=")"/>+ </group>+ </if>+ <else>+ <group delimiter=". ">+ <text variable="archive_location" text-case="capitalize-first"/>+ <text variable="archive"/>+ <text variable="archive-place"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="issue-note-join-with-space">+ <choose>+ <if type="article-journal legal_case" variable="publisher-place publisher" match="any">+ <text macro="issue-note"/>+ </if>+ </choose>+ </macro>+ <macro name="issue-note-join-with-comma">+ <choose>+ <if type="article-journal legal_case" variable="publisher-place publisher" match="none">+ <text macro="issue-note"/>+ </if>+ </choose>+ </macro>+ <macro name="issue-note">+ <choose>+ <if type="article-journal legal_case" match="any">+ <text macro="issued" prefix="(" suffix=")"/>+ </if>+ <else-if variable="publisher-place publisher" match="any">+ <group prefix="(" suffix=")" delimiter=", ">+ <group delimiter=" ">+ <choose>+ <if variable="title" match="none"/>+ <else-if type="thesis speech" match="any">+ <text variable="genre"/>+ </else-if>+ </choose>+ <text macro="event"/>+ </group>+ <text macro="publisher"/>+ <text macro="issued"/>+ </group>+ </else-if>+ <else>+ <text macro="issued"/>+ </else>+ </choose>+ </macro>+ <macro name="issue-join-with-space">+ <choose>+ <if type="article-journal legal_case">+ <text macro="issue"/>+ </if>+ </choose>+ </macro>+ <macro name="issue-join-with-period">+ <choose>+ <if type="article-journal legal_case" match="none">+ <choose>+ <if type="speech" variable="publisher publisher-place" match="any">+ <text macro="issue"/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issue-join-with-comma">+ <choose>+ <if type="article-journal legal_case" match="none">+ <choose>+ <if type="speech" variable="publisher publisher-place" match="none">+ <text macro="issue"/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="article-journal legal_case" match="any">+ <text macro="issued" prefix="(" suffix=")"/>+ </if>+ <else-if type="speech">+ <group delimiter=", ">+ <group delimiter=" ">+ <choose>+ <if variable="title" match="none"/>+ <else>+ <text variable="genre" text-case="capitalize-first"/>+ </else>+ </choose>+ <text macro="event"/>+ </group>+ <text variable="event-place"/>+ <text macro="issued"/>+ </group>+ </else-if>+ <else-if variable="publisher-place publisher" match="any">+ <group delimiter=", ">+ <choose>+ <if type="thesis">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ </choose>+ <text macro="publisher"/>+ <text macro="issued"/>+ </group>+ </else-if>+ <else>+ <text macro="issued"/>+ </else>+ </choose>+ </macro>+ <macro name="access-note">+ <group delimiter=", ">+ <choose>+ <if type="graphic report" match="any">+ <text macro="archive-note"/>+ </if>+ <else-if type="article-journal article-magazine article-newspaper bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="none">+ <text macro="archive-note"/>+ </else-if>+ </choose>+ <choose>+ <if variable="issued" match="none">+ <group delimiter=" ">+ <text term="accessed"/>+ <date variable="accessed">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </group>+ </if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <text variable="URL"/>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="access">+ <group delimiter=". ">+ <choose>+ <if type="graphic report" match="any">+ <text macro="archive"/>+ </if>+ <else-if type="article-journal article-magazine article-newspaper bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="none">+ <text macro="archive"/>+ </else-if>+ </choose>+ <choose>+ <if variable="issued" match="none">+ <group delimiter=" ">+ <text term="accessed" text-case="capitalize-first"/>+ <date variable="accessed">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </group>+ </if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <text variable="URL"/>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="case-locator-subsequent">+ <choose>+ <if type="legal_case">+ <text macro="locators-note" />+ </if>+ </choose>+ </macro>+ <macro name="case-issue-subsequent">+ <choose>+ <if type="legal_case">+ <text macro="issue" />+ </if>+ </choose>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" disambiguate-add-names="true">+ <layout suffix="." delimiter="; ">+ <choose>+ <if position="ibid-with-locator">+ <group delimiter=", ">+ <text term="ibid"/>+ <text macro="point-locators-subsequent"/>+ </group>+ </if>+ <else-if position="ibid">+ <text term="ibid"/>+ </else-if>+ <else-if position="subsequent">+ <group delimiter=", ">+ <text macro="contributors-short"/>+ <group delimiter=" ">+ <group delimiter=", ">+ <text macro="title-short"/>+ <text macro="case-locator-subsequent"/>+ </group>+ <text macro="case-issue-subsequent"/>+ </group>+ <text macro="point-locators-subsequent"/>+ </group>+ </else-if>+ <else>+ <group delimiter=", ">+ <group delimiter=": ">+ <group delimiter=", ">+ <group delimiter=" ">+ <group delimiter=", ">+ <group delimiter=" ">+ <group delimiter=", ">+ <group delimiter=" ">+ <group delimiter=", ">+ <text macro="contributors-note"/>+ <text macro="title-note"/>+ </group>+ <text macro="description-note"/>+ </group>+ <text macro="secondary-contributors-note"/>+ <text macro="container-title-note"/>+ <text macro="container-contributors-note"/>+ </group>+ <text macro="locators-note-join-with-space"/>+ </group>+ <text macro="locators-note-join-with-comma"/>+ <text macro="collection-title"/>+ <text macro="issue-note-join-with-comma"/>+ </group>+ <text macro="issue-note-join-with-space"/>+ </group>+ <text macro="locators-newspaper"/>+ <text macro="point-locators-join-with-comma"/>+ </group>+ <text macro="point-locators-join-with-colon"/>+ </group>+ <text macro="access-note"/>+ </group>+ </else>+ </choose>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="11" et-al-use-first="7" subsequent-author-substitute="———" entry-spacing="0">+ <sort>+ <key macro="contributors-sort"/>+ <key variable="title"/>+ <key variable="genre"/>+ <key variable="issued"/>+ </sort>+ <layout suffix=".">+ <group delimiter=". ">+ <group delimiter=": ">+ <group delimiter=", ">+ <group delimiter=" ">+ <group delimiter=". ">+ <group delimiter=" ">+ <group delimiter=", ">+ <group delimiter=". ">+ <group delimiter=" ">+ <group delimiter=". ">+ <text macro="contributors"/>+ <text macro="title"/>+ </group>+ <text macro="description"/>+ </group>+ <text macro="secondary-contributors"/>+ <group delimiter=", ">+ <text macro="container-title"/>+ <text macro="container-contributors"/>+ <text macro="locators-chapter"/>+ </group>+ <text macro="locators-join-with-period"/>+ </group>+ <text macro="locators-join-with-comma"/>+ </group>+ <text macro="locators-join-with-space"/>+ </group>+ <text macro="collection-title"/>+ <text macro="issue-join-with-period"/>+ </group>+ <text macro="issue-join-with-space"/>+ </group>+ <text macro="issue-join-with-comma"/>+ <text macro="locators-newspaper"/>+ </group>+ <text macro="locators-journal"/>+ </group>+ <text macro="access"/>+ </group>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "edition": 1,+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2000,+ 1,+ 15+ ]+ ]+ },+ "title": "Title 1",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/number_NewOrdinalsWithGenderChange.txt view
@@ -0,0 +1,57 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Title 1: 1<sup>r</sup><sup>e</sup>femmie+<<===== RESULT =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ default-locale="fr-FR">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale xml:lang="fr-FR">+ <terms>+ <!-- ORDINALS -->+ <term name="ordinal">EE</term>+ <term name="ordinal-01" gender-form="feminine" match="whole-number">ʳᵉfemmie</term>+ <term name="ordinal-01" gender-form="masculine" match="whole-number">ᵉʳmacho</term>+ </terms>+ </locale>+ <citation>+ <layout delimiter="; ">+ <group delimiter=": ">+ <text variable="title"/>+ <number variable="edition" form="ordinal"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "edition": 1,+ "id": "ITEM-1",+ "title": "Title 1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/number_OrdinalSpacing.txt view
@@ -0,0 +1,57 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Blah blah. 7th, pp. 3–8DD<i>ed</i>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; ">+ <text value="Blah blah"/>+ <group delimiter="DD" prefix=". "+>+ <number variable="edition" form="ordinal"/>+ <text term="edition" font-style="italic" form="short" strip-periods="true"/>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "edition": "7, p. 3-8",+ "id": "ITEM-1",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/number_PageFirst.txt view
@@ -0,0 +1,50 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+42+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <group delimiter="; ">+ <text variable="title"/>+ <text variable="page-first" form="short"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "page": "42-45",+ "type": "book"+ }+]+<<===== INPUT =====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/number_PageRange.txt view
@@ -0,0 +1,46 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+42–45+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="page" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "page": "42-45",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/number_PlainHyphenOrEnDashAlwaysPlural.txt view
@@ -0,0 +1,83 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++Test to cover request here:++ http://xbiblio-devel.2463403.n2.nabble.com/contextual-labels-for-non-numeric-page-ranges-td7578166.html+++>>===== RESULT =====>>+His Anonymous Life (1) pages 1–2 (cs:text) vs His Anonymous Life (1) pages 1–2 (cs:number); His Anonymous Life (2) pages i–ix (cs:text) vs His Anonymous Life (2) pages i–ix (cs:number); His Anonymous Life (3) page 3-B (cs:text) vs His Anonymous Life (3) page 3-B (cs:number); His Anonymous Life (4) page Michaelson-Morely (cs:text) vs His Anonymous Life (4) page Michaelson-Morely (cs:number)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; ">+ <group delimiter=" " suffix=" (cs:text)">+ <text variable="title"/>+ <label variable="page"/>+ <text variable="page"/>+ </group>+ <group delimiter=" " prefix=" vs " suffix=" (cs:number)">+ <text variable="title"/>+ <label variable="page"/>+ <text variable="page"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "page": "1-2",+ "title": "His Anonymous Life (1)",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "page": "i-ix",+ "title": "His Anonymous Life (2)",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "page": "3\\-B",+ "title": "His Anonymous Life (3)",+ "type": "book"+ },+ {+ "id": "ITEM-4",+ "page": "4–6",+ "title": "His Anonymous Life (4)",+ "type": "book"+ },+ {+ "id": "ITEM-4",+ "page": "Michaelson-Morely",+ "title": "His Anonymous Life (4)",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/number_PreserveDelimiter.txt view
@@ -0,0 +1,90 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+. Pages 187–228 <i>in</i> C. S. Stephen and M. L. Brown, editors. Analysis and interpretation of freshwater fisheries data+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text term="in" suffix=" " font-style="italic"/>+ <names variable="editor translator" delimiter=", ">+ <name and="text" initialize-with=". " delimiter=", "/>+ <label form="long" prefix=", " suffix="."/>+ </names>+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if type="chapter paper-conference" match="none">+ <names variable="editor translator" delimiter=", ">+ <name and="text" initialize-with=". " delimiter=", "/>+ <label prefix=", "/>+ </names>+ </if>+ </choose>+ </macro>+ <citation>+ <layout>+ <group prefix=". " delimiter=" ">+ <label variable="page" form="long" text-case="capitalize-first"/>+ <text variable="page"/>+ <text macro="container-contributors"/>+ <text variable="container-title"/>+ <text macro="secondary-contributors"/>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "container-title": "Analysis and interpretation of freshwater fisheries data",+ "editor": [+ {+ "family": "Stephen",+ "given": "Clarence Stephen"+ },+ {+ "family": "Brown",+ "given": "Michael Lawrence"+ }+ ],+ "id": "ITEM-1",+ "page": "187-228",+ "type": "chapter"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/number_SeparateOrdinalNamespaces.txt view
@@ -0,0 +1,83 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+With One, 1.<sup>a</sup> edition, 1.<sup>o</sup> issue; With Two, 2.<sup>a</sup> edition, 2.<sup>o</sup><sup>o</sup> issue; With Three, 3.<sup>a</sup> edition, 3.<sup>a</sup> issue+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ default-locale="fr-FR">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <terms>+ <term name="ordinal">.ª</term>+ <term name="ordinal-01">.ª</term>+ <term name="ordinal-01" gender-form="masculine">.º</term>+ <term name="ordinal-01" gender-form="feminine">.ª</term>+ <term name="ordinal-02" gender-form="masculine">.ºº</term>+ <term name="issue" gender="masculine">issue</term> <!-- same as locale -->+ <term name="edition" gender="feminine">edition</term> <!-- same as locale -->+ </terms>+ </locale>+ <citation>+ <layout delimiter="; ">+ <group delimiter=", ">+ <text variable="title"/>+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <label variable="edition"/>+ </group>+ <group delimiter=" ">+ <number variable="issue" form="ordinal"/>+ <label variable="issue"/>+ </group>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "edition": "1",+ "id": "ITEM-1",+ "issue": "1",+ "title": "With One",+ "type": "book"+ },+ {+ "edition": "2",+ "id": "ITEM-2",+ "issue": "2",+ "title": "With Two",+ "type": "book"+ },+ {+ "edition": "3",+ "id": "ITEM-3",+ "issue": "3",+ "title": "With Three",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/number_SimpleNumberArabic.txt view
@@ -0,0 +1,46 @@+>>== MODE ==>>+citation+<<== MODE ==<<++++>>== RESULT ==>>+42+<<== RESULT ==<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="volume" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "item-1",+ "title": "Ignore me",+ "type": "book",+ "volume": "42"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/number_SimpleNumberOrdinalLong.txt view
@@ -0,0 +1,70 @@+>>== MODE ==>>+citation+<<== MODE ==<<++++>>== RESULT ==>>+42nd+ninth+<<== RESULT ==<<++>>== CITATION-ITEMS ==>>+[+ [+ {+ "id": "item-1"+ }+ ],+ [+ {+ "id": "item-2"+ }+ ]+]+<<== CITATION-ITEMS ==<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <number form="long-ordinal" variable="volume" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++++>>===== INPUT =====>>+[+ {+ "id": "item-1", + "title": "Ignore me", + "type": "book", + "volume": "42"+ }, + {+ "id": "item-2", + "title": "Ignore me too", + "type": "book", + "volume": "9"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/number_SimpleNumberOrdinalShort.txt view
@@ -0,0 +1,46 @@+>>== MODE ==>>+citation+<<== MODE ==<<++++>>== RESULT ==>>+42nd+<<== RESULT ==<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <number form="ordinal" variable="volume" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "item-1",+ "title": "Ignore me",+ "type": "book",+ "volume": "42"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/number_SimpleNumberRoman.txt view
@@ -0,0 +1,46 @@+>>== MODE ==>>+citation+<<== MODE ==<<++++>>== RESULT ==>>+xlii+<<== RESULT ==<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <number form="roman" variable="volume" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "item-1",+ "title": "Ignore me",+ "type": "book",+ "volume": "42"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/number_SpacesMakeIsNumericFalse.txt view
@@ -0,0 +1,74 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+is-numeric is FALSE: version: 2002, amended effective June 1, 2010, and January 1, 2017+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0" demote-non-dropping-particle="sort-only">+ <info>+ <title>Chicago Manual of Style (Full Note w. Bibliography) [delimiter fixes]</title>+ <id>http://www.zotero.org/styles/chicago-fullnote-bibliography-delimiter-fixes</id>+ <link href="http://www.zotero.org/styles/chicago-fullnote-bibliography-delimiter-fixes" rel="self"/>+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <summary>Chicago format with full notes and bibliography (with delimiter fixes)</summary>+ <category field="generic-base"/>+ <category citation-format="note"/>+ <updated>2009-12-04T20:22:16+00:00</updated>+ <rights>This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>+ </info>+ <citation et-al-min="4" et-al-use-first="1" disambiguate-add-names="true">+ <layout>+ <group delimiter=" ">+ <choose>+ <if is-numeric="version">+ <text value="is-numeric is TRUE: "/>+ </if>+ <else>+ <text value="is-numeric is FALSE:"/>+ </else>+ </choose>+ <number variable="version"/>+ </group>+ </layout>+ </citation>+</style>++<<===== CSL =====<<++>>===== CITATION-ITEMS ====>>+[+ [+ {+ "id": "Titlea"+ }+ ]+]+<<===== CITATION-ITEMS =====<<++++>>===== INPUT =====>>+[+ {"id":"Titlea","type":"report","version":"version: 2002, amended effective June 1, 2010, and January 1, 2017"}+]+<<===== INPUT =====<<+++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/number_StrangeError.txt view
@@ -0,0 +1,47 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++Delimiter is a non-breaking Unicode hyphen U+2011, supplied by the CSL 1.0.1 fr-FR and fr-CA locales.++>>===== RESULT =====>>+463‑509+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ default-locale="fr">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="page"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "page": "463-509",+ "type": "article-journal"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/page_Chicago.txt view
@@ -0,0 +1,267 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+Example A, at 101–8+Example B, at 3–10+Example C, at 71–72+Example D, at 96–117+Example E, at 100–104+Example F, at 600–613+Example G, at 1100–1123+Example H, at 107–8+Example I, at 505–17+Example J, at 1002–6+Example K, at 321–25+Example L, at 415–532+Example M, at 1536–38+Example N, at 11564–68+Example O, at 11564–78+Example P, at 13792–803+Example Q, at 1496–1504+Example R, at 2787–2816+<<===== RESULT =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ],+ [+ {+ "id": "ITEM-4"+ }+ ],+ [+ {+ "id": "ITEM-5"+ }+ ],+ [+ {+ "id": "ITEM-6"+ }+ ],+ [+ {+ "id": "ITEM-7"+ }+ ],+ [+ {+ "id": "ITEM-8"+ }+ ],+ [+ {+ "id": "ITEM-9"+ }+ ],+ [+ {+ "id": "ITEM-10"+ }+ ],+ [+ {+ "id": "ITEM-11"+ }+ ],+ [+ {+ "id": "ITEM-12"+ }+ ],+ [+ {+ "id": "ITEM-13"+ }+ ],+ [+ {+ "id": "ITEM-14"+ }+ ],+ [+ {+ "id": "ITEM-15"+ }+ ],+ [+ {+ "id": "ITEM-16"+ }+ ],+ [+ {+ "id": "ITEM-17"+ }+ ],+ [+ {+ "id": "ITEM-18"+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ page-range-format="chicago">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title"/>+ <text variable="page" prefix=", at "/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++ * collapse(101, 108, "101-8")+ *+ * collapse(3,10, "3-10")+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "page": "101-108", + "title": "Example A", + "type": "book"+ }, + {+ "id": "ITEM-2", + "page": "3-10", + "title": "Example B", + "type": "book"+ }, + {+ "id": "ITEM-3", + "page": "71-72", + "title": "Example C", + "type": "book"+ }, + {+ "id": "ITEM-4", + "page": "96-117", + "title": "Example D", + "type": "book"+ }, + {+ "id": "ITEM-5", + "page": "100-4", + "title": "Example E", + "type": "book"+ }, + {+ "id": "ITEM-6", + "page": "600-13", + "title": "Example F", + "type": "book"+ }, + {+ "id": "ITEM-7", + "page": "1100-23", + "title": "Example G", + "type": "book"+ }, + {+ "id": "ITEM-8", + "page": "107-108", + "title": "Example H", + "type": "book"+ }, + {+ "id": "ITEM-9", + "page": "505-17", + "title": "Example I", + "type": "book"+ }, + {+ "id": "ITEM-10", + "page": "1002-1006", + "title": "Example J", + "type": "book"+ }, + {+ "id": "ITEM-11", + "page": "321-325", + "title": "Example K", + "type": "book"+ }, + {+ "id": "ITEM-12", + "page": "415-532", + "title": "Example L", + "type": "book"+ }, + {+ "id": "ITEM-13", + "page": "1536-538", + "title": "Example M", + "type": "book"+ }, + {+ "id": "ITEM-14", + "page": "11564-11568", + "title": "Example N", + "type": "book"+ }, + {+ "id": "ITEM-15", + "page": "11564-11578", + "title": "Example O", + "type": "book"+ }, + {+ "id": "ITEM-16", + "page": "13792-13803", + "title": "Example P", + "type": "book"+ }, + {+ "id": "ITEM-17", + "page": "1496-504", + "title": "Example Q", + "type": "book"+ }, + {+ "id": "ITEM-18", + "page": "2787-816", + "title": "Example R", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/page_ChicagoWeird.txt view
@@ -0,0 +1,82 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+Example S, at 8n11564–68+Example T, at n11564–68+Example U, at n11564-1568+<<===== RESULT =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-19"+ }+ ],+ [+ {+ "id": "ITEM-20"+ }+ ],+ [+ {+ "id": "ITEM-21"+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ page-range-format="chicago">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title"/>+ <text variable="page" prefix=", at "/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-19", + "page": "8n11564-8n1568", + "title": "Example S", + "type": "book"+ }, + {+ "id": "ITEM-20", + "page": "n11564-n1568", + "title": "Example T", + "type": "book"+ }, + {+ "id": "ITEM-21", + "page": "n11564-1568", + "title": "Example U", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/page_Expand.txt view
@@ -0,0 +1,144 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Example: minimal, at 110–115+Example: prefix on first number only, at N110-5+Example: same prefix on both numbers, at N110–N115+Example: prefix on last number only, at 110-N6+Example: different prefixes on both numbers, at N110-P5+Example: leading number before prefix, at 123N110-N5+Example: multiple ranges, at 123N110-N5, 456K200-99+Example: first less than second, at 123N110-N5, 000c23-22+<<===== RESULT =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "page": "110-5", + "title": "Example: minimal", + "type": "book"+ }, + {+ "id": "ITEM-2", + "page": "N110 - 5", + "title": "Example: prefix on first number only", + "type": "book"+ }, + {+ "id": "ITEM-3", + "page": "N110 - N5", + "title": "Example: same prefix on both numbers", + "type": "book"+ }, + {+ "id": "ITEM-4", + "page": "110 - N6", + "title": "Example: prefix on last number only", + "type": "book"+ }, + {+ "id": "ITEM-5", + "page": "N110 - P5", + "title": "Example: different prefixes on both numbers", + "type": "book"+ }, + {+ "id": "ITEM-6", + "page": "123N110 - N5", + "title": "Example: leading number before prefix", + "type": "book"+ }, + {+ "id": "ITEM-7", + "page": "123N110 - N5, 456K200 - 99", + "title": "Example: multiple ranges", + "type": "book"+ }, + {+ "id": "ITEM-8", + "page": "123N110 - N5, 000c23 - 22", + "title": "Example: first less than second", + "type": "book"+ }+]+<<===== INPUT =====<<++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ],+ [+ {+ "id": "ITEM-4"+ }+ ],+ [+ {+ "id": "ITEM-5"+ }+ ],+ [+ {+ "id": "ITEM-6"+ }+ ],+ [+ {+ "id": "ITEM-7"+ }+ ],+ [+ {+ "id": "ITEM-8"+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ page-range-format="expanded">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title"/>+ <text variable="page" prefix=", at "/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/page_ExpandWeirdComposite.txt view
@@ -0,0 +1,69 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++## This test currently produces this:++Example: weird composite, at 123N110–5, 456K200–99++## It used to expect this:++>>===== RESULT =====>>+Example: weird composite, at 123N110-N5, 456K200-99+<<===== RESULT =====<<++## Which is correct, do you think?++## Here is the data from which the results above are derived:++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "page": "123N110 - N5, 456K200 - 99", + "title": "Example: weird composite", + "type": "book"+ }+]+<<===== INPUT =====<<++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ page-range-format="expanded">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title"/>+ <text variable="page" prefix=", at "/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/page_Minimal.txt view
@@ -0,0 +1,290 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++>>===== RESULT =====>>+Example A, at 101–8+Example B, at 3–10+Example C, at 71–2+Example D, at 96–117+Example E, at 100–4+Example F, at 600–13+Example G, at 1100–23+Example H, at 107–8+Example I, at 505–17+Example J, at 1002–6+Example K, at 321–5+Example L, at 415–532+Example M, at 1536–8+Example N, at 11564–8+Example O, at 11564–78+Example P, at 13792–803+Example Q, at 1496–504+Example R, at 2787–816+Example S, at n11564–8+Example T, at n11564-1568+<<===== RESULT =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ],+ [+ {+ "id": "ITEM-4"+ }+ ],+ [+ {+ "id": "ITEM-5"+ }+ ],+ [+ {+ "id": "ITEM-6"+ }+ ],+ [+ {+ "id": "ITEM-7"+ }+ ],+ [+ {+ "id": "ITEM-8"+ }+ ],+ [+ {+ "id": "ITEM-9"+ }+ ],+ [+ {+ "id": "ITEM-10"+ }+ ],+ [+ {+ "id": "ITEM-11"+ }+ ],+ [+ {+ "id": "ITEM-12"+ }+ ],+ [+ {+ "id": "ITEM-13"+ }+ ],+ [+ {+ "id": "ITEM-14"+ }+ ],+ [+ {+ "id": "ITEM-15"+ }+ ],+ [+ {+ "id": "ITEM-16"+ }+ ],+ [+ {+ "id": "ITEM-17"+ }+ ],+ [+ {+ "id": "ITEM-18"+ }+ ],+ [+ {+ "id": "ITEM-19"+ }+ ],+ [+ {+ "id": "ITEM-20"+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ page-range-format="minimal">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title"/>+ <text variable="page" prefix=", at "/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++ * collapse(101, 108, "101-8")+ *+ * collapse(3,10, "3-10")+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "page": "101-108", + "title": "Example A", + "type": "book"+ }, + {+ "id": "ITEM-2", + "page": "3-10", + "title": "Example B", + "type": "book"+ }, + {+ "id": "ITEM-3", + "page": "71-72", + "title": "Example C", + "type": "book"+ }, + {+ "id": "ITEM-4", + "page": "96-117", + "title": "Example D", + "type": "book"+ }, + {+ "id": "ITEM-5", + "page": "100-4", + "title": "Example E", + "type": "book"+ }, + {+ "id": "ITEM-6", + "page": "600-13", + "title": "Example F", + "type": "book"+ }, + {+ "id": "ITEM-7", + "page": "1100-23", + "title": "Example G", + "type": "book"+ }, + {+ "id": "ITEM-8", + "page": "107-108", + "title": "Example H", + "type": "book"+ }, + {+ "id": "ITEM-9", + "page": "505-17", + "title": "Example I", + "type": "book"+ }, + {+ "id": "ITEM-10", + "page": "1002-1006", + "title": "Example J", + "type": "book"+ }, + {+ "id": "ITEM-11", + "page": "321-325", + "title": "Example K", + "type": "book"+ }, + {+ "id": "ITEM-12", + "page": "415-532", + "title": "Example L", + "type": "book"+ }, + {+ "id": "ITEM-13", + "page": "1536-538", + "title": "Example M", + "type": "book"+ }, + {+ "id": "ITEM-14", + "page": "11564-11568", + "title": "Example N", + "type": "book"+ }, + {+ "id": "ITEM-15", + "page": "11564-11578", + "title": "Example O", + "type": "book"+ }, + {+ "id": "ITEM-16", + "page": "13792-13803", + "title": "Example P", + "type": "book"+ }, + {+ "id": "ITEM-17", + "page": "1496-504", + "title": "Example Q", + "type": "book"+ }, + {+ "id": "ITEM-18", + "page": "2787-816", + "title": "Example R", + "type": "book"+ }, + {+ "id": "ITEM-19", + "page": "n11564 - n1568", + "title": "Example S", + "type": "book"+ }, + {+ "id": "ITEM-20", + "page": "n11564 - 1568", + "title": "Example T", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/page_NoOption.txt view
@@ -0,0 +1,47 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Book Thing, at 110–5+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title"/>+ <text variable="page" prefix=", at "/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "page": "110-5",+ "title": "Book Thing",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/page_NumberPageFirst.txt view
@@ -0,0 +1,46 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+22+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="page-first"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "page": "22-45",+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/page_PluralDetectWithEndash.txt view
@@ -0,0 +1,46 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+10+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="page-first"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "page": "10–20",+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/page_WithLocaleAndWeirdDelimiter.txt view
@@ -0,0 +1,48 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+253‑57+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ page-range-format="chicago"+ default-locale="fr">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="page"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "page": "253-257",+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/plural_LabelForced.txt view
@@ -0,0 +1,56 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+p. 32–34+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1",+ "locator": "32-34"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <group delimiter=" ">+ <label variable="locator" plural="never" form="short"/>+ <text variable="locator"/>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/plural_NameLabelAlways.txt view
@@ -0,0 +1,53 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Doe eds+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="editor">+ <name form="short" suffix=" " />+ <label form="short" plural="always" strip-periods="true" />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "editor": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/plural_NameLabelContextualPlural.txt view
@@ -0,0 +1,57 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Doe and Roe eds+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="editor">+ <name and="text" form="short" suffix=" " />+ <label form="short" plural="contextual" strip-periods="true" />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "editor": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/plural_NameLabelContextualSingular.txt view
@@ -0,0 +1,53 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Doe ed+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="editor">+ <name form="short" suffix=" " />+ <label form="short" plural="contextual" strip-periods="true" />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "editor": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/plural_NameLabelDefaultPlural.txt view
@@ -0,0 +1,57 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Doe and Roe eds+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="editor">+ <name and="text" form="short" suffix=" " />+ <label form="short" strip-periods="true" />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "editor": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/plural_NameLabelDefaultSingular.txt view
@@ -0,0 +1,53 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Doe ed+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="editor">+ <name form="short" suffix=" " />+ <label form="short" strip-periods="true" />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "editor": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/plural_NameLabelNever.txt view
@@ -0,0 +1,57 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Doe and Roe ed+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="editor">+ <name and="text" form="short" suffix=" " />+ <label form="short" plural="never" strip-periods="true" />+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "editor": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/position_FalseInBibliography.txt view
@@ -0,0 +1,59 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">His Anonymous Life</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <choose>+ <if position="first ibid ibid-with-locator" match="none">+ <text variable="title"/>+ </if>+ <else>+ <text value="I am weak, and I have failed."/>+ </else>+ </choose>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/position_FirstTrueOnlyOnce.txt view
@@ -0,0 +1,123 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+..[0] Appleton “Tom Swift and His Electric Runabout” (1910).+>>[1] Ibid. p. 23.+<<===== RESULT =====<<+++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-2",+ "citationItems": [+ {+ "id": "ITEM-1",+ "label": "page",+ "locator": "23"+ }+ ],+ "properties": {+ "noteIndex": 2+ }+ },+ [+ [+ "CITATION-1",+ 1+ ]+ ],+ []+ ]+]+<<===== CITATIONS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout suffix=".">+ <choose>+ <if position="first">+ <group delimiter=" ">+ <names variable="author">+ <name form="short" />+ </names>+ <text quotes="true" variable="title" />+ <date prefix="(" suffix=")" variable="issued">+ <date-part name="year" />+ </date>+ </group>+ </if>+ <else-if position="ibid-with-locator">+ <text term="ibid" />+ <label form="short" prefix=" " strip-periods="false" variable="locator" />+ <text prefix=" " variable="locator" />+ </else-if>+ <else>+ <text value="WTF?"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Appleton", + "given": "Victor"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ "1910"+ ]+ ]+ }, + "title": "Tom Swift and His Electric Runabout", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/position_IbidInText.txt view
@@ -0,0 +1,159 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+..[0] Appleton “Tom Swift and His Electric Runabout” (1910).+..[1] Bloggs “A Very Short Book Indeed” (2012).+>>[2] Ibid.+<<===== RESULT =====<<+++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-2",+ "citationItems": [+ {+ "id": "ITEM-2"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [+ [+ "CITATION-1",+ 0+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-3",+ "citationItems": [+ {+ "id": "ITEM-1"+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [+ [+ "CITATION-1",+ 0+ ],+ [+ "CITATION-2",+ 1+ ]+ ],+ []+ ]+]+<<===== CITATIONS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout suffix=".">+ <choose>+ <if position="ibid">+ <text term="ibid" />+ </if>+ <else>+ <group delimiter=" ">+ <names variable="author">+ <name form="short" />+ </names>+ <text quotes="true" variable="title" />+ <date prefix="(" suffix=")" variable="issued">+ <date-part name="year" />+ </date>+ </group>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Appleton", + "given": "Victor"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ "1910"+ ]+ ]+ }, + "title": "Tom Swift and His Electric Runabout", + "type": "book"+ },+ {+ "author": [+ {+ "family": "Bloggs", + "given": "Joe" + }+ ], + "id": "ITEM-2", + "issued": {+ "date-parts": [+ [+ "2012"+ ]+ ]+ }, + "title": "A Very Short Book Indeed", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/position_IbidSeparateCiteSameNote.txt view
@@ -0,0 +1,337 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+..[0] [citation1-item1-note1] Appleton “Tom Swift and His Electric Runabout” (1910).+..[1] [citation2-item1-note2] ibid.+..[2] [citation3-item1-note2] ibid. page 33.+..[3] [citation4-item2-note3] Bloggs “A Very Short Book Indeed” (2012); [citation4-item1-note3] Appleton supra note 1.+..[4] [citation5-item1-note4] Appleton supra note 1 page 99.+..[5] [citation6-item1-note4] Appleton supra note 1.+>>[6] [citation7-item1-note4] ibid.+<<===== RESULT =====<<+++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1",+ "prefix": "[citation1-item1-note1] "+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-2",+ "citationItems": [+ {+ "id": "ITEM-1",+ "prefix": "[citation2-item1-note2] "+ }+ ],+ "properties": {+ "noteIndex": 2+ }+ },+ [+ [+ "CITATION-1",+ 1+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-3",+ "citationItems": [+ {+ "id": "ITEM-1",+ "locator": "33",+ "prefix": "[citation3-item1-note2] "+ }+ ],+ "properties": {+ "noteIndex": 2+ }+ },+ [+ [+ "CITATION-1",+ 1+ ],+ [+ "CITATION-2",+ 2+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-4",+ "citationItems": [+ {+ "id": "ITEM-2",+ "prefix": "[citation4-item2-note3] "+ },+ {+ "id": "ITEM-1",+ "prefix": "[citation4-item1-note3] "+ }+ ],+ "properties": {+ "noteIndex": 3+ }+ },+ [+ [+ "CITATION-1",+ 1+ ],+ [+ "CITATION-2",+ 2+ ],+ [+ "CITATION-3",+ 2+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-5",+ "citationItems": [+ {+ "id": "ITEM-1",+ "locator": "99",+ "prefix": "[citation5-item1-note4] "+ }+ ],+ "properties": {+ "noteIndex": 4+ }+ },+ [+ [+ "CITATION-1",+ 1+ ],+ [+ "CITATION-2",+ 2+ ],+ [+ "CITATION-3",+ 2+ ],+ [+ "CITATION-4",+ 3+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-6",+ "citationItems": [+ {+ "id": "ITEM-1",+ "prefix": "[citation6-item1-note4] "+ }+ ],+ "properties": {+ "noteIndex": 4+ }+ },+ [+ [+ "CITATION-1",+ 1+ ],+ [+ "CITATION-2",+ 2+ ],+ [+ "CITATION-3",+ 2+ ],+ [+ "CITATION-4",+ 3+ ],+ [+ "CITATION-5",+ 4+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-7",+ "citationItems": [+ {+ "id": "ITEM-1",+ "prefix": "[citation7-item1-note4] "+ }+ ],+ "properties": {+ "noteIndex": 4+ }+ },+ [+ [+ "CITATION-1",+ 1+ ],+ [+ "CITATION-2",+ 2+ ],+ [+ "CITATION-3",+ 2+ ],+ [+ "CITATION-4",+ 3+ ],+ [+ "CITATION-5",+ 4+ ],+ [+ "CITATION-6",+ 4+ ]+ ],+ []+ ]+]+<<===== CITATIONS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="in-text"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout suffix="." delimiter="; ">+ <choose>+ <if position="ibid-with-locator">+ <group delimiter=" ">+ <text term="ibid" />+ <group delimiter=" ">+ <label variable="locator"/>+ <text variable="locator"/>+ </group>+ </group>+ </if>+ <else-if position="ibid">+ <text term="ibid" />+ </else-if>+ <else-if position="subsequent">+ <group delimiter=" ">+ <names variable="author">+ <name form="short" />+ </names>+ <text value="supra"/>+ <group delimiter=" ">+ <text value="note"/>+ <text variable="first-reference-note-number"/>+ </group>+ <group delimiter=" ">+ <label variable="locator"/>+ <text variable="locator"/>+ </group>+ </group>+ </else-if>+ <else>+ <group delimiter=" ">+ <names variable="author">+ <name form="short" />+ </names>+ <text quotes="true" variable="title" />+ <date prefix="(" suffix=")" variable="issued">+ <date-part name="year" />+ </date>+ </group>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Appleton", + "given": "Victor"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ "1910"+ ]+ ]+ }, + "title": "Tom Swift and His Electric Runabout", + "type": "book"+ },+ {+ "author": [+ {+ "family": "Bloggs", + "given": "Joe" + }+ ], + "id": "ITEM-2", + "issued": {+ "date-parts": [+ [+ "2012"+ ]+ ]+ }, + "title": "A Very Short Book Indeed", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/position_IbidWithLocator.txt view
@@ -0,0 +1,96 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+Appleton “Tom Swift and His Electric Runabout” (1910).+Ibid. p. 23.+<<===== RESULT =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-1",+ "label": "page",+ "locator": "23",+ "position": 4+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout suffix=".">+ <choose>+ <if position="ibid-with-locator">+ <text term="ibid" />+ <label form="short" prefix=" " strip-periods="false" variable="locator" />+ <text prefix=" " variable="locator" />+ </if>+ <else>+ <group delimiter=" ">+ <names variable="author">+ <name form="short" />+ </names>+ <text quotes="true" variable="title" />+ <date prefix="(" suffix=")" variable="issued">+ <date-part name="year" />+ </date>+ </group>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Appleton", + "given": "Victor"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ "1910"+ ]+ ]+ }, + "title": "Tom Swift and His Electric Runabout", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/position_IbidWithMultipleSoloCitesInBackref.txt view
@@ -0,0 +1,171 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+..[0] Aalto+..[1] Álvarez+..[2] Álvarez+>>[3] Ibid.+<<===== RESULT =====<<+++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-2",+ "citationItems": [+ {+ "id": "ITEM-2"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [+ [+ "CITATION-1",+ 1+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-3",+ "citationItems": [+ {+ "id": "ITEM-2"+ }+ ],+ "properties": {+ "noteIndex": 2+ }+ },+ [+ [+ "CITATION-1",+ 1+ ],+ [+ "CITATION-2",+ 1+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-4",+ "citationItems": [+ {+ "id": "ITEM-2"+ }+ ],+ "properties": {+ "noteIndex": 3+ }+ },+ [+ [+ "CITATION-1",+ 1+ ],+ [+ "CITATION-2",+ 1+ ],+ [+ "CITATION-3",+ 2+ ]+ ],+ []+ ]+]+<<===== CITATIONS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name form="short" />+ </names>+ </macro>+ <citation>+ <sort>+ <key macro="author" />+ </sort>+ <layout delimiter="; ">+ <choose>+ <if position="ibid">+ <text term="ibid"/>+ </if>+ <else>+ <text macro="author" />+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Aalto", + "given": "Alan"+ }+ ], + "id": "ITEM-1", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Álvarez", + "given": "Ajax" + }+ ], + "id": "ITEM-2", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/position_IbidWithPrefixFullStop.txt view
@@ -0,0 +1,79 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+>>[0] Book A. He said “Please work.” Ibid.+<<===== RESULT =====<<++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-1",+ "prefix": ". He said \"Please work.\" "+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ []+ ]+]+<<===== CITATIONS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <style-options punctuation-in-quote="true"/>+ </locale>+ <citation>+ <layout delimiter="; ">+ <choose>+ <if position="subsequent">+ <text term="ibid"/>+ </if>+ <else>+ <text variable="title"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "title": "Book A", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/position_IbidWithSuffix.txt view
@@ -0,0 +1,116 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">Alan Aberdeen</div>+ <div class="csl-entry">Al-Khatib Organization</div>+ <div class="csl-entry">Beatrice Butterfield</div>+ <div class="csl-entry">Sergei Kaspersky</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-4"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ demote-non-dropping-particle="sort-only">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name/>+ </names>+ </macro>+ <citation>+ <layout>+ <text value="Bogus"/>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key macro="author"/>+ </sort>+ <layout>+ <names variable="author">+ <name/>+ </names>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Al-Khatib Organization"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Aberdeen",+ "given": "Alan"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Butterfield",+ "given": "Beatrice"+ }+ ],+ "id": "ITEM-3",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Kaspersky",+ "given": "Sergei"+ }+ ],+ "id": "ITEM-4",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/position_IfIbidIsTrueThenSubsequentIsTrue.txt view
@@ -0,0 +1,106 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+Appleton “Tom Swift and His Electric Runabout” (1910).+SUBSEQUENT.+<<===== RESULT =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1",+ "position": 0+ }+ ],+ [+ {+ "id": "ITEM-1",+ "label": "page",+ "locator": "23",+ "position": 2+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout suffix=".">+ <choose>+ <if position="first">+ <group delimiter=" ">+ <names variable="author">+ <name form="short" />+ </names>+ <text quotes="true" variable="title" />+ <date prefix="(" suffix=")" variable="issued">+ <date-part name="year" />+ </date>+ </group>+ </if>+ <else-if position="subsequent">+ <text value="SUBSEQUENT" />+ </else-if>+ <else-if position="ibid">+ <text term="ibid" />+ </else-if>+ <else-if position="ibid-with-locator">+ <text term="ibid" />+ <label form="short" prefix=" " strip-periods="false" variable="locator" />+ <text prefix=" " variable="locator" />+ </else-if>+ <else>+ <text value="WTF?"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Appleton", + "given": "Victor"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ "1910"+ ]+ ]+ }, + "title": "Tom Swift and His Electric Runabout", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/position_IfIbidWithLocatorIsTrueThenIbidIsTrue.txt view
@@ -0,0 +1,103 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+Appleton “Tom Swift and His Electric Runabout” (1910).+Ibid.+<<===== RESULT =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1",+ "position": 0+ }+ ],+ [+ {+ "id": "ITEM-1",+ "label": "page",+ "locator": "23",+ "position": 3+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout suffix=".">+ <choose>+ <if position="first">+ <group delimiter=" ">+ <names variable="author">+ <name form="short" />+ </names>+ <text quotes="true" variable="title" />+ <date prefix="(" suffix=")" variable="issued">+ <date-part name="year" />+ </date>+ </group>+ </if>+ <else-if position="ibid">+ <text term="ibid" />+ </else-if>+ <else-if position="ibid-with-locator">+ <text term="ibid" />+ <label form="short" prefix=" " strip-periods="false" variable="locator" />+ <text prefix=" " variable="locator" />+ </else-if>+ <else>+ <text value="WTF?"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Appleton", + "given": "Victor"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ "1910"+ ]+ ]+ }, + "title": "Tom Swift and His Electric Runabout", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/position_NearNoteFalse.txt view
@@ -0,0 +1,65 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+Note is not near.+<<===== RESULT =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1",+ "near-note": false+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <choose>+ <if position="near-note">+ <text value="Note is near!" />+ </if>+ <else>+ <text value="Note is not near." />+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "title": "Book A", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/position_NearNoteSameNote.txt view
@@ -0,0 +1,130 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+..[0] Plain+Vanilla:Book-A; Near+Ibid:Book-A+..[1] Plain+Vanilla:Book-B+>>[2] Plain+Vanilla:Book-B; Plain+Vanilla:Book-A+<<===== RESULT =====<<+++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-1"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-2",+ "citationItems": [+ {+ "id": "ITEM-2"+ }+ ],+ "properties": {+ "noteIndex": 2+ }+ },+ [+ [+ "CITATION-1",+ 1+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-3",+ "citationItems": [+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-1"+ }+ ],+ "properties": {+ "noteIndex": 3+ }+ },+ [+ [+ "CITATION-1",+ 1+ ],+ [+ "CITATION-2",+ 2+ ]+ ],+ []+ ]+]+<<===== CITATIONS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation near-note-distance="0">+ <layout delimiter="; ">+ <choose>+ <if position="ibid near-note" match="all">+ <text variable="title" prefix="Near+Ibid:"/>+ </if>+ <else>+ <text variable="title" prefix="Plain+Vanilla:"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "title": "Book-A",+ "type": "book"+ },+ {+ "id": "ITEM-2", + "title": "Book-B",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/position_NearNoteUnsupported.txt view
@@ -0,0 +1,53 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++++>>===== RESULT =====>>+Note is not near.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="in-text"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <choose>+ <if position="near-note">+ <text value="Note is near!" />+ </if>+ <else>+ <text value="Note is not near." />+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "Book A",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/position_NearNoteWithPlugin.txt view
@@ -0,0 +1,485 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+People v. Taylor, 73 N.Y.2d 683 (1989).+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": 97+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style+ xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ page-range-format="chicago">+ <info>+ <title>Bluebook, 19th edition</title>+ <id>http://www.zotero.org/styles/bluebook-19th</id>+ <link rel="self" href="http://gsl-nagoya-u.net/http/pub/bluebook-19th.csl" />+ <link href="http://www.legalbluebook.com/" rel="documentation" />+ <author>+ <name>Frank Bennett</name>+ <email>biercenator@gmail.com</email>+ </author>+ <contributor>+ <name>Jennifer M. Duperon</name>+ <email>jennifer@mail.address</email> + </contributor>+ <summary>Bluebook Style for legal materials (19th edition)</summary>+ <category field="generic-base" />+ <category citation-format="note" />+ <updated>2010-04-24T04:49:00+09:00</updated>+ </info>+ <locale>+ <terms>+ <term name="ibid">id.</term>+ </terms>+ </locale>++ <!-- ### BLUEBOOK AUTHOR ### -->+ <macro name="bb-author">+ <names variable="author">+ <name/>+ </names>+ </macro>+ <macro name="bb-author-short">+ <choose>+ <if type="book" match="any">+ <names variable="author">+ <name form="short" font-variant="small-caps"/>+ </names>+ </if>+ <else>+ <names variable="author">+ <name form="short"/>+ </names>+ </else>+ </choose>+ </macro>++ <!-- ### BLUEBOOK TITLE ### -->+ <macro name="bb-short-title">+ <choose>+ <if type="book" match="any">+ <text variable="title" font-variant="small-caps" form="short"/>+ </if>+ <else-if type="legal_case">+ <choose>+ <if position="near-note">+ <choose>+ <if variable="title">+ <text variable="title" form="short" font-style="italic"/>+ </if>+ <else>+ <text variable="title" form="short"/>+ </else>+ </choose>+ </if>+ <else>+ <text variable="title" form="short"/>+ </else>+ </choose>+ </else-if>+ <else-if type="bill legislation" match="any">+ <text variable="title" form="short"/>+ </else-if>+ <else>+ <text variable="title" font-style="italic" form="short"/>+ </else>+ </choose>+ </macro>++ <!-- ### BLUEBOOK ISSUED ### -->+ <macro name="bb-issued">+ <group prefix="(" suffix=")">+ <date variable="issued" form="text" date-parts="year"/>+ </group>+ </macro>++ <!-- ### ID BACKREFERENCES ### -->+ <macro name="bb-ibid">+ <choose> + <if position="ibid-with-locator">+ <text term="ibid" font-style="italic"/>+ <group delimiter=" ">+ <choose>+ <if locator="page">+ <text value=" at"/>+ </if>+ <else>+ <text value=", "/>+ <label form="short" variable="locator"/>+ </else>+ </choose>+ <text variable="locator"/>+ </group>+ </if>+ <else-if position="ibid">+ <text term="ibid" font-style="italic"/>+ </else-if>+ </choose>+ </macro>++ <!-- ### POINT LOCATORS -->+ <macro name="bb-point-locator-comma">+ <group delimiter=" ">+ <choose>+ <if variable="number page" position="ibid" match="any">+ <text value=","/>+ </if>+ </choose>+ <choose>+ <if locator="page" match="none">+ <label form="symbol" variable="locator" suffix=" "/>+ </if>+ </choose>+ <text variable="locator"/>+ </group>+ </macro>+ <macro name="bb-point-locator-base">+ <choose>+ <if locator="page" match="none">+ <label form="symbol" variable="locator" suffix=" "/>+ </if>+ </choose>+ <text variable="locator"/>+ </macro>++ <!-- ### LEGAL CASE ### -->+ <macro name="bb-legal-case">+ <choose>+ <if position="near-note">+ <text macro="bb-legal-case-subsequent"/>+ </if>+ <else-if position="ibid">+ <text macro="bb-ibid"/>+ </else-if>+ <else-if position="first">+ <text macro="bb-legal-case-first"/>+ </else-if>+ <else>+ <text macro="bb-legal-case-first"/>+ </else>+ </choose>+ </macro>+ <macro name="bb-legal-case-first">+ <choose>+ <if variable="title">+ <!-- Common law cases -->+ <group delimiter=", ">+ <text variable="title"/>+ <group delimiter=" ">+ <choose>+ <if variable="issue">+ <text variable="volume" prefix="[" suffix="]"/>+ <text variable="issue"/>+ </if>+ <else>+ <text variable="volume"/>+ </else>+ </choose>+ <text variable="container-title" form="short"/>+ <group>+ <text variable="page"/>+ <text macro="bb-point-locator-comma"/>+ </group>+ <group prefix="(" suffix=")" delimiter=" ">+ <text variable="authority" form="short"/>+ <date variable="issued">+ <date-part name="year"/> + </date>+ </group> + </group>+ </group>+ </if>+ <else>+ <!-- Civil law cases -->+ <group delimiter=", ">+ <text variable="authority"/>+ <text variable="title" form="short"/>+ <date variable="issued" form="text"/>+ <text variable="container-title" font-style="italic" strip-periods="true"/>+ <text variable="volume"/>+ <group delimiter=" ">+ <text variable="section"/>+ <label variable="page" form="short"/>+ <text variable="page"/>+ </group>+ <text variable="number"/>+ <group delimiter=" ">+ <text variable="genre"/>+ <names variable="author">+ <name initialize-with="." font-variant="small-caps"/>+ </names>+ </group>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="bb-legal-case-subsequent">+ <group delimiter=", ">+ <text macro="bb-short-title"/>+ <group delimiter=" ">+ <choose>+ <if variable="issue">+ <text variable="volume" prefix="[" suffix="]"/>+ <text variable="issue"/>+ </if>+ <else>+ <text variable="volume"/>+ </else>+ </choose>+ <text variable="container-title" form="short"/>+ <choose>+ <if variable="locator">+ <text macro="bb-point-locator-base"/>+ </if>+ <else>+ <text variable="page"/>+ </else>+ </choose>+ </group>+ </group>+ </macro>++ <!-- ### LEGISLATION ### -->+ <macro name="bb-legislation">+ <choose>+ <if position="first">+ <text macro="bb-legislation-first"/>+ </if>+ <else-if position="near-note">+ <text macro="bb-legislation-subsequent"/>+ </else-if>+ <else>+ <text macro="bb-legislation-first"/>+ </else>+ </choose>+ </macro>+ <macro name="bb-legislation-first">+ <choose>+ <if variable="container-title">+ <text macro="bb-statute-first"/>+ </if>+ <else>+ <text macro="bb-code-first"/>+ </else>+ </choose>+ </macro>+ <macro name="bb-legislation-subsequent">+ <choose>+ <if variable="container-title">+ <text macro="bb-statute-subsequent"/>+ </if>+ <else>+ <text macro="bb-code-subsequent"/>+ </else>+ </choose>+ </macro>+ <macro name="bb-statute-first">+ <group delimiter=", ">+ <text variable="title"/>+ <text macro="bb-statute-subsequent"/>+ </group>+ </macro>+ <macro name="bb-statute-subsequent">+ <group delimiter="">+ <group delimiter=" ">+ <text variable="volume"/>+ <text variable="container-title"/>+ <text variable="number"/>+ <text variable="page"/>+ <choose>+ <if is-numeric="section">+ <text term="section" form="symbol"/>+ <text variable="section"/>+ </if>+ </choose>+ </group>+ <text macro="bb-point-locator-comma"/>+ <date prefix=" (" variable="issued" date-parts="year" form="text" suffix=")"/>+ </group>+ </macro>+ <macro name="bb-code-first">+ <group delimiter=" ">+ <text variable="title" font-variant="small-caps"/>+ <group delimiter=" ">+ <label variable="locator" form="symbol"/>+ <text variable="locator"/>+ </group>+ </group>+ </macro>+ <macro name="bb-code-subsequent">+ <group delimiter=" ">+ <text variable="title" form="short" font-variant="small-caps"/>+ <group delimiter=" ">+ <label variable="locator" form="symbol"/>+ <text variable="locator"/>+ </group>+ </group>+ </macro>++ <!-- ### SECONDARY SUBSEQUENT (generic) ### -->+ <macro name="bb-secondary-subsequent">+ <group delimiter=", ">+ <text macro="bb-author-short"/>+ <choose>+ <if disambiguate="true">+ <text macro="bb-short-title"/>+ </if>+ </choose>+ <group delimiter="">+ <group delimiter=" ">+ <text value="supra" font-style="italic"/>+ <choose>+ <if variable="first-reference-note-number">+ <text value="note"/>+ <text variable="first-reference-note-number"/>+ </if>+ </choose>+ </group>+ <choose>+ <if variable="first-reference-note-number locator" match="all">+ <text value=", "/>+ </if>+ <else-if variable="locator">+ <text value=" "/>+ </else-if>+ </choose>+ <group delimiter=" ">+ <choose>+ <if locator="page">+ <text term="at"/>+ </if>+ <else>+ <label variable="locator"/>+ </else>+ </choose>+ <text variable="locator"/>+ </group>+ </group>+ </group>+ </macro>++ <!-- ### BOOK ### -->+ <macro name="bb-book">+ <choose>+ <if position="first">+ <text macro="bb-book-first"/>+ </if>+ <else-if position="ibid">+ <text macro="bb-ibid"/>+ </else-if>+ <else-if position="subsequent">+ <text macro="bb-secondary-subsequent"/>+ </else-if>+ </choose>+ </macro>+ <macro name="bb-book-first">+ <group delimiter=", ">+ <text macro="bb-author" font-variant="small-caps"/>+ <group delimiter=" ">+ <text variable="title" font-variant="small-caps"/>+ <text macro="bb-point-locator-base"/>+ <text macro="bb-issued"/>+ </group>+ </group>+ <text variable="references" prefix=" [" suffix="]"/>+ </macro>++ <!-- ### PERIODICAL ### -->+ <macro name="bb-periodical">+ <choose>+ <if position="first">+ <text macro="bb-periodical-first"/>+ </if>+ <else-if position="ibid">+ <text term="ibid" font-style="italic"/>+ </else-if>+ <else-if position="subsequent">+ <text macro="bb-secondary-subsequent"/>+ </else-if>+ </choose>+ </macro>+ <macro name="bb-periodical-first">+ <group delimiter=" ">+ <group delimiter=", ">+ <names variable="author">+ <name/>+ </names>+ <text variable="title" font-style="italic"/>+ <group delimiter=" ">+ <text variable="volume"/>+ <text variable="container-title" form="short" font-variant="small-caps"/>+ <text variable="page-first"/>+ </group>+ <text macro="bb-point-locator-base"/>+ </group>+ <text macro="bb-issued"/>+ </group>+ </macro>+ <citation+ near-note-distance="5"+ et-al-min="2"+ et-al-subsequent-min="4"+ et-al-subsequent-use-first="2"+ et-al-use-first="1">+ <layout delimiter="; " suffix=".">+ <choose>+ <if type="legal_case">+ <text macro="bb-legal-case"/>+ </if>+ <else-if type="legislation">+ <text macro="bb-legislation"/>+ </else-if>+ <else-if type="book" match="any">+ <text macro="bb-book"/>+ </else-if>+ <else>+ <text macro="bb-periodical"/>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "container-title": "N.Y.2d",+ "id": 97,+ "issued": {+ "date-parts": [+ [+ 1989+ ]+ ]+ },+ "multi": {+ "_keys": {}+ },+ "page": "683",+ "title": "People v. Taylor",+ "type": "legal_case",+ "volume": "73"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/position_ResetNoteNumbers.txt view
@@ -0,0 +1,329 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+..[0] Book A (note 1)+..[1] Book C (note 1)+..[2] Book A, n 1 (note 2)+..[3] ibid (note 2)+..[4] Book C, n 1 (note 3)+..[5] Book A, n 1 (note 3)+..[6] Book C, n 1 (note 4)+>>[7] Book A, n 1 (note 5)+<<===== RESULT =====<<+++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1",+ "suffix": " (note 1)"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-2",+ "citationItems": [+ {+ "id": "ITEM-1",+ "suffix": " (note 2)"+ }+ ],+ "properties": {+ "noteIndex": 2+ }+ },+ [+ [+ "CITATION-1",+ 1+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-3",+ "citationItems": [+ {+ "id": "ITEM-3",+ "suffix": " (note 3)"+ }+ ],+ "properties": {+ "noteIndex": 3+ }+ },+ [+ [+ "CITATION-1",+ 1+ ],+ [+ "CITATION-2",+ 2+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-4",+ "citationItems": [+ {+ "id": "ITEM-3",+ "suffix": " (note 1)"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ [+ [+ "CITATION-1",+ 1+ ],+ [+ "CITATION-2",+ 2+ ],+ [+ "CITATION-3",+ 3+ ]+ ]+ ],+ [+ {+ "citationID": "CITATION-5",+ "citationItems": [+ {+ "id": "ITEM-1",+ "suffix": " (note 2)"+ }+ ],+ "properties": {+ "noteIndex": 2+ }+ },+ [+ [+ "CITATION-1",+ 1+ ],+ [+ "CITATION-4",+ 1+ ]+ ],+ [+ [+ "CITATION-2",+ 2+ ],+ [+ "CITATION-3",+ 3+ ]+ ]+ ],+ [+ {+ "citationID": "CITATION-6",+ "citationItems": [+ {+ "id": "ITEM-1",+ "suffix": " (note 3)"+ }+ ],+ "properties": {+ "noteIndex": 3+ }+ },+ [+ [+ "CITATION-1",+ 1+ ],+ [+ "CITATION-4",+ 1+ ],+ [+ "CITATION-2",+ 2+ ],+ [+ "CITATION-5",+ 2+ ],+ [+ "CITATION-3",+ 3+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-7",+ "citationItems": [+ {+ "id": "ITEM-3",+ "suffix": " (note 4)"+ }+ ],+ "properties": {+ "noteIndex": 4+ }+ },+ [+ [+ "CITATION-1",+ 1+ ],+ [+ "CITATION-4",+ 1+ ],+ [+ "CITATION-2",+ 2+ ],+ [+ "CITATION-5",+ 2+ ],+ [+ "CITATION-3",+ 3+ ],+ [+ "CITATION-6",+ 3+ ]+ ],+ []+ ],+ [+ {+ "citationID": "CITATION-8",+ "citationItems": [+ {+ "id": "ITEM-1",+ "suffix": " (note 5)"+ }+ ],+ "properties": {+ "noteIndex": 5+ }+ },+ [+ [+ "CITATION-1",+ 1+ ],+ [+ "CITATION-4",+ 1+ ],+ [+ "CITATION-2",+ 2+ ],+ [+ "CITATION-5",+ 2+ ],+ [+ "CITATION-3",+ 3+ ],+ [+ "CITATION-6",+ 3+ ],+ [+ "CITATION-7",+ 4+ ]+ ],+ []+ ]+]+<<===== CITATIONS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; ">+ <choose>+ <if position="ibid">+ <text value="ibid"/>+ </if>+ <else>+ <group delimiter=", ">+ <text variable="title"/>+ <group delimiter=" ">+ <text value="n"/>+ <text variable="first-reference-note-number"/>+ </group>+ </group>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "title": "Book A",+ "type": "book"+ }, + {+ "id": "ITEM-2", + "title": "Book B",+ "type": "book"+ },+ {+ "id": "ITEM-3", + "title": "Book C",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/position_TrueInCitation.txt view
@@ -0,0 +1,57 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+I am weak, and I have failed.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <choose>+ <if position="first ibid ibid-with-locator" match="none">+ <text variable="title"/>+ </if>+ <else>+ <text value="I am weak, and I have failed."/>+ </else>+ </choose>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <text variable="title"/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/punctuation_DateStripPeriods.txt view
@@ -0,0 +1,56 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Jun 1965+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <date variable="issued">+ <date-part name="month" form="short" suffix=" " strip-periods="true"/>+ <date-part name="year" form="long"/>+ </date>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/punctuation_DefaultYearSuffixDelimiter.txt view
@@ -0,0 +1,252 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+(Aalto 2000a; b; c)+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only">+ <info>+ <title>British Ecological Society Journals</title>+ <id>http://www.zotero.org/styles/besj</id>+ <link href="http://www.zotero.org/styles/besj" rel="self"/>+ <link href="http://www.functionalecology.org/view/0/authorGuideline.html" rel="documentation"/>+ <author>+ <name>Johan Asplund</name>+ <email>asplundj@gmail.com</email>+ </author>+ <contributor>+ <name> Sebastian Karcher</name>+ </contributor>+ <category field="biology"/>+ <category field="generic-base"/>+ <updated>2009-01-24T10:42:15+00:00</updated>+ <rights>This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>+ </info>+ <macro name="editor-translator">+ <names variable="editor translator" prefix="(" suffix=")" delimiter=", ">+ <label form="short" suffix=" " text-case="lowercase" strip-periods="true"/> + <name and="text" initialize-with="" delimiter=", "/>+ </names>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with="." delimiter=", " delimiter-precedes-last="never"/>+ <label form="short" prefix=" (" suffix=")" text-case="lowercase" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="symbol" delimiter=", " initialize-with=". "/>+ <et-al font-style="italic"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" form="short" font-style="italic"/>+ </if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </substitute>+ </names>+ </macro>+ <macro name="title">+ <choose>+ <if type="bill book thesis graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic" text-case="title"/>+ </if>+ <else>+ <text variable="title" text-case="title"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" text-case="lowercase" strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <group delimiter=", ">+ <text variable="genre"/>+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </macro>+ <citation collapse="year-suffix" et-al-min="4" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true">+ <sort>+ <key variable="issued"/>+ <key variable="author"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=" ">+ <text macro="author-short"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <group>+ <label variable="locator" suffix="." form="short" strip-periods="true"/>+ <text variable="locator" prefix=" "/>+ </group>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true">+ <sort>+ <key macro="author-short"/>+ <key variable="issued"/>+ </sort>+ <layout>+ <text macro="author" suffix="."/>+ <date variable="issued" prefix=" (" suffix=")">+ <date-part name="year"/>+ </date>+ <choose>+ <if type="bill book thesis graphic legal_case motion_picture report song" match="any">+ <group suffix=".">+ <text macro="title" prefix=" "/>+ <text macro="edition" prefix=", "/>+ <text macro="editor-translator" prefix=" "/>+ </group>+ <text prefix=" " suffix="." macro="publisher"/>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <text macro="title" prefix=" "/>+ <group prefix=".">+ <group prefix="" suffix="">+ <text variable="container-title" font-style="italic" prefix=" " suffix=""/>+ <text variable="collection-title" prefix=" " suffix="."/>+ <group suffix=".">+ <text macro="edition" prefix=", "/>+ <names variable="editor translator">+ <label form="short" prefix=" (" suffix=" " strip-periods="true"/>+ <name and="symbol" sort-separator=", " initialize-with="." delimiter=", " delimiter-precedes-last="never" suffix="),"/>+ </names>+ <label variable="page" form="short" prefix=" " suffix=". " strip-periods="true"/>+ <text variable="page" suffix="."/>+ <text macro="publisher" prefix=" "/>+ </group>+ </group>+ </group>+ </else-if>+ <else-if type="webpage">+ <group prefix=" " delimiter=", ">+ <text variable="title"/>+ <text variable="URL"/>+ </group>+ </else-if>+ <else>+ <group suffix=".">+ <text macro="title" prefix=" "/>+ <text macro="editor-translator" prefix=" "/>+ </group>+ <group prefix=" " suffix=".">+ <text variable="container-title" font-style="italic"/>+ <group prefix=", ">+ <text variable="volume" font-weight="bold"/>+ </group>+ <text variable="page" prefix=", "/>+ </group>+ </else>+ </choose>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ },+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/punctuation_DelimiterWithStripPeriodsAndSubstitute1.txt view
@@ -0,0 +1,76 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">J Doe, J Roe and R Noakes eds. Book Title. http://example.com/</div>+</div>+<<===== RESULT =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="creator-macro">+ <names variable="author">+ <name and="text" delimiter-precedes-last="never" initialize-with=""/>+ <label form="short" prefix=" "/>+ <substitute>+ <names variable="editor"/>+ </substitute>+ </names>+ </macro>+ <citation>+ <layout>+ <text value="bogus"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <group delimiter=". ">+ <text macro="creator-macro" strip-periods="true"/>+ <text variable="title"/>+ <text variable="URL"/>+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<++>>===== INPUT =====>>+[+ {+ "URL": "http://example.com/",+ "editor": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Noakes",+ "given": "Richard"+ }+ ],+ "id": 45,+ "title": "Book Title",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/punctuation_DelimiterWithStripPeriodsAndSubstitute2.txt view
@@ -0,0 +1,74 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">J Doe, J Roe and R Noakes eds. Book Title</div>+</div>+<<===== RESULT =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="creator-macro">+ <names variable="author">+ <name and="text" delimiter-precedes-last="never" initialize-with=""/>+ <label form="short" prefix=" "/>+ <substitute>+ <names variable="editor"/>+ </substitute>+ </names>+ </macro>+ <citation>+ <layout>+ <text value="bogus"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <group delimiter=". ">+ <text macro="creator-macro"/>+ <text variable="title"/>+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<++>>===== INPUT =====>>+[+ {+ "editor": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Noakes",+ "given": "Richard"+ }+ ],+ "id": 45,+ "title": "Book Title",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/punctuation_DelimiterWithStripPeriodsAndSubstitute3.txt view
@@ -0,0 +1,82 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">J Doe, J Roe and R Noakes eds. Book Title</div>+</div>+<<===== RESULT =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <terms>+ <term name="editor" form="short">+ <single>ed</single>+ <multiple>eds</multiple>+ </term>+ </terms>+ </locale>+ <macro name="creator-macro">+ <names variable="author">+ <name and="text" delimiter-precedes-last="never" initialize-with=""/>+ <label form="short" prefix=" "/>+ <substitute>+ <names variable="editor"/>+ </substitute>+ </names>+ </macro>+ <citation>+ <layout>+ <text value="bogus"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <group delimiter=". ">+ <text macro="creator-macro"/>+ <text variable="title"/>+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<++>>===== INPUT =====>>+[+ {+ "editor": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Noakes",+ "given": "Richard"+ }+ ],+ "id": 45,+ "title": "Book Title",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/punctuation_DoNotSuppressColonAfterPeriod.txt view
@@ -0,0 +1,47 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Detroit, Mich.: Random+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="publisher-place" suffix=": "/>+ <text variable="publisher"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "publisher": "Random",+ "publisher-place": "Detroit, Mich.",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/punctuation_FieldDuplicates.txt view
@@ -0,0 +1,66 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+<span style="font-variant:small-caps;">Doe, J.</span> 1965+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="first" and="text" sort-separator=", " initialize-with="." delimiter-precedes-last="always" delimiter=", " font-variant="small-caps"/>+ </names>+ </macro>+ <citation>+ <layout>+ <text macro="author" suffix=". "/>+ <date variable="issued" date-parts="year" form="text"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/punctuation_FrenchOrthography.txt view
@@ -0,0 +1,52 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++It may not be immediately apparent, but the spaces immediately+inside the double angle quotes below are half-width no-break+spaces ("narrow no-break space").++See http://en.wikipedia.org/wiki/Space_(punctuation)#Breaking_and_non-breaking_spaces+and http://forums.zotero.org/discussion/4933/localized-quotes/#Comment_88384+for details.++>>===== RESULT =====>>+His « Anonymous » Life+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "His « Anonymous » Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/punctuation_FullMontyField.txt view
@@ -0,0 +1,241 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+ENDING IN COLON+colon: colon+period.: colon+semicolon; colon+exclamation! colon+question? colon+comma,: colon++ENDING IN PERIOD+colon: period+period. period+semicolon; period+exclamation! period+question? period+comma,. period++ENDING IN SEMICOLON+colon:; semicolon+period.; semicolon+semicolon; semicolon+exclamation!; semicolon+question?; semicolon+comma,; semicolon++ENDING IN EXCLAMATION+colon! exclamation+period.! exclamation+semicolon! exclamation+exclamation! exclamation+question?! exclamation+comma,! exclamation++ENDING IN QUESTION+colon? question+period.? question+semicolon? question+exclamation!? question+question? question+comma,? question++ENDING IN COMMA+colon:, comma+period., comma+semicolon;, comma+exclamation!, comma+question?, comma+comma, comma+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <group delimiter="
">+ <text value="ENDING IN COLON"/>+ <group>+ <text value="colon:"/>+ <text value="colon" prefix=": "/>+ </group>+ <group>+ <text value="period."/>+ <text value="colon" prefix=": "/>+ </group>+ <group>+ <text value="semicolon;"/>+ <text value="colon" prefix=": "/>+ </group>+ <group>+ <text value="exclamation!"/>+ <text value="colon" prefix=": "/>+ </group>+ <group>+ <text value="question?"/>+ <text value="colon" prefix=": "/>+ </group>+ <group>+ <text value="comma,"/>+ <text value="colon" prefix=": "/>+ </group>+ <text value="
ENDING IN PERIOD"/>+ <group>+ <text value="colon:"/>+ <text value="period" prefix=". "/>+ </group>+ <group>+ <text value="period."/>+ <text value="period" prefix=". "/>+ </group>+ <group>+ <text value="semicolon;"/>+ <text value="period" prefix=". "/>+ </group>+ <group>+ <text value="exclamation!"/>+ <text value="period" prefix=". "/>+ </group>+ <group>+ <text value="question?"/>+ <text value="period" prefix=". "/>+ </group>+ <group>+ <text value="comma,"/>+ <text value="period" prefix=". "/>+ </group>+ <text value="
ENDING IN SEMICOLON"/>+ <group>+ <text value="colon:"/>+ <text value="semicolon" prefix="; "/>+ </group>+ <group>+ <text value="period."/>+ <text value="semicolon" prefix="; "/>+ </group>+ <group>+ <text value="semicolon;"/>+ <text value="semicolon" prefix="; "/>+ </group>+ <group>+ <text value="exclamation!"/>+ <text value="semicolon" prefix="; "/>+ </group>+ <group>+ <text value="question?"/>+ <text value="semicolon" prefix="; "/>+ </group>+ <group>+ <text value="comma,"/>+ <text value="semicolon" prefix="; "/>+ </group>+ <text value="
ENDING IN EXCLAMATION"/>+ <group>+ <text value="colon:"/>+ <text value="exclamation" prefix="! "/>+ </group>+ <group>+ <text value="period."/>+ <text value="exclamation" prefix="! "/>+ </group>+ <group>+ <text value="semicolon;"/>+ <text value="exclamation" prefix="! "/>+ </group>+ <group>+ <text value="exclamation!"/>+ <text value="exclamation" prefix="! "/>+ </group>+ <group>+ <text value="question?"/>+ <text value="exclamation" prefix="! "/>+ </group>+ <group>+ <text value="comma,"/>+ <text value="exclamation" prefix="! "/>+ </group>+ <text value="
ENDING IN QUESTION"/>+ <group>+ <text value="colon:"/>+ <text value="question" prefix="? "/>+ </group>+ <group>+ <text value="period."/>+ <text value="question" prefix="? "/>+ </group>+ <group>+ <text value="semicolon;"/>+ <text value="question" prefix="? "/>+ </group>+ <group>+ <text value="exclamation!"/>+ <text value="question" prefix="? "/>+ </group>+ <group>+ <text value="question?"/>+ <text value="question" prefix="? "/>+ </group>+ <group>+ <text value="comma,"/>+ <text value="question" prefix="? "/>+ </group>+ <text value="
ENDING IN COMMA"/>+ <group>+ <text value="colon:"/>+ <text value="comma" prefix=", "/>+ </group>+ <group>+ <text value="period."/>+ <text value="comma" prefix=", "/>+ </group>+ <group>+ <text value="semicolon;"/>+ <text value="comma" prefix=", "/>+ </group>+ <group>+ <text value="exclamation!"/>+ <text value="comma" prefix=", "/>+ </group>+ <group>+ <text value="question?"/>+ <text value="comma" prefix=", "/>+ </group>+ <group>+ <text value="comma,"/>+ <text value="comma" prefix=", "/>+ </group>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/punctuation_FullMontyPlain.txt view
@@ -0,0 +1,241 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+ENDING IN COLON+colon: colon+period.: colon+semicolon; colon+exclamation! colon+question? colon+comma,: colon++ENDING IN PERIOD+colon: period+period. period+semicolon; period+exclamation! period+question? period+comma,. period++ENDING IN SEMICOLON+colon:; semicolon+period.; semicolon+semicolon; semicolon+exclamation!; semicolon+question?; semicolon+comma,; semicolon++ENDING IN EXCLAMATION+colon! exclamation+period.! exclamation+semicolon! exclamation+exclamation! exclamation+question?! exclamation+comma,! exclamation++ENDING IN QUESTION+colon? question+period.? question+semicolon? question+exclamation!? question+question? question+comma,? question++ENDING IN COMMA+colon:, comma+period., comma+semicolon;, comma+exclamation!, comma+question?, comma+comma, comma+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <group delimiter="
">+ <text value="ENDING IN COLON"/>+ <group>+ <text value="colon" suffix=":"/>+ <text value="colon" prefix=": "/>+ </group>+ <group>+ <text value="period" suffix="."/>+ <text value="colon" prefix=": "/>+ </group>+ <group>+ <text value="semicolon" suffix=";"/>+ <text value="colon" prefix=": "/>+ </group>+ <group>+ <text value="exclamation" suffix="!"/>+ <text value="colon" prefix=": "/>+ </group>+ <group>+ <text value="question" suffix="?"/>+ <text value="colon" prefix=": "/>+ </group>+ <group>+ <text value="comma" suffix=","/>+ <text value="colon" prefix=": "/>+ </group>+ <text value="
ENDING IN PERIOD"/>+ <group>+ <text value="colon" suffix=":"/>+ <text value="period" prefix=". "/>+ </group>+ <group>+ <text value="period" suffix="."/>+ <text value="period" prefix=". "/>+ </group>+ <group>+ <text value="semicolon" suffix=";"/>+ <text value="period" prefix=". "/>+ </group>+ <group>+ <text value="exclamation" suffix="!"/>+ <text value="period" prefix=". "/>+ </group>+ <group>+ <text value="question" suffix="?"/>+ <text value="period" prefix=". "/>+ </group>+ <group>+ <text value="comma" suffix=","/>+ <text value="period" prefix=". "/>+ </group>+ <text value="
ENDING IN SEMICOLON"/>+ <group>+ <text value="colon" suffix=":"/>+ <text value="semicolon" prefix="; "/>+ </group>+ <group>+ <text value="period" suffix="."/>+ <text value="semicolon" prefix="; "/>+ </group>+ <group>+ <text value="semicolon" suffix=";"/>+ <text value="semicolon" prefix="; "/>+ </group>+ <group>+ <text value="exclamation" suffix="!"/>+ <text value="semicolon" prefix="; "/>+ </group>+ <group>+ <text value="question" suffix="?"/>+ <text value="semicolon" prefix="; "/>+ </group>+ <group>+ <text value="comma" suffix=","/>+ <text value="semicolon" prefix="; "/>+ </group>+ <text value="
ENDING IN EXCLAMATION"/>+ <group>+ <text value="colon" suffix=":"/>+ <text value="exclamation" prefix="! "/>+ </group>+ <group>+ <text value="period" suffix="."/>+ <text value="exclamation" prefix="! "/>+ </group>+ <group>+ <text value="semicolon" suffix=";"/>+ <text value="exclamation" prefix="! "/>+ </group>+ <group>+ <text value="exclamation" suffix="!"/>+ <text value="exclamation" prefix="! "/>+ </group>+ <group>+ <text value="question" suffix="?"/>+ <text value="exclamation" prefix="! "/>+ </group>+ <group>+ <text value="comma" suffix=","/>+ <text value="exclamation" prefix="! "/>+ </group>+ <text value="
ENDING IN QUESTION"/>+ <group>+ <text value="colon" suffix=":"/>+ <text value="question" prefix="? "/>+ </group>+ <group>+ <text value="period" suffix="."/>+ <text value="question" prefix="? "/>+ </group>+ <group>+ <text value="semicolon" suffix=";"/>+ <text value="question" prefix="? "/>+ </group>+ <group>+ <text value="exclamation" suffix="!"/>+ <text value="question" prefix="? "/>+ </group>+ <group>+ <text value="question" suffix="?"/>+ <text value="question" prefix="? "/>+ </group>+ <group>+ <text value="comma" suffix=","/>+ <text value="question" prefix="? "/>+ </group>+ <text value="
ENDING IN COMMA"/>+ <group>+ <text value="colon" suffix=":"/>+ <text value="comma" prefix=", "/>+ </group>+ <group>+ <text value="period" suffix="."/>+ <text value="comma" prefix=", "/>+ </group>+ <group>+ <text value="semicolon" suffix=";"/>+ <text value="comma" prefix=", "/>+ </group>+ <group>+ <text value="exclamation" suffix="!"/>+ <text value="comma" prefix=", "/>+ </group>+ <group>+ <text value="question" suffix="?"/>+ <text value="comma" prefix=", "/>+ </group>+ <group>+ <text value="comma" suffix=","/>+ <text value="comma" prefix=", "/>+ </group>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/punctuation_FullMontyQuotesIn.txt view
@@ -0,0 +1,244 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+ENDING IN COLON+“colon”: colon+“period.”: colon+“semicolon”; colon+“exclamation!” colon+“question?” colon+“comma,”: colon++ENDING IN PERIOD+“colon”: period+“period.” period+“semicolon”; period+“exclamation!” period+“question?” period+“comma,.” period++ENDING IN SEMICOLON+“colon”:; semicolon+“period.”; semicolon+“semicolon”; semicolon+“exclamation!”; semicolon+“question?”; semicolon+“comma,”; semicolon++ENDING IN EXCLAMATION+“colon!” exclamation+“period.!” exclamation+“semicolon!” exclamation+“exclamation!” exclamation+“question?!” exclamation+“comma,!” exclamation++ENDING IN QUESTION+“colon?” question+“period.?” question+“semicolon?” question+“exclamation!?” question+“question?” question+“comma,?” question++ENDING IN COMMA+“colon”:, comma+“period.,” comma+“semicolon”;, comma+“exclamation!,” comma+“question?,” comma+“comma,” comma+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <style-options punctuation-in-quote="true"/>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <text value="ENDING IN COLON"/>+ <group>+ <text quotes="true" value="colon" suffix=":"/>+ <text value="colon" prefix=": "/>+ </group>+ <group>+ <text quotes="true" value="period" suffix="."/>+ <text value="colon" prefix=": "/>+ </group>+ <group>+ <text quotes="true" value="semicolon" suffix=";"/>+ <text value="colon" prefix=": "/>+ </group>+ <group>+ <text quotes="true" value="exclamation" suffix="!"/>+ <text value="colon" prefix=": "/>+ </group>+ <group>+ <text quotes="true" value="question" suffix="?"/>+ <text value="colon" prefix=": "/>+ </group>+ <group>+ <text quotes="true" value="comma" suffix=","/>+ <text value="colon" prefix=": "/>+ </group>+ <text value="
ENDING IN PERIOD"/>+ <group>+ <text quotes="true" value="colon" suffix=":"/>+ <text value="period" prefix=". "/>+ </group>+ <group>+ <text quotes="true" value="period" suffix="."/>+ <text value="period" prefix=". "/>+ </group>+ <group>+ <text quotes="true" value="semicolon" suffix=";"/>+ <text value="period" prefix=". "/>+ </group>+ <group>+ <text quotes="true" value="exclamation" suffix="!"/>+ <text value="period" prefix=". "/>+ </group>+ <group>+ <text quotes="true" value="question" suffix="?"/>+ <text value="period" prefix=". "/>+ </group>+ <group>+ <text quotes="true" value="comma" suffix=","/>+ <text value="period" prefix=". "/>+ </group>+ <text value="
ENDING IN SEMICOLON"/>+ <group>+ <text quotes="true" value="colon" suffix=":"/>+ <text value="semicolon" prefix="; "/>+ </group>+ <group>+ <text quotes="true" value="period" suffix="."/>+ <text value="semicolon" prefix="; "/>+ </group>+ <group>+ <text quotes="true" value="semicolon" suffix=";"/>+ <text value="semicolon" prefix="; "/>+ </group>+ <group>+ <text quotes="true" value="exclamation" suffix="!"/>+ <text value="semicolon" prefix="; "/>+ </group>+ <group>+ <text quotes="true" value="question" suffix="?"/>+ <text value="semicolon" prefix="; "/>+ </group>+ <group>+ <text quotes="true" value="comma" suffix=","/>+ <text value="semicolon" prefix="; "/>+ </group>+ <text value="
ENDING IN EXCLAMATION"/>+ <group>+ <text quotes="true" value="colon" suffix=":"/>+ <text value="exclamation" prefix="! "/>+ </group>+ <group>+ <text quotes="true" value="period" suffix="."/>+ <text value="exclamation" prefix="! "/>+ </group>+ <group>+ <text quotes="true" value="semicolon" suffix=";"/>+ <text value="exclamation" prefix="! "/>+ </group>+ <group>+ <text quotes="true" value="exclamation" suffix="!"/>+ <text value="exclamation" prefix="! "/>+ </group>+ <group>+ <text quotes="true" value="question" suffix="?"/>+ <text value="exclamation" prefix="! "/>+ </group>+ <group>+ <text quotes="true" value="comma" suffix=","/>+ <text value="exclamation" prefix="! "/>+ </group>+ <text value="
ENDING IN QUESTION"/>+ <group>+ <text quotes="true" value="colon" suffix=":"/>+ <text value="question" prefix="? "/>+ </group>+ <group>+ <text quotes="true" value="period" suffix="."/>+ <text value="question" prefix="? "/>+ </group>+ <group>+ <text quotes="true" value="semicolon" suffix=";"/>+ <text value="question" prefix="? "/>+ </group>+ <group>+ <text quotes="true" value="exclamation" suffix="!"/>+ <text value="question" prefix="? "/>+ </group>+ <group>+ <text quotes="true" value="question" suffix="?"/>+ <text value="question" prefix="? "/>+ </group>+ <group>+ <text quotes="true" value="comma" suffix=","/>+ <text value="question" prefix="? "/>+ </group>+ <text value="
ENDING IN COMMA"/>+ <group>+ <text quotes="true" value="colon" suffix=":"/>+ <text value="comma" prefix=", "/>+ </group>+ <group>+ <text quotes="true" value="period" suffix="."/>+ <text value="comma" prefix=", "/>+ </group>+ <group>+ <text quotes="true" value="semicolon" suffix=";"/>+ <text value="comma" prefix=", "/>+ </group>+ <group>+ <text quotes="true" value="exclamation" suffix="!"/>+ <text value="comma" prefix=", "/>+ </group>+ <group>+ <text quotes="true" value="question" suffix="?"/>+ <text value="comma" prefix=", "/>+ </group>+ <group>+ <text quotes="true" value="comma" suffix=","/>+ <text value="comma" prefix=", "/>+ </group>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/punctuation_FullMontyQuotesOut.txt view
@@ -0,0 +1,244 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+ENDING IN COLON+“colon”: colon+“period”.: colon+“semicolon”; colon+“exclamation”! colon+“question”? colon+“comma”,: colon++ENDING IN PERIOD+“colon”: period+“period”. period+“semicolon”; period+“exclamation”! period+“question”? period+“comma”,. period++ENDING IN SEMICOLON+“colon”:; semicolon+“period”.; semicolon+“semicolon”; semicolon+“exclamation”!; semicolon+“question”?; semicolon+“comma”,; semicolon++ENDING IN EXCLAMATION+“colon”! exclamation+“period”.! exclamation+“semicolon”! exclamation+“exclamation”! exclamation+“question”?! exclamation+“comma”,! exclamation++ENDING IN QUESTION+“colon”? question+“period”.? question+“semicolon”? question+“exclamation”!? question+“question”? question+“comma”,? question++ENDING IN COMMA+“colon”:, comma+“period”., comma+“semicolon”;, comma+“exclamation”!, comma+“question”?, comma+“comma”, comma+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <style-options punctuation-in-quote="false"/>+ </locale>+ <citation>+ <layout>+ <group delimiter="
">+ <text value="ENDING IN COLON"/>+ <group>+ <text quotes="true" value="colon" suffix=":"/>+ <text value="colon" prefix=": "/>+ </group>+ <group>+ <text quotes="true" value="period" suffix="."/>+ <text value="colon" prefix=": "/>+ </group>+ <group>+ <text quotes="true" value="semicolon" suffix=";"/>+ <text value="colon" prefix=": "/>+ </group>+ <group>+ <text quotes="true" value="exclamation" suffix="!"/>+ <text value="colon" prefix=": "/>+ </group>+ <group>+ <text quotes="true" value="question" suffix="?"/>+ <text value="colon" prefix=": "/>+ </group>+ <group>+ <text quotes="true" value="comma" suffix=","/>+ <text value="colon" prefix=": "/>+ </group>+ <text value="
ENDING IN PERIOD"/>+ <group>+ <text quotes="true" value="colon" suffix=":"/>+ <text value="period" prefix=". "/>+ </group>+ <group>+ <text quotes="true" value="period" suffix="."/>+ <text value="period" prefix=". "/>+ </group>+ <group>+ <text quotes="true" value="semicolon" suffix=";"/>+ <text value="period" prefix=". "/>+ </group>+ <group>+ <text quotes="true" value="exclamation" suffix="!"/>+ <text value="period" prefix=". "/>+ </group>+ <group>+ <text quotes="true" value="question" suffix="?"/>+ <text value="period" prefix=". "/>+ </group>+ <group>+ <text quotes="true" value="comma" suffix=","/>+ <text value="period" prefix=". "/>+ </group>+ <text value="
ENDING IN SEMICOLON"/>+ <group>+ <text quotes="true" value="colon" suffix=":"/>+ <text value="semicolon" prefix="; "/>+ </group>+ <group>+ <text quotes="true" value="period" suffix="."/>+ <text value="semicolon" prefix="; "/>+ </group>+ <group>+ <text quotes="true" value="semicolon" suffix=";"/>+ <text value="semicolon" prefix="; "/>+ </group>+ <group>+ <text quotes="true" value="exclamation" suffix="!"/>+ <text value="semicolon" prefix="; "/>+ </group>+ <group>+ <text quotes="true" value="question" suffix="?"/>+ <text value="semicolon" prefix="; "/>+ </group>+ <group>+ <text quotes="true" value="comma" suffix=","/>+ <text value="semicolon" prefix="; "/>+ </group>+ <text value="
ENDING IN EXCLAMATION"/>+ <group>+ <text quotes="true" value="colon" suffix=":"/>+ <text value="exclamation" prefix="! "/>+ </group>+ <group>+ <text quotes="true" value="period" suffix="."/>+ <text value="exclamation" prefix="! "/>+ </group>+ <group>+ <text quotes="true" value="semicolon" suffix=";"/>+ <text value="exclamation" prefix="! "/>+ </group>+ <group>+ <text quotes="true" value="exclamation" suffix="!"/>+ <text value="exclamation" prefix="! "/>+ </group>+ <group>+ <text quotes="true" value="question" suffix="?"/>+ <text value="exclamation" prefix="! "/>+ </group>+ <group>+ <text quotes="true" value="comma" suffix=","/>+ <text value="exclamation" prefix="! "/>+ </group>+ <text value="
ENDING IN QUESTION"/>+ <group>+ <text quotes="true" value="colon" suffix=":"/>+ <text value="question" prefix="? "/>+ </group>+ <group>+ <text quotes="true" value="period" suffix="."/>+ <text value="question" prefix="? "/>+ </group>+ <group>+ <text quotes="true" value="semicolon" suffix=";"/>+ <text value="question" prefix="? "/>+ </group>+ <group>+ <text quotes="true" value="exclamation" suffix="!"/>+ <text value="question" prefix="? "/>+ </group>+ <group>+ <text quotes="true" value="question" suffix="?"/>+ <text value="question" prefix="? "/>+ </group>+ <group>+ <text quotes="true" value="comma" suffix=","/>+ <text value="question" prefix="? "/>+ </group>+ <text value="
ENDING IN COMMA"/>+ <group>+ <text quotes="true" value="colon" suffix=":"/>+ <text value="comma" prefix=", "/>+ </group>+ <group>+ <text quotes="true" value="period" suffix="."/>+ <text value="comma" prefix=", "/>+ </group>+ <group>+ <text quotes="true" value="semicolon" suffix=";"/>+ <text value="comma" prefix=", "/>+ </group>+ <group>+ <text quotes="true" value="exclamation" suffix="!"/>+ <text value="comma" prefix=", "/>+ </group>+ <group>+ <text quotes="true" value="question" suffix="?"/>+ <text value="comma" prefix=", "/>+ </group>+ <group>+ <text quotes="true" value="comma" suffix=","/>+ <text value="comma" prefix=", "/>+ </group>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/punctuation_NoSuppressOfPeriodBeforeSemicolon.txt view
@@ -0,0 +1,63 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Hello.; Goodbye+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <group delimiter="; ">+ <text value="Hello" suffix="."/>+ <text value="Goodbye"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/punctuation_OnMacro.txt view
@@ -0,0 +1,56 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+“My Title.” My Publisher+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="the-title">+ <text variable="title"/>+ </macro>+ <macro name="the-publisher">+ <text variable="publisher"/>+ </macro>+ <citation>+ <layout>+ <text macro="the-title" quotes="true"/>+ <group delimiter=", ">+ <text macro="the-publisher" prefix=". "/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "publisher": "My Publisher",+ "publisher-place": "New York",+ "title": "My Title",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/punctuation_SemicolonDelimiter.txt view
@@ -0,0 +1,123 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Bauthor, O. T.; Cauthor, T.; Dauthor, T.; Eauthor, E.; Fauthor, F.; Gauthor, G.</div>+</div>+<<===== RESULT =====<<++++>>===== CSL =====>>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only">+ <info>+ <title>Semicolon Test</title>+ <id>http://www.zotero.org/styles/semicolon</id>+ <link href="http://www.zotero.org/styles/semicolon" rel="self"/>+ <author>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </author>+ <category citation-format="author-date"/>+ <updated>2011-05-12T00:16:05+00:00</updated>+ <rights>This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>+ </info>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" sort-separator=", " initialize-with=". " delimiter="; " delimiter-precedes-last="always"/>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="symbol" delimiter=", " initialize-with=". "/>+ </names>+ </macro> + <citation>+ <sort>+ <key macro="author"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter=", ">+ <group delimiter=", ">+ <text macro="author-short"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="8" et-al-use-first="7" entry-spacing="0" line-spacing="2">+ <sort>+ <key macro="author"/>+ </sort>+ <layout>+ <text macro="author" suffix="."/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<++>>===== INPUT =====>>+[+ {+ "URL": "www.reporturl.com",+ "accessed": {+ "date-parts": [+ [+ 2007,+ 12,+ 12+ ]+ ]+ },+ "archive_location": "loc archieve",+ "author": [+ {+ "family": "Bauthor",+ "given": "One Two"+ },+ {+ "family": "Cauthor",+ "given": "Two"+ },+ {+ "family": "Dauthor",+ "given": "Three"+ },+ {+ "family": "Eauthor",+ "given": "Edward"+ },+ {+ "family": "Fauthor",+ "given": "Fritz"+ },+ {+ "family": "Gauthor",+ "given": "Gerd"+ }+ ],+ "event-place": "Reportplace",+ "genre": "Report Type",+ "id": 1,+ "issued": {+ "date-parts": [+ [+ 2009,+ 12,+ 12+ ]+ ]+ },+ "number": "17",+ "publisher": "Institution",+ "publisher-place": "Reportplace",+ "title": "Report on something many authors",+ "type": "report"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/punctuation_SuppressPrefixPeriodForDelimiterSemicolon.txt view
@@ -0,0 +1,810 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+..[0] John Doe, “His Anonymous Life,” 1965; Jane Roe, “Her Anonymous Life,” 1965.+>>[1] Doe, “His Anonymous Life”; Roe, “Her Anonymous Life.”+<<===== RESULT =====<<+++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-2",+ "citationItems": [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ],+ "properties": {+ "noteIndex": 2+ }+ },+ [+ [+ "CITATION-1",+ 1+ ]+ ],+ []+ ]+]+<<===== CITATIONS =====<<+++++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <title>Chicago Manual of Style (Full Note with Bibliography)</title>+ <id>http://www.zotero.org/styles/chicago-fullnote-bibliography</id>+ <link rel="self" href="http://www.zotero.org/styles/chicago-fullnote-bibliography" />+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation" />+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </contributor>+ <contributor>+ <name>Elena Razlogova</name>+ <email>elena.razlogova@gmail.com</email>+ </contributor>+ <summary>Chicago format with full notes and bibliography</summary>+ <category field="generic-base" />+ <category citation-format="numeric" />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="editor-translator">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <names delimiter=", " variable="editor">+ <label form="verb-short" suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names delimiter=", " variable="translator">+ <label form="verb-short" suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="secondary-contributors-note">+ <choose>+ <if match="none" type="chapter">+ <text macro="editor-translator" />+ </if>+ </choose>+ </macro>+ <macro name="container-contributors-note">+ <choose>+ <if type="chapter">+ <text macro="editor-translator" />+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if match="none" type="chapter">+ <group delimiter=". ">+ <choose>+ <if variable="author">+ <names delimiter=". " variable="editor">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names delimiter=". " variable="translator">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <names delimiter=", " variable="editor">+ <label form="verb" suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names delimiter=", " variable="translator">+ <label form="verb" suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="editor-note">+ <names variable="editor">+ <name and="text" delimiter=", " sort-separator=", " />+ <label form="short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="translator-note">+ <names variable="translator">+ <name and="text" delimiter=", " sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="recipient-note">+ <names delimiter=", " variable="recipient">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="contributors-note">+ <names variable="author">+ <name and="text" delimiter=", " sort-separator=", " />+ <substitute>+ <text macro="editor-note" />+ <text macro="translator-note" />+ </substitute>+ </names>+ <text macro="recipient-note" />+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="recipient">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ <else>+ <text term="letter" text-case="capitalize-first" />+ </else>+ </choose>+ </if>+ </choose>+ <text macro="recipient-note" prefix=" " />+ </macro>+ <macro name="contributors">+ <names variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <substitute>+ <text macro="editor" />+ <text macro="translator" />+ </substitute>+ </names>+ <text macro="recipient" prefix=". " />+ </macro>+ <macro name="recipient-short">+ <names variable="recipient">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " form="short" />+ </names>+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name and="text" delimiter=", " form="short" />+ <substitute>+ <names variable="editor" />+ <names variable="translator" />+ </substitute>+ </names>+ <text macro="recipient-short" />+ </macro>+ <macro name="contributors-sort">+ <names variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="all" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ <substitute>+ <names variable="editor" />+ <names variable="translator" />+ </substitute>+ </names>+ </macro>+ <macro name="interviewer-note">+ <names delimiter=", " variable="interviewer">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="interviewer">+ <names delimiter=", " variable="interviewer">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="title-note">+ <choose>+ <if match="none" variable="title">+ <text variable="genre" />+ </if>+ <else-if type="book">+ <text font-style="italic" variable="title" />+ </else-if>+ <else>+ <text quotes="true" variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if match="none" variable="title">+ <choose>+ <if match="none" type="personal_communication">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ </if>+ <else-if type="book">+ <text font-style="italic" variable="title" />+ </else-if>+ <else>+ <text quotes="true" variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="title-short">+ <choose>+ <if match="none" variable="title">+ <choose>+ <if type="interview">+ <text term="interview" text-case="lowercase" />+ </if>+ <else-if match="any" type="manuscript speech">+ <text form="short" variable="genre" />+ </else-if>+ <else-if type="personal_communication">+ <text macro="issued" />+ </else-if>+ </choose>+ </if>+ <else-if type="book">+ <text font-style="italic" form="short" variable="title" />+ </else-if>+ <else>+ <text form="short" quotes="true" variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="description-note">+ <group delimiter=", ">+ <text macro="interviewer-note" />+ <text variable="medium" />+ <choose>+ <if match="none" variable="title"/>+ <else-if match="any" type="thesis speech"/>+ <else>+ <text variable="genre" />+ </else>+ </choose>+ </group>+ </macro>+ <macro name="description">+ <group delimiter=", ">+ <group delimiter=". ">+ <text macro="interviewer" />+ <text text-case="capitalize-first" variable="medium" />+ </group>+ <choose>+ <if match="none" variable="title"/>+ <else-if match="any" type="thesis speech"/>+ <else>+ <text text-case="capitalize-first" variable="genre" />+ </else>+ </choose>+ </group>+ </macro>+ <macro name="container-title-note">+ <choose>+ <if type="chapter">+ <text suffix=" " term="in" text-case="lowercase"/>+ </if>+ </choose>+ <text font-style="italic" variable="container-title" />+ </macro>+ <macro name="container-title">+ <choose>+ <if type="chapter">+ <text suffix=" " term="in" text-case="capitalize-first" />+ </if>+ </choose>+ <text font-style="italic" variable="container-title" />+ </macro>+ <macro name="collection-title">+ <text variable="collection-title" />+ <text prefix=" " variable="collection-number" />+ </macro>+ <macro name="edition-note">+ <choose>+ <if match="any" type="book chapter">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number form="ordinal" variable="edition" />+ <text form="short" suffix="." term="edition" />+ </group>+ </if>+ <else>+ <text suffix="." variable="edition" />+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if match="any" type="book chapter">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number form="ordinal" variable="edition" />+ <text form="short" suffix="." term="edition" />+ </group>+ </if>+ <else>+ <text suffix="." text-case="capitalize-first" variable="edition" />+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-note">+ <choose>+ <if type="article-journal">+ <text prefix=" " variable="volume" />+ <text prefix=", no. " variable="issue" />+ </if>+ <else-if match="any" type="book chapter">+ <group delimiter=", " prefix=", ">+ <group>+ <text form="short" suffix=". " term="volume" />+ <number form="numeric" variable="volume" />+ </group>+ <choose>+ <if match="none" variable="locator">+ <group>+ <number form="numeric" variable="number-of-volumes" />+ <text form="short" plural="true" prefix=" " suffix="." term="volume" />+ </group>+ </if>+ </choose>+ <text macro="edition-note" />+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <text prefix=" " variable="volume" />+ <text prefix=", no. " variable="issue" />+ </if>+ <else-if match="any" type="book">+ <group delimiter=". " prefix=". ">+ <group>+ <text form="short" suffix=". " term="volume" text-case="capitalize-first" />+ <number form="numeric" variable="volume" />+ </group>+ <group>+ <number form="numeric" variable="number-of-volumes" />+ <text form="short" plural="true" prefix=" " suffix="." term="volume" />+ </group>+ <text macro="edition" />+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-newspaper">+ <choose>+ <if type="article-newspaper">+ <group delimiter=", ">+ <group>+ <text suffix=" " variable="edition" />+ <text prefix=" " term="edition" />+ </group>+ <group>+ <text form="short" suffix=". " term="section" />+ <text variable="section" />+ </group>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="event">+ <group>+ <text suffix=" " term="presented at" />+ <text variable="event" />+ </group>+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place" />+ <text variable="publisher" />+ </group>+ </macro>+ <macro name="issued">+ <choose>+ <if match="any" type="graphic report">+ <date variable="issued">+ <date-part name="month" suffix=" " />+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </if>+ <else-if match="any" type="book chapter thesis">+ <date variable="issued">+ <date-part name="year" />+ </date>+ </else-if>+ <else>+ <date variable="issued">+ <date-part name="month" suffix=" " />+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </else>+ </choose>+ </macro>+ <macro name="point-locators-subsequent">+ <group>+ <choose>+ <if locator="page" match="none">+ <label form="short" suffix=" " variable="locator" />+ </if>+ </choose>+ <text variable="locator" />+ </group>+ </macro>+ <macro name="point-locators">+ <choose>+ <if match="none" variable="locator">+ <text macro="pages" />+ </if>+ <else-if type="article-journal">+ <text prefix=": " variable="locator" />+ </else-if>+ <else>+ <text macro="point-locators-subsequent" prefix=", " />+ </else>+ </choose>+ </macro>+ <macro name="pages">+ <choose>+ <if type="article-journal">+ <text prefix=": " variable="page" />+ </if>+ <else-if type="chapter">+ <text prefix=", " variable="page" />+ </else-if>+ </choose>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter">+ <text suffix=":" variable="volume" />+ <text variable="page" />+ </if>+ </choose>+ </macro>+ <macro name="locators-journal">+ <choose>+ <if type="article-journal">+ <text prefix=": " variable="page" />+ </if>+ </choose>+ </macro>+ <macro name="archive-note">+ <group delimiter=", ">+ <text variable="archive_location" />+ <text variable="archive" />+ <text variable="archive-place" />+ </group>+ </macro>+ <macro name="archive">+ <group delimiter=". ">+ <text text-case="capitalize-first" variable="archive_location" />+ <text variable="archive" />+ <text variable="archive-place" />+ </group>+ </macro>+ <macro name="issue-note">+ <choose>+ <if type="article-journal">+ <text macro="issued" prefix=" (" suffix=")" />+ </if>+ <else-if match="any" variable="publisher-place publisher">+ <group delimiter=", " prefix=" (" suffix=")">+ <group delimiter=" ">+ <choose>+ <if match="none" variable="title"/>+ <else-if match="any" type="thesis speech">+ <text variable="genre" />+ </else-if>+ </choose>+ <text macro="event" />+ </group>+ <text macro="publisher" />+ <text macro="issued" />+ </group>+ </else-if>+ <else>+ <text macro="issued" prefix=", " />+ </else>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="article-journal">+ <text macro="issued" prefix=" (" suffix=")" />+ </if>+ <else-if type="speech">+ <choose>+ <if match="none" variable="title"> </if>+ <else>+ <text prefix=". " text-case="capitalize-first" variable="genre" />+ </else>+ </choose>+ <text macro="event" prefix=" " />+ <text prefix=", " variable="event-place" />+ <text macro="issued" prefix=", " />+ </else-if>+ <else-if match="any" variable="publisher-place publisher">+ <group delimiter=", " prefix=". ">+ <choose>+ <if type="thesis">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ <text macro="publisher" />+ <text macro="issued" />+ </group>+ </else-if>+ <else>+ <text macro="issued" prefix=", " />+ </else>+ </choose>+ </macro>+ <macro name="access-note">+ <group delimiter=", ">+ <choose>+ <if match="any" type="graphic report">+ <text macro="archive-note" />+ </if>+ <else-if match="none" type="book thesis chapter article-journal article-newspaper article-magazine">+ <text macro="archive-note" />+ </else-if>+ </choose>+ <text prefix="doi:" variable="DOI" />+ <text variable="URL" />+ </group>+ </macro>+ <macro name="access">+ <group delimiter=". ">+ <choose>+ <if match="any" type="graphic report">+ <text macro="archive" />+ </if>+ <else-if match="none" type="book thesis chapter article-journal article-newspaper article-magazine">+ <text macro="archive" />+ </else-if>+ </choose>+ <text variable="URL" />+ </group>+ </macro>+ <macro name="sort-key">+ <text macro="contributors-sort" suffix=" " />+ <text suffix=" " variable="title" />+ <text variable="genre" />+ </macro>+ <macro name="legal-case-first">+ <group delimiter=", ">+ <text variable="title"/>+ <group delimiter=" ">+ <text variable="volume"/>+ <text variable="container-title"/>+ <text variable="page"/>+ <group prefix="(" suffix=")" delimiter=" ">+ <text variable="authority" form="short"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </group>+ </group>+ </macro>+ <citation + disambiguate-add-names="true"+ et-al-min="4"+ et-al-subsequent-min="4"+ et-al-subsequent-use-first="1"+ et-al-use-first="1">+ <layout delimiter="; " prefix="" suffix=".">+ <choose>+ <if type="legal_case">+ <text macro="legal-case-first"/>+ </if>+ <else-if position="ibid-with-locator">+ <group delimiter=", ">+ <text suffix="." term="ibid"/>+ <text macro="point-locators-subsequent" />+ </group>+ </else-if>+ <else-if position="ibid">+ <text suffix="." term="ibid"/>+ </else-if>+ <else-if position="subsequent">+ <group delimiter=", ">+ <text macro="contributors-short" />+ <text macro="title-short" />+ <text macro="point-locators-subsequent" />+ </group>+ </else-if>+ <else>+ <group delimiter=", ">+ <text macro="contributors-note" />+ <text macro="title-note" />+ <text macro="description-note" />+ <text macro="secondary-contributors-note" />+ <text macro="container-title-note" />+ <text macro="container-contributors-note" />+ </group>+ <text macro="locators-note" />+ <text macro="collection-title" prefix=", " />+ <text macro="issue-note" />+ <text macro="locators-newspaper" prefix=", " />+ <text macro="point-locators"/>+ <text macro="access-note" prefix=", " />+ </else>+ </choose>+ </layout>+ </citation>+ <bibliography + entry-spacing="0"+ et-al-min="11"+ et-al-use-first="7"+ hanging-indent="true"+ subsequent-author-substitute="---">+ <sort>+ <key macro="sort-key" />+ <key variable="issued" />+ </sort>+ <layout suffix=".">+ <choose>+ <if type="legal_case">+ <text macro="legal-case-first"/>+ </if>+ <else>+ <group delimiter=". ">+ <text macro="contributors" />+ <text macro="title" />+ <text macro="description" />+ <text macro="secondary-contributors" />+ <group delimiter=", ">+ <text macro="container-title" />+ <text macro="container-contributors" />+ <text macro="locators-chapter" />+ </group>+ </group>+ <text macro="locators" />+ <text macro="collection-title" prefix=". " />+ <text macro="issue" />+ <text macro="locators-newspaper" prefix=", " />+ <text macro="locators-journal" />+ <text macro="access" prefix=". " />+ </else>+ </choose>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ], + "id": "ITEM-1", + "issued": {+ "date-parts": [+ [+ "1965", + "6", + "1"+ ]+ ]+ }, + "title": "His Anonymous Life", + "type": "chapter"+ },+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane"+ }+ ], + "id": "ITEM-2", + "issued": {+ "date-parts": [+ [+ "1965", + "6", + "1"+ ]+ ]+ }, + "title": "Her Anonymous Life", + "type": "chapter"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/quotes_Punctuation.txt view
@@ -0,0 +1,68 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">“The Book Title,”</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="title">+ <text quotes="true" suffix="," variable="title" />+ </macro>+ <citation>+ <layout>+ <text value="Ignore me" />+ </layout>+ </citation>+ <bibliography>+ <layout>+ <text macro="title" />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "item-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "The Book Title",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/quotes_PunctuationNasty.txt view
@@ -0,0 +1,1004 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Savage, Thomas. “Report of Labors in Archives and Procuring Material for History of California: And Related Material,” 1879. MSS C-E 191. Bancroft Library, University of California at Berkeley.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0" demote-non-dropping-particle="sort-only">+ <info>+ <title>Chicago Manual of Style (no ibid - Full Note w. Bibliography)</title>+ <id>http://www.zotero.org/styles/chicago-fullnote-bibliography-no-ibid-delimiter-fixes</id>+ <link href="http://www.zotero.org/styles/chicago-fullnote-bibliography-no-ibid-delimiter-fixes" rel="self"/>+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </contributor>+ <contributor>+ <name>Elena Razlogova</name>+ <email>elena.razlogova@gmail.com</email>+ </contributor>+ <contributor>+ <name>Frank Bennett</name>+ <email>biercenator@gmail.com</email>+ </contributor>+ <summary>Chicago format with full notes and bibliography (delimiter fixes)</summary>+ <category field="generic-base"/>+ <category citation-format="note"/>+ <updated>2009-12-04T20:22:16+00:00</updated>+ <rights>This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>+ </info>+ <locale xml:lang="en">+ <terms>+ <term name="editortranslator" form="verb-short">+ <single>trans. and ed.</single>+ <multiple>trans. and ed.</multiple>+ </term>+ <term name="editortranslator" form="verb">+ <single> Translated and edited by</single>+ <multiple> Translated and edited by</multiple>+ </term>+ </terms>+ </locale>+ <macro name="editor-translator">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <group delimiter=" ">+ <choose>+ <if variable="container-author">+ <group>+ <names variable="container-author">+ <label form="verb-short" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </if>+ </choose>+ </group>+ <names variable="editor translator" delimiter=", ">+ <label form="verb-short" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="secondary-contributors-note">+ <choose>+ <if type="chapter paper-conference" match="none">+ <text macro="editor-translator"/>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors-note">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text macro="editor-translator"/>+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if type="chapter paper-conference" match="none">+ <group delimiter=". ">+ <choose>+ <if variable="author">+ <names variable="editor translator" delimiter=". ">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference" match="any">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <choose>+ <if variable="container-author">+ <names variable="container-author">+ <label form="verb-short" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ </choose>+ <!--This includes page numers after the container author, e.g. for Introductions -->+ <choose>+ <if variable="container-author author" match="all">+ <group delimiter=". ">+ <text variable="page"/>+ <names variable="editor translator" delimiter=", ">+ <label form="verb" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </if>+ <else>+ <names variable="editor translator" delimiter=", ">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </else>+ </choose>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="recipient-note">+ <names variable="recipient" delimiter=", ">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="contributors-note">+ <group delimiter=" ">+ <names variable="author">+ <name and="text" sort-separator=", " delimiter=", "/>+ <label form="short" prefix=", "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ <text macro="recipient-note"/>+ </group>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", "/>+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="verb-short" prefix=", "/>+ </names>+ </macro>+ <macro name="recipient">+ <group delimiter=" ">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ <else>+ <text term="letter" text-case="capitalize-first"/>+ </else>+ </choose>+ </if>+ </choose>+ <text macro="recipient-note"/>+ </group>+ </macro>+ <macro name="contributors">+ <group delimiter=". ">+ <names variable="author">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <substitute>+ <text macro="editor"/>+ <text macro="translator"/>+ </substitute>+ </names>+ <text macro="recipient"/>+ </group>+ </macro>+ <macro name="recipient-short">+ <names variable="recipient">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name form="short" and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="contributors-short">+ <group delimiter=" ">+ <names variable="author">+ <name form="short" and="text" delimiter=", "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ <text macro="recipient-short"/>+ </group>+ </macro>+ <macro name="contributors-sort">+ <names variable="author">+ <name name-as-sort-order="all" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="verb-short" prefix=", "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ </macro>+ <macro name="interviewer-note">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="interviewer">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="title-note">+ <choose>+ <if variable="title" match="none">+ <text variable="genre"/>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </else-if>+ <else>+ <text variable="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if variable="title" match="none">+ <choose>+ <if type="personal_communication" match="none">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ </choose>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </else-if>+ <else>+ <text variable="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="title-short">+ <choose>+ <if variable="title" match="none">+ <choose>+ <if type="interview">+ <text term="interview" text-case="lowercase"/>+ </if>+ <else-if type="manuscript speech" match="any">+ <text variable="genre" form="short"/>+ </else-if>+ <else-if type="personal_communication">+ <text macro="issued"/>+ </else-if>+ </choose>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" form="short" font-style="italic"/>+ </else-if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="description-note">+ <group delimiter=", ">+ <text macro="interviewer-note"/>+ <text variable="medium"/>+ <choose>+ <if variable="title" match="none"/>+ <else-if type="thesis speech" match="any"/>+ <else>+ <text variable="genre"/>+ </else>+ </choose>+ </group>+ </macro>+ <macro name="description">+ <group delimiter=", ">+ <group delimiter=". ">+ <text macro="interviewer"/>+ <text variable="medium" text-case="capitalize-first"/>+ </group>+ <choose>+ <if variable="title" match="none"/>+ <else-if type="thesis speech" match="any"/>+ <else>+ <text variable="genre" text-case="capitalize-first"/>+ </else>+ </choose>+ </group>+ </macro>+ <macro name="container-title-note">+ <group delimiter=" ">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text term="in" text-case="lowercase"/>+ </if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <text variable="container-title" font-style="italic"/>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="container-title">+ <group delimiter=" ">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text term="in" text-case="capitalize-first"/>+ </if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <text variable="container-title" font-style="italic"/>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="collection-title">+ <group delimiter=" ">+ <text variable="collection-title"/>+ <text variable="collection-number"/>+ </group>+ </macro>+ <macro name="edition-note">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short"/>+ </group>+ </if>+ <else>+ <number variable="edition" suffix="."/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short"/>+ </group>+ </if>+ <else>+ <number variable="edition" text-case="capitalize-first" suffix="."/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-note-join-with-space">+ <choose>+ <if type="article-journal">+ <text macro="locators-note"/>+ </if>+ </choose>+ </macro>+ <macro name="locators-note-join-with-comma">+ <choose>+ <if type="article-journal" match="none">+ <text macro="locators-note"/>+ </if>+ </choose>+ </macro>+ <macro name="locators-note">+ <choose>+ <if type="article-journal">+ <group delimiter=", ">+ <number variable="volume"/>+ <group delimiter=" ">+ <text term="issue" form="short"/>+ <number variable="issue"/>+ </group>+ </group>+ </if>+ <else-if type="legal_case">+ <group delimiter=", ">+ <group delimiter=" ">+ <number variable="volume"/>+ <text variable="container-title"/>+ <text variable="page"/>+ </group>+ <text variable="locator"/>+ </group>+ </else-if>+ <else-if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <group delimiter=", ">+ <group delimiter=" ">+ <text term="volume" form="short"/>+ <number variable="volume" form="numeric"/>+ </group>+ <choose>+ <if variable="locator" match="none">+ <group delimiter=" ">+ <number variable="number-of-volumes" form="numeric"/>+ <text term="volume" form="short" plural="true"/>+ </group>+ </if>+ </choose>+ <text macro="edition-note"/>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-join-with-space">+ <choose>+ <if type="article-journal">+ <text macro="locators"/>+ </if>+ </choose>+ </macro>+ <macro name="locators-join-with-comma">+ <choose>+ <if type="legal_case">+ <text macro="locators"/>+ </if>+ </choose>+ </macro>+ <macro name="locators-join-with-period">+ <choose>+ <if type="legal_case article-journal" match="none">+ <text macro="locators"/>+ </if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <group delimiter=", ">+ <number variable="volume"/>+ <group delimiter=" ">+ <text term="issue" form="short"/>+ <number variable="issue"/>+ </group>+ </group>+ </if>+ <else-if type="legal_case">+ <group delimiter=" ">+ <number variable="volume"/>+ <text variable="container-title"/>+ <text variable="page"/>+ </group>+ </else-if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <group delimiter=". ">+ <group delimiter=" ">+ <text term="volume" form="short" text-case="capitalize-first"/>+ <number variable="volume" form="numeric"/>+ </group>+ <group delimiter=" ">+ <number variable="number-of-volumes" form="numeric"/>+ <text term="volume" form="short" plural="true"/>+ </group>+ <text macro="edition"/>+ </group>+ </else-if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=". ">+ <choose>+ <if variable="page" match="none">+ <group delimiter=" ">+ <text term="volume" form="short" text-case="capitalize-first"/>+ <number variable="volume" form="numeric"/>+ </group>+ </if>+ </choose>+ <text macro="edition"/>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-newspaper">+ <choose>+ <if type="article-newspaper">+ <group delimiter=", ">+ <group delimiter=" ">+ <number variable="edition"/>+ <text term="edition"/>+ </group>+ <group delimiter=" ">+ <text term="section" form="short"/>+ <text variable="section"/>+ </group>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="event">+ <group delimiter=" ">+ <text term="presented at"/>+ <text variable="event"/>+ </group>+ </macro>+ <macro name="publisher">+ <choose>+ <if type="thesis">+ <text variable="publisher"/>+ </if>+ <else>+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="issued">+ <choose>+ <if variable="issued">+ <choose>+ <if type="graphic report" match="any">+ <date variable="issued">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </if>+ <else-if type="legal_case">+ <group delimiter=" ">+ <text variable="authority"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ <else-if type="bill book graphic legal_case motion_picture report song thesis chapter paper-conference" match="any">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </else-if>+ <else>+ <date variable="issued">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </else>+ </choose>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="point-locators-subsequent">+ <choose>+ <if variable="locator">+ <choose>+ <if locator="page" match="none">+ <group delimiter=" ">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <choose>+ <if variable="volume">+ <group delimiter=", ">+ <group delimiter=" ">+ <text term="volume" form="short" text-case="lowercase"/>+ <number variable="volume" form="numeric"/>+ </group>+ <label variable="locator" form="short"/>+ </group>+ </if>+ <else>+ <label variable="locator" form="short"/>+ </else>+ </choose>+ </if>+ </choose>+ <text variable="locator"/>+ </group>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <group delimiter=":">+ <number variable="volume" form="numeric"/>+ <text variable="locator"/>+ </group>+ </else-if>+ <else>+ <text variable="locator"/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="point-locators-join-with-colon">+ <choose>+ <if type="article-journal">+ <choose>+ <if variable="locator page" match="any">+ <text macro="point-locators"/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="point-locators-join-with-comma">+ <choose>+ <if type="article-journal" match="none">+ <text macro="point-locators"/>+ </if>+ </choose>+ </macro>+ <macro name="point-locators">+ <choose>+ <if variable="locator" match="none">+ <choose>+ <if type="article-journal">+ <text variable="page"/>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <text variable="page"/>+ </else-if>+ </choose>+ </if>+ <else-if type="article-journal">+ <text variable="locator"/>+ </else-if>+ <else-if type="legal_case"/>+ <else>+ <group delimiter=" ">+ <choose>+ <if locator="page" match="none">+ <label variable="locator" form="short"/>+ </if>+ </choose>+ <text variable="locator"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter paper-conference" match="any">+ <choose>+ <if variable="page">+ <number variable="volume" suffix=":"/>+ <text variable="page"/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-journal">+ <choose>+ <if type="article-journal">+ <text variable="page"/>+ </if>+ </choose>+ </macro>+ <macro name="archive-note">+ <choose>+ <if type="thesis">+ <group delimiter=" ">+ <text variable="archive"/>+ <text variable="archive_location" prefix="(" suffix=")"/>+ </group>+ </if>+ <else>+ <group delimiter=", ">+ <text variable="archive_location"/>+ <text variable="archive"/>+ <text variable="archive-place"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="archive">+ <choose>+ <if type="thesis">+ <group delimiter=" ">+ <text variable="archive"/>+ <text variable="archive_location" prefix="(" suffix=")"/>+ </group>+ </if>+ <else>+ <group delimiter=". ">+ <text variable="archive_location" text-case="capitalize-first"/>+ <text variable="archive"/>+ <text variable="archive-place"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="issue-note-join-with-space">+ <choose>+ <if type="article-journal legal_case" variable="publisher-place publisher" match="any">+ <text macro="issue-note"/>+ </if>+ </choose>+ </macro>+ <macro name="issue-note-join-with-comma">+ <choose>+ <if type="article-journal legal_case" variable="publisher-place publisher" match="none">+ <text macro="issue-note"/>+ </if>+ </choose>+ </macro>+ <macro name="issue-note">+ <choose>+ <if type="article-journal legal_case" match="any">+ <text macro="issued" prefix="(" suffix=")"/>+ </if>+ <else-if variable="publisher-place publisher" match="any">+ <group prefix="(" suffix=")" delimiter=", ">+ <group delimiter=" ">+ <choose>+ <if variable="title" match="none"/>+ <else-if type="thesis speech" match="any">+ <text variable="genre"/>+ </else-if>+ </choose>+ <text macro="event"/>+ </group>+ <text macro="publisher"/>+ <text macro="issued"/>+ </group>+ </else-if>+ <else>+ <text macro="issued"/>+ </else>+ </choose>+ </macro>+ <macro name="issue-join-with-space">+ <choose>+ <if type="article-journal legal_case">+ <text macro="issue"/>+ </if>+ </choose>+ </macro>+ <macro name="issue-join-with-period">+ <choose>+ <if type="article-journal legal_case" match="none">+ <choose>+ <if type="speech" variable="publisher publisher-place" match="any">+ <text macro="issue"/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issue-join-with-comma">+ <choose>+ <if type="article-journal legal_case" match="none">+ <choose>+ <if type="speech" variable="publisher publisher-place" match="none">+ <text macro="issue"/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="article-journal legal_case" match="any">+ <text macro="issued" prefix="(" suffix=")"/>+ </if>+ <else-if type="speech">+ <group delimiter=", ">+ <group delimiter=" ">+ <choose>+ <if variable="title" match="none"/>+ <else>+ <text variable="genre" text-case="capitalize-first"/>+ </else>+ </choose>+ <text macro="event"/>+ </group>+ <text variable="event-place"/>+ <text macro="issued"/>+ </group>+ </else-if>+ <else-if variable="publisher-place publisher" match="any">+ <group delimiter=", ">+ <choose>+ <if type="thesis">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ </choose>+ <text macro="publisher"/>+ <text macro="issued"/>+ </group>+ </else-if>+ <else>+ <text macro="issued"/>+ </else>+ </choose>+ </macro>+ <macro name="access-note">+ <group delimiter=", ">+ <choose>+ <if type="graphic report" match="any">+ <text macro="archive-note"/>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song article-journal article-magazine article-newspaper chapter paper-conference" match="none">+ <text macro="archive-note"/>+ </else-if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <text variable="URL"/>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="access">+ <group delimiter=". ">+ <choose>+ <if type="graphic report" match="any">+ <text macro="archive"/>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song article-journal article-magazine article-newspaper chapter paper-conference" match="none">+ <text macro="archive"/>+ </else-if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <text variable="URL"/>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="sort-key">+ <group delimiter=" ">+ <text macro="contributors-sort"/>+ <text variable="title"/>+ <text variable="genre"/>+ </group>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" disambiguate-add-names="true">+ <layout suffix="." delimiter="; ">+ <choose>+ <if position="subsequent">+ <group delimiter=", ">+ <text macro="contributors-short"/>+ <text macro="title-short"/>+ <text macro="point-locators-subsequent"/>+ </group>+ </if>+ <else>+ <group delimiter=", ">+ <group delimiter=": ">+ <group delimiter=", ">+ <group delimiter=" ">+ <group delimiter=", ">+ <group delimiter=" ">+ <group delimiter=", ">+ <group delimiter=" ">+ <group delimiter=", ">+ <text macro="contributors-note"/>+ <text macro="title-note"/>+ </group>+ <text macro="description-note"/>+ </group>+ <text macro="secondary-contributors-note"/>+ <text macro="container-title-note"/>+ <text macro="container-contributors-note"/>+ </group>+ <text macro="locators-note-join-with-space"/>+ </group>+ <text macro="locators-note-join-with-comma"/>+ <text macro="collection-title"/>+ <text macro="issue-note-join-with-comma"/>+ </group>+ <text macro="issue-note-join-with-space"/>+ </group>+ <text macro="locators-newspaper"/>+ <text macro="point-locators-join-with-comma"/>+ </group>+ <text macro="point-locators-join-with-colon"/>+ </group>+ <text macro="access-note"/>+ </group>+ </else>+ </choose>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="11" et-al-use-first="7" subsequent-author-substitute="———" entry-spacing="0">+ <sort>+ <key macro="sort-key"/>+ <key variable="issued"/>+ </sort>+ <layout suffix=".">+ <group delimiter=". ">+ <group delimiter=": ">+ <group delimiter=", ">+ <group delimiter=" ">+ <group delimiter=". ">+ <group delimiter=" ">+ <group delimiter=", ">+ <group delimiter=". ">+ <group delimiter=" ">+ <group delimiter=". ">+ <text macro="contributors"/>+ <text macro="title"/>+ </group>+ <text macro="description"/>+ </group>+ <text macro="secondary-contributors"/>+ <group delimiter=", ">+ <text macro="container-title"/>+ <text macro="container-contributors"/>+ <text macro="locators-chapter"/>+ </group>+ <text macro="locators-join-with-period"/>+ </group>+ <text macro="locators-join-with-comma"/>+ </group>+ <text macro="locators-join-with-space"/>+ </group>+ <text macro="collection-title"/>+ <text macro="issue-join-with-period"/>+ </group>+ <text macro="issue-join-with-space"/>+ </group>+ <text macro="issue-join-with-comma"/>+ <text macro="locators-newspaper"/>+ </group>+ <text macro="locators-journal"/>+ </group>+ <text macro="access"/>+ </group>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "archive": "Bancroft Library, University of California at Berkeley",+ "archive_location": "MSS C-E 191",+ "author": [+ {+ "family": "Savage",+ "given": "Thomas"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1879"+ ]+ ]+ },+ "title": "Report of Labors in Archives and Procuring Material for History of California: And Related Material",+ "type": "manuscript"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/quotes_PunctuationWithInnerQuote.txt view
@@ -0,0 +1,55 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">“This is ‘The One.’”</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <locale>+ <style-options punctuation-in-quote="true"/>+ </locale>+ <citation>+ <layout>+ <text value="Ignore me" />+ </layout>+ </citation>+ <bibliography>+ <layout>+ <text variable="title" quotes="true" suffix="."/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "item-1",+ "title": "This is 'The One'",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/quotes_QuotesUnderQuotesFalse.txt view
@@ -0,0 +1,324 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry"> 'Title with ‘quotes’ in it',.</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" default-locale="en-GB">+ <info>+ <title>EEA</title>+ <id>http://www.zotero.org/styles/eea</id>+ <link href="http://www.zotero.org/styles/eea" rel="self"/>+ <category citation-format="author-date"/>+ <category field="science"/>+ <summary/>+ <updated>2016-05-31T08:23:45+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale xml:lang="en-GB">+ <terms>+ <term name="editor" form="short">+ <single>ed.</single>+ <multiple>eds</multiple>+ </term>+ </terms>+ </locale>+ <macro name="editor">+ <names variable="editor" delimiter=", ">+ <name and="text" initialize-with=". " name-as-sort-order="all"/>+ <label form="short" text-case="lowercase" prefix=" (" suffix=")"/>+ </names>+ </macro>+ <macro name="author">+ <names variable="author">+ <name and="text" delimiter-precedes-et-al="never" delimiter-precedes-last="never" et-al-min="19" et-al-use-first="19" initialize-with=". " name-as-sort-order="all"/>+ <label form="short" text-case="lowercase" strip-periods="true" prefix=", " suffix="."/>+ <substitute>+ <names variable="editor"/>+ <text macro="editor"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="text" et-al-min="3" initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text variable="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <choose>+ <if variable="URL">+ <group delimiter=" ">+ <text variable="URL" prefix="(" suffix=")"/>+ <group>+ <text term="accessed" text-case="lowercase" suffix=" "/>+ <date variable="accessed">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ </group>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if type="book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else>+ <text variable="title" quotes="false"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <group delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </macro>+ <macro name="year-date">+ <group>+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="in press"/>+ </else>+ </choose>+ </group>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition"/>+ </else>+ </choose>+ </macro>+ <macro name="citation-locator">+ <choose>+ <if match="any" locator="chapter">+ <text variable="locator" prefix="Chapter "/>+ </if>+ <else-if match="any" locator="figure">+ <text variable="locator" prefix="Figure "/>+ </else-if>+ <else-if match="any" locator="page">+ <text variable="locator" prefix="page "/>+ </else-if>+ <else-if match="any" locator="section">+ <text variable="locator" prefix="Section "/>+ </else-if>+ <else>+ <text variable="locator"/>+ </else>+ </choose>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" disambiguate-add-year-suffix="true" collapse="year">+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <group delimiter=" ">+ <text macro="author-short" suffix=","/>+ <text macro="year-date"/>+ </group>+ <text macro="citation-locator"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="false" et-al-min="4" et-al-use-first="3 ">+ <sort>+ <key macro="author"/>+ <key macro="year-date"/>+ <key variable="title"/>+ </sort>+ <layout suffix=".">+ <text macro="author" suffix=","/>+ <date variable="issued" prefix=" " suffix=",">+ <date-part name="year"/>+ </date>+ <choose>+ <if type="article-newspaper" match="any">+ <group delimiter=", ">+ <text variable="title" prefix=" '" suffix="'"/>+ <text variable="container-title" font-style="italic"/>+ <date form="text" variable="issued">+ <date-part name="day"/>+ <date-part name="month"/>+ <date-part name="year"/>+ </date>+ <text variable="publisher-place"/>+ </group>+ <text macro="access" prefix=" "/>+ </if>+ <else-if type="bill legislation" match="any">+ <group delimiter=", " prefix=" ">+ <text macro="title"/>+ <text variable="container-title" suffix="."/>+ <text macro="edition"/>+ <text macro="editor" suffix="."/>+ <text variable="genre"/>+ <text variable="number"/>+ <text macro="publisher" prefix=" "/>+ </group>+ </else-if>+ <else-if type="chapter" match="any">+ <text macro="title" quotes="false" prefix=" '" suffix="',"/>+ <group delimiter=" " prefix=" ">+ <text term="in" text-case="lowercase" suffix=":"/>+ <text macro="editor" suffix=","/>+ <text variable="container-title" font-style="italic" suffix=","/>+ <text variable="collection-title" suffix=","/>+ <group>+ <text macro="publisher"/>+ <group>+ <choose>+ <if match="any" is-numeric="page">+ <text variable="page" prefix=", pp. "/>+ </if>+ <else>+ <text variable="page" text-case="lowercase" prefix=", "/>+ </else>+ </choose>+ </group>+ </group>+ </group>+ </else-if>+ <else-if type="entry-encyclopedia" match="any">+ <text macro="title" prefix=" '" suffix="',"/>+ <group>+ <text variable="volume" prefix=" " suffix=" "/>+ <text variable="container-title" font-style="italic" suffix=", "/>+ <text macro="publisher"/>+ </group>+ </else-if>+ <else-if type="webpage post-weblog" match="any">+ <text variable="title" prefix=" '" suffix="'"/>+ <text macro="access" prefix=" "/>+ </else-if>+ <else-if type="paper-conference" match="any">+ <choose>+ <if match="all" variable="event container-title">+ <group delimiter=", ">+ <text variable="title" prefix=" '" suffix="'"/>+ <text variable="event" prefix="conference paper presented at: "/>+ <text variable="event-place"/>+ <date form="text" date-parts="year-month-day" variable="issued">+ <date-part name="day"/>+ <date-part name="month"/>+ <date-part name="year"/>+ </date>+ </group>+ </if>+ <else>+ <group delimiter=", ">+ <text variable="title" prefix=" '" suffix="'"/>+ <text variable="container-title"/>+ <text variable="event" prefix="conference paper presented at: "/>+ <text variable="event-place"/>+ <date form="text" date-parts="year-month-day" variable="issued">+ <date-part name="day"/>+ <date-part name="month"/>+ <date-part name="year"/>+ </date>+ </group>+ </else>+ </choose>+ </else-if>+ <else-if type="article-journal" match="any">+ <group delimiter=" '" prefix=" '" suffix="',">+ <text macro="title" quotes="false"/>+ <text macro="editor"/>+ </group>+ <group prefix=" ">+ <text variable="container-title" font-style="italic"/>+ <group prefix=" ">+ <text variable="volume"/>+ <text variable="issue" prefix="(" suffix=")"/>+ </group>+ <text variable="page" prefix=", "/>+ <text variable="DOI" prefix=" (DOI: " suffix=")"/>+ </group>+ </else-if>+ <else-if type="speech" match="any">+ <group delimiter=", ">+ <text variable="title" prefix=" '" suffix="'"/>+ <text variable="event" prefix="presentation given at: "/>+ <text variable="event-place"/>+ <date form="text" date-parts="year-month-day" variable="issued">+ <date-part name="day"/>+ <date-part name="month"/>+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ <else>+ <group delimiter=", " prefix=" ">+ <text macro="title"/>+ <text variable="container-title" suffix="."/>+ <text macro="edition"/>+ <group delimiter=" ">+ <choose>+ <if match="any" variable="genre">+ <text variable="genre"/>+ </if>+ <else-if match="any" variable="collection-title">+ <text variable="collection-title"/>+ </else-if>+ </choose>+ <text variable="number"/>+ </group>+ <text macro="publisher" prefix=" "/>+ </group>+ </else>+ </choose>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Title with \"quotes\" in it",+ "type": "chapter"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/simplespace_case1.txt view
@@ -0,0 +1,226 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Doe, J., 1992. In <i>Some title</i>. Vintage, pp. 250–300.</div>+</div>+<<===== RESULT =====<<++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>Harvard Reference format 1 (Author-Date)</title>+ <id>http://www.zotero.org/styles/harvard1</id>+ <link href="http://www.zotero.org/styles/harvard1" rel="self"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <category citation-format="author-date"/>+ <category field="generic-base"/>+ <updated>2008-10-29T21:20:42+00:00</updated>+ <summary>The Harvard author-date style</summary>+ <link href="http://libweb.anglia.ac.uk/referencing/harvard.htm" rel="documentation"/>+ </info>+ <macro name="editor">+ <names variable="editor" delimiter=", ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="lowercase" suffix="." strip-periods="true"/>+ </names>+ </macro>+ <macro name="anon">+ <text term="anonymous" form="short" text-case="capitalize-first" strip-periods="true"/>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with="." delimiter-precedes-last="never" delimiter=", "/>+ <label form="short" prefix=" " suffix="." text-case="lowercase" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="symbol" delimiter=", " delimiter-precedes-last="never" initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <group>+ <text value="Available at:" suffix=" "/>+ <text variable="URL"/>+ <group prefix=" [" suffix="]">+ <text term="accessed" text-case="capitalize-first" suffix=" "/>+ <date variable="accessed">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </group>+ </group>+ </macro>+ <macro name="title">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song thesis" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else>+ <text variable="title"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </macro>+ <macro name="year-date">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <macro name="pages">+ <group>+ <label variable="page" form="short" suffix=" "/>+ <text variable="page"/>+ </group>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true">+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <group delimiter=" ">+ <text macro="author-short"/>+ <text macro="year-date"/>+ </group>+ <group>+ <label variable="locator" suffix="." form="short" strip-periods="true"/>+ <text variable="locator"/>+ </group>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="4" et-al-use-first="1">+ <sort>+ <key macro="author"/>+ <key variable="title"/>+ </sort>+ <layout>+ <text macro="author" suffix=","/>+ <date variable="issued" prefix=" " suffix=".">+ <date-part name="year"/>+ </date>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <group prefix=" " delimiter=" " suffix=",">+ <text macro="title"/>+ <text macro="edition"/>+ <text macro="editor"/>+ </group>+ <text prefix=" " suffix="." macro="publisher"/>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <text macro="title" prefix=" " suffix="."/>+ <group prefix=" " delimiter=" ">+ <text term="in" text-case="capitalize-first"/>+ <text macro="editor"/>+ <text variable="container-title" font-style="italic" suffix="."/>+ <text variable="collection-title" suffix="."/>+ <group suffix="." delimiter=", ">+ <text macro="publisher" prefix=" "/>+ <text macro="pages"/>+ </group>+ </group>+ </else-if>+ <else-if type="thesis">+ <group prefix=" " suffix="." delimiter=". ">+ <text macro="title"/>+ <text variable="genre"/>+ <text macro="publisher"/>+ </group>+ </else-if>+ <else>+ <group suffix=".">+ <text macro="title" prefix=" "/>+ <text macro="editor" prefix=" "/>+ </group>+ <group prefix=" " suffix=".">+ <text variable="container-title" font-style="italic"/>+ <group prefix=", ">+ <text variable="volume"/>+ <text variable="issue" prefix="(" suffix=")"/>+ </group>+ <group prefix=", ">+ <label variable="page" suffix="." form="short" strip-periods="true"/>+ <text variable="page"/>+ </group>+ </group>+ </else>+ </choose>+ <text prefix=" " macro="access" suffix="."/>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "Jhon"+ }+ ],+ "container-title": "Some title",+ "edition": "Vintage First edition",+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1992+ ]+ ]+ },+ "page": "250-300",+ "publisher": "Vintage",+ "type": "chapter"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_AguStyle.txt view
@@ -0,0 +1,273 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Smith, A. (1989a)</div>+ <div class="csl-entry">Smith, A. (1989b)</div>+ <div class="csl-entry">Smith, A. (1991)</div>+ <div class="csl-entry">Smith, A. and C. Allen (1992)</div>+ <div class="csl-entry">Smith, A. and B. Frank (1995)</div>+ <div class="csl-entry">Smith, A. and B. Frank (1997)</div>+ <div class="csl-entry">Smith, A., L. Roberts, and T. Jones (1993)</div>+ <div class="csl-entry">Smith, A., T. Jones, and L. Roberts (1997)</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="key-creators">+ <names variable="author">+ <name name-as-sort-order="all" sort-separator=" "/>+ <substitute>+ <names variable="editor" />+ </substitute>+ </names>+ </macro>+ <macro name="key-creators-count">+ <names variable="author">+ <name form="count" />+ <substitute>+ <names variable="editor" />+ </substitute>+ </names>+ </macro>+ <macro name="key-year">+ <date variable="issued">+ <date-part name="year" />+ </date>+ </macro>+ <macro name="creators">+ <names variable="author">+ <name and="text" delimiter=", " initialize-with="." name-as-sort-order="first" sort-separator=", " />+ <substitute>+ <names variable="editor" />+ </substitute>+ </names>+ </macro>+ <macro name="year">+ <group prefix=" (" suffix=")">+ <date variable="issued">+ <date-part name="year" />+ </date>+ <text variable="year-suffix" />+ </group>+ </macro>+ <citation + collapse="year-suffix"+ disambiguate-add-year-suffix="true">+ <layout>+ <text macro="creators" />+ <text macro="year" />+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key macro="key-creators" names-min="1" names-use-first="1" />+ <key macro="key-creators-count" names-min="3" names-use-first="3" />+ <key macro="key-creators" names-min="3" names-use-first="1" />+ <key macro="key-year" />+ </sort>+ <layout>+ <text macro="creators" />+ <text macro="year" />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith",+ "given": "Al"+ }+ ],+ "id": "item-1",+ "issued": {+ "date-parts": [+ [+ "1989"+ ]+ ]+ },+ "title": "Book One",+ "type": "book"+ },+ {+ "editor": [+ {+ "family": "Smith",+ "given": "Al"+ }+ ],+ "id": "item-3",+ "issued": {+ "date-parts": [+ [+ "1991"+ ]+ ]+ },+ "title": "Book Three",+ "type": "book"+ },+ {+ "editor": [+ {+ "family": "Smith",+ "given": "Al"+ },+ {+ "family": "Allen",+ "given": "Carl"+ }+ ],+ "id": "item-4",+ "issued": {+ "date-parts": [+ [+ "1992"+ ]+ ]+ },+ "title": "Book Four",+ "type": "book"+ },+ {+ "editor": [+ {+ "family": "Smith",+ "given": "Al"+ },+ {+ "family": "Frank",+ "given": "Beauregarde"+ }+ ],+ "id": "item-6",+ "issued": {+ "date-parts": [+ [+ "1997"+ ]+ ]+ },+ "title": "Book Six",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "Al"+ }+ ],+ "id": "item-2",+ "issued": {+ "date-parts": [+ [+ "1989"+ ]+ ]+ },+ "title": "Book Two",+ "type": "book"+ },+ {+ "editor": [+ {+ "family": "Smith",+ "given": "Al"+ },+ {+ "family": "Frank",+ "given": "Beauregarde"+ }+ ],+ "id": "item-5",+ "issued": {+ "date-parts": [+ [+ "1995"+ ]+ ]+ },+ "title": "Book Five",+ "type": "book"+ },+ {+ "editor": [+ {+ "family": "Smith",+ "given": "Al"+ },+ {+ "family": "Roberts",+ "given": "Lionel"+ },+ {+ "family": "Jones",+ "given": "Theresa"+ }+ ],+ "id": "item-7",+ "issued": {+ "date-parts": [+ [+ "1993"+ ]+ ]+ },+ "title": "Book Seven",+ "type": "book"+ },+ {+ "editor": [+ {+ "family": "Smith",+ "given": "Al"+ },+ {+ "family": "Jones",+ "given": "Theresa"+ },+ {+ "family": "Roberts",+ "given": "Lionel"+ }+ ],+ "id": "item-8",+ "issued": {+ "date-parts": [+ [+ "1997"+ ]+ ]+ },+ "title": "Book Eight",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_AguStyleReverseGroups.txt view
@@ -0,0 +1,273 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Smith, A., L. Roberts, and T. Jones (1993)</div>+ <div class="csl-entry">Smith, A., T. Jones, and L. Roberts (1997)</div>+ <div class="csl-entry">Smith, A. and C. Allen (2000)</div>+ <div class="csl-entry">Smith, A. and B. Frank (1995)</div>+ <div class="csl-entry">Smith, A. and B. Frank (1997)</div>+ <div class="csl-entry">Smith, A. (1989a)</div>+ <div class="csl-entry">Smith, A. (1989b)</div>+ <div class="csl-entry">Smith, A. (1991)</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="key-creators">+ <names variable="author">+ <name name-as-sort-order="all" sort-separator=" "/>+ <substitute>+ <names variable="editor" />+ </substitute>+ </names>+ </macro>+ <macro name="key-creators-count">+ <names variable="author">+ <name form="count" />+ <substitute>+ <names variable="editor" />+ </substitute>+ </names>+ </macro>+ <macro name="key-year">+ <date variable="issued">+ <date-part name="year" />+ </date>+ </macro>+ <macro name="creators">+ <names variable="author">+ <name and="text" delimiter=", " initialize-with="." name-as-sort-order="first" sort-separator=", " />+ <substitute>+ <names variable="editor" />+ </substitute>+ </names>+ </macro>+ <macro name="year">+ <group prefix=" (" suffix=")">+ <date variable="issued">+ <date-part name="year" />+ </date>+ <text variable="year-suffix" />+ </group>+ </macro>+ <citation + collapse="year-suffix"+ disambiguate-add-year-suffix="true">+ <layout>+ <text macro="creators" />+ <text macro="year" />+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key macro="key-creators" names-min="1" names-use-first="1" />+ <key macro="key-creators-count" names-min="3" names-use-first="3" sort="descending" />+ <key macro="key-creators" names-min="3" names-use-first="1" />+ <key macro="key-year" />+ </sort>+ <layout>+ <text macro="creators" />+ <text macro="year" />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith",+ "given": "Al"+ }+ ],+ "id": "item-1",+ "issued": {+ "date-parts": [+ [+ "1989"+ ]+ ]+ },+ "title": "Book One",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "Al"+ }+ ],+ "id": "item-2",+ "issued": {+ "date-parts": [+ [+ "1989"+ ]+ ]+ },+ "title": "Book Two",+ "type": "book"+ },+ {+ "editor": [+ {+ "family": "Smith",+ "given": "Al"+ }+ ],+ "id": "item-3",+ "issued": {+ "date-parts": [+ [+ "1991"+ ]+ ]+ },+ "title": "Book Three",+ "type": "book"+ },+ {+ "editor": [+ {+ "family": "Smith",+ "given": "Al"+ },+ {+ "family": "Allen",+ "given": "Carl"+ }+ ],+ "id": "item-4",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book Four",+ "type": "book"+ },+ {+ "editor": [+ {+ "family": "Smith",+ "given": "Al"+ },+ {+ "family": "Frank",+ "given": "Beauregarde"+ }+ ],+ "id": "item-5",+ "issued": {+ "date-parts": [+ [+ "1995"+ ]+ ]+ },+ "title": "Book Five",+ "type": "book"+ },+ {+ "editor": [+ {+ "family": "Smith",+ "given": "Al"+ },+ {+ "family": "Frank",+ "given": "Beauregarde"+ }+ ],+ "id": "item-6",+ "issued": {+ "date-parts": [+ [+ "1997"+ ]+ ]+ },+ "title": "Book Six",+ "type": "book"+ },+ {+ "editor": [+ {+ "family": "Smith",+ "given": "Al"+ },+ {+ "family": "Roberts",+ "given": "Lionel"+ },+ {+ "family": "Jones",+ "given": "Theresa"+ }+ ],+ "id": "item-7",+ "issued": {+ "date-parts": [+ [+ "1993"+ ]+ ]+ },+ "title": "Book Seven",+ "type": "book"+ },+ {+ "editor": [+ {+ "family": "Smith",+ "given": "Al"+ },+ {+ "family": "Jones",+ "given": "Theresa"+ },+ {+ "family": "Roberts",+ "given": "Lionel"+ }+ ],+ "id": "item-8",+ "issued": {+ "date-parts": [+ [+ "1997"+ ]+ ]+ },+ "title": "Book Eight",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_AuthorDateWithYearSuffix.txt view
@@ -0,0 +1,320 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++>>===== RESULT =====>>+>>[0] (Day and Fitzpatrick, 2005a, 2005b; Mian et al., 2005)+<<===== RESULT =====<<++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "21j4228k5n",+ "citationItems": [+ {+ "id": 30,+ "label": "page"+ },+ {+ "id": 32,+ "label": "page"+ },+ {+ "id": 29,+ "label": "page"+ }+ ],+ "properties": {+ "noteIndex": 0+ }+ },+ [],+ []+ ]+]+<<===== CITATIONS =====<<++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only">+ <info>+ <title>The Journal of Neuroscience (Author-Date)</title>+ <id>http://www.zotero.org/styles/journal-neuroscience</id>+ <link href="http://www.zotero.org/styles/journal-neuroscience" rel="self"/>+ <author>+ <name>Ullrich Bartsch</name>+ <email>ubartsch@gmail.com</email>+ </author>+ <category citation-format="author-date"/>+ <category field="medicine"/>+ <updated>2008-01-04T12:25:13+00:00</updated>+ <summary>The Journal of Neuroscience style</summary>+ <link href="http://www.jneurosci.org/misc/ifa_organization.shtml" rel="documentation"/>+ <!-- modified from Harvard1 style by Julian Onions-->+ <rights>This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>+ </info>+ <!-- Problems:+ author disambiguation if not in the same citation!-->+ <macro name="editor">+ <names variable="editor" delimiter=", ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="lowercase" suffix="." strip-periods="true"/>+ </names>+ </macro>+ <macro name="anon">+ <text term="anonymous" form="short" text-case="capitalize-first" strip-periods="true"/>+ </macro>+ <macro name="author-bib">+ <names variable="author">+ <name name-as-sort-order="all" sort-separator=" " initialize-with="" delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=" " suffix="." text-case="lowercase" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-cit">+ <names variable="author">+ <name form="short" and="text" delimiter=" " initialize-with=""/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <choose>+ <if variable="URL">+ <text value="Available at:" suffix=" "/>+ <text variable="URL"/>+ <group prefix=" [" suffix="]">+ <text term="accessed" text-case="capitalize-first" suffix=" "/>+ <date variable="accessed">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title"/>+ </if>+ <else>+ <text variable="title"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </macro>+ <macro name="year-date">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="year-sort">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <!-- formatting citation -->+ <citation et-al-min="3" et-al-use-first="1" disambiguate-add-year-suffix="true" collapse="year">+ <sort>+ <key variable="issued"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=" ">+ <group delimiter=", ">+ <text macro="author-cit"/>+ <text macro="year-date"/>+ </group>+ <text variable="locator" prefix="p."/>+ </group>+ </layout>+ </citation>+ <!-- formatting bibliography -->+ <bibliography hanging-indent="true" et-al-min="20" et-al-use-first="1">+ <sort>+ <key macro="author-bib"/>+ <key macro="year-date"/>+ </sort>+ <layout suffix=".">+ <group delimiter=" ">+ <text macro="author-bib"/>+ <text macro="year-date" prefix="(" suffix=")"/> + </group> + <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <group prefix=" " delimiter=" " suffix=".">+ <text macro="title"/>+ <text macro="edition"/>+ <text macro="editor"/>+ </group>+ <text prefix=" " suffix="." macro="publisher"/>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <text macro="title" prefix=" "/>+ <group prefix=" ">+ <text term="in" text-case="capitalize-first"/>+ <text macro="editor" prefix=" "/>+ <text variable="container-title" font-style="normal" prefix=" " suffix=" "/>+ <text variable="collection-title" prefix=" " suffix="."/>+ <group suffix=".">+ <text macro="publisher" prefix=" "/>+ <group prefix=", ">+ <text variable="page" prefix="p. "/>+ </group>+ </group>+ </group>+ </else-if>+ <else>+ <group suffix="." delimiter=" " prefix=" ">+ <text macro="title"/>+ <text macro="editor"/>+ </group>+ <group prefix=" ">+ <text variable="container-title" font-style="normal" form="short" strip-periods="true"/>+ <text variable="volume" prefix=" "/>+ <group prefix=":">+ <text variable="page" prefix=""/>+ </group>+ </group>+ </else>+ </choose>+ <text prefix=" " macro="access" suffix=""/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<++>>===== INPUT =====>>+[+ {+ "id": 30,+ "type": "article-journal",+ "title": "The vestibular system",+ "container-title": "Curr Biol",+ "page": "R583-6",+ "volume": "15",+ "issue": "15",+ "author": [+ {+ "family": "Day",+ "given": "B. L."+ },+ {+ "family": "Fitzpatrick",+ "given": "R. C."+ }+ ],+ "issued": {+ "date-parts": [+ [+ 2005+ ]+ ]+ }+ },+ {+ "id": 32,+ "type": "paper-conference",+ "title": "Stair descent: kinematics in healthy young and older adults",+ "publisher-place": "Belgrade, Serbia",+ "page": "129-130",+ "event": "European College of Sport Science 10th Annual Congress",+ "event-place": "Belgrade, Serbia",+ "author": [+ {+ "family": "Mian",+ "given": "O.S."+ },+ {+ "family": "Thom",+ "given": "J. M."+ },+ {+ "family": "Narici",+ "given": "M. V."+ },+ {+ "family": "Baltzopoulos",+ "given": "V."+ }+ ],+ "issued": {+ "date-parts": [+ [+ 2005+ ]+ ]+ }+ },+ {+ "id": 29,+ "type": "article-journal",+ "title": "Virtual head rotation reveals a process of route reconstruction from human vestibular signals",+ "container-title": "J Physiol",+ "page": "591-7",+ "volume": "567",+ "issue": "Pt 2",+ "author": [+ {+ "family": "Day",+ "given": "B. L."+ },+ {+ "family": "Fitzpatrick",+ "given": "R. C."+ }+ ],+ "issued": {+ "date-parts": [+ [+ 2005+ ]+ ]+ }+ }+]+<<===== INPUT =====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_BibliographyCitationNumberDescending.txt view
@@ -0,0 +1,127 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">[1] Book 008</div>+ <div class="csl-entry">[2] Book 007</div>+ <div class="csl-entry">[3] Book 005</div>+ <div class="csl-entry">[4] Book 002</div>+ <div class="csl-entry">[5] Book 006</div>+ <div class="csl-entry">[6] Book 004</div>+ <div class="csl-entry">[7] Book 003</div>+ <div class="csl-entry">[8] Book 001</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-4"+ },+ {+ "id": "ITEM-5"+ },+ {+ "id": "ITEM-6"+ },+ {+ "id": "ITEM-7"+ },+ {+ "id": "ITEM-8"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="bogus"/>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key variable="citation-number" sort="descending"/>+ <key variable="citation-number" sort="ascending"/>+ </sort>+ <layout>+ <text variable="citation-number" prefix="[" suffix="] "/>+ <text variable="title" />+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Book 001",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "title": "Book 003",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "title": "Book 004",+ "type": "book"+ },+ {+ "id": "ITEM-4",+ "title": "Book 006",+ "type": "book"+ },+ {+ "id": "ITEM-5",+ "title": "Book 002",+ "type": "book"+ },+ {+ "id": "ITEM-6",+ "title": "Book 005",+ "type": "book"+ },+ {+ "id": "ITEM-7",+ "title": "Book 007",+ "type": "book"+ },+ {+ "id": "ITEM-8",+ "title": "Book 008",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_BibliographyCitationNumberDescendingSecondary.txt view
@@ -0,0 +1,127 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">[1] Book 001</div>+ <div class="csl-entry">[2] Book 002</div>+ <div class="csl-entry">[3] Book 003</div>+ <div class="csl-entry">[4] Book 004</div>+ <div class="csl-entry">[5] Book 005</div>+ <div class="csl-entry">[6] Book 006</div>+ <div class="csl-entry">[7] Book 007</div>+ <div class="csl-entry">[8] Book 008</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-4"+ },+ {+ "id": "ITEM-5"+ },+ {+ "id": "ITEM-6"+ },+ {+ "id": "ITEM-7"+ },+ {+ "id": "ITEM-8"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="bogus"/>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key variable="title"/>+ <key variable="citation-number" sort="ascending"/>+ </sort>+ <layout>+ <text variable="citation-number" prefix="[" suffix="] "/>+ <text variable="title" />+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Book 001",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "title": "Book 003",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "title": "Book 004",+ "type": "book"+ },+ {+ "id": "ITEM-4",+ "title": "Book 006",+ "type": "book"+ },+ {+ "id": "ITEM-5",+ "title": "Book 002",+ "type": "book"+ },+ {+ "id": "ITEM-6",+ "title": "Book 005",+ "type": "book"+ },+ {+ "id": "ITEM-7",+ "title": "Book 007",+ "type": "book"+ },+ {+ "id": "ITEM-8",+ "title": "Book 008",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_BibliographyCitationNumberDescendingViaCompositeMacro.txt view
@@ -0,0 +1,78 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">[4] Aaaa</div>+ <div class="csl-entry">[3] Bbbb</div>+ <div class="csl-entry">[2] Xxxx</div>+ <div class="csl-entry">[1] Zzzz</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="citation-number">+ <text variable="citation-number"/>+ </macro>+ <citation>+ <layout>+ <text value="bogus"/>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key variable="title" sort="ascending"/>+ <key variable="citation-number" sort="descending"/>+ </sort>+ <layout>+ <text variable="citation-number" prefix="[" suffix="] "/>+ <text variable="title" />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "item-1",+ "title": "Aaaa",+ "type": "book"+ },+ {+ "id": "item-3",+ "title": "Bbbb",+ "type": "book"+ },+ {+ "id": "item-4",+ "title": "Zzzz",+ "type": "book"+ },+ {+ "id": "item-5",+ "title": "Xxxx",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_BibliographyCitationNumberDescendingViaMacro.txt view
@@ -0,0 +1,102 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">[8] Book One</div>+ <div class="csl-entry">[7] Book Three</div>+ <div class="csl-entry">[6] Book Four</div>+ <div class="csl-entry">[5] Book Six</div>+ <div class="csl-entry">[4] Book Two</div>+ <div class="csl-entry">[3] Book Five</div>+ <div class="csl-entry">[2] Book Seven</div>+ <div class="csl-entry">[1] Book Eight</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="citation-number">+ <text variable="citation-number"/>+ </macro>+ <citation>+ <layout>+ <text value="bogus"/>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key macro="citation-number" sort="ascending"/>+ <key macro="citation-number" sort="descending"/>+ </sort>+ <layout>+ <text variable="citation-number" prefix="[" suffix="] "/>+ <text variable="title" />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "item-1",+ "title": "Book One",+ "type": "book"+ },+ {+ "id": "item-3",+ "title": "Book Three",+ "type": "book"+ },+ {+ "id": "item-4",+ "title": "Book Four",+ "type": "book"+ },+ {+ "id": "item-6",+ "title": "Book Six",+ "type": "book"+ },+ {+ "id": "item-2",+ "title": "Book Two",+ "type": "book"+ },+ {+ "id": "item-5",+ "title": "Book Five",+ "type": "book"+ },+ {+ "id": "item-7",+ "title": "Book Seven",+ "type": "book"+ },+ {+ "id": "item-8",+ "title": "Book Eight",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_BibliographyResortOnUpdate.txt view
@@ -0,0 +1,100 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">Effinger</div>+ <div class="csl-entry">Ging</div>+ <div class="csl-entry">Jamey</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name form="short" />+ </names>+ </macro>+ <citation>+ <layout delimiter="; ">+ <text macro="author" />+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key macro="author" />+ </sort>+ <layout>+ <text macro="author" />+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Effinger",+ "given": "Eda"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Jamey",+ "given": "Jantzen"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Ging",+ "given": "Tina"+ }+ ],+ "id": "ITEM-3",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_CaseInsensitiveBibliography.txt view
@@ -0,0 +1,80 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Aaa</div>+ <div class="csl-entry">ABC</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " + initialize-with="." delimiter-precedes-last="never" delimiter=", "/>+ <label form="short" prefix=" (" suffix=".)" text-case="capitalize-first"/>+ <substitute>+ <names variable="editor"/>+ <text value="Anon"/>+ </substitute>+ </names>+ </macro>+ <citation>+ <layout>+ <text value="dummy"/>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key macro="author"/>+ </sort>+ <layout>+ <text macro="author"/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "ABC"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Aaa"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_CaseInsensitiveCitation.txt view
@@ -0,0 +1,71 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Aaa - ABC - Xyz+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <sort>+ <key variable="title"/>+ </sort>+ <layout delimiter=" - ">+ <text variable="title"/>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Xyz",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "title": "ABC",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "title": "Aaa",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_ChangeInNameSort.txt view
@@ -0,0 +1,113 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">Carter</div>+ <div class="csl-entry">De Quincey</div>+ <div class="csl-entry">Noakes</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ demote-non-dropping-particle="display-and-sort">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name form="short" />+ </names>+ </macro>+ <citation>+ <sort>+ <key macro="author" />+ </sort>+ <layout delimiter="; ">+ <text macro="author" />+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key variable="author"/>+ </sort>+ <layout>+ <text macro="author" />+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "De Quincey",+ "given": "Alan"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Noakes",+ "given": "Ajax"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Carter",+ "given": "Cedric"+ }+ ],+ "id": "ITEM-3",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_ChicagoYearSuffix1.txt view
@@ -0,0 +1,437 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Beijing Zoo. 1974a. Observations on the breeding of the giant panda and the raising of its young [in Chinese]. <i>Acta Zoologica Sinica</i> 20: 154–61.</div>+ <div class="csl-entry">---. 1974b. On the diseases of the giant panda and their preventive and curative measures [in Chinese]. <i>Acta Zoologica Sinica</i> 20: 139–47.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" page-range-format="chicago">+ <info>+ <title>Chicago Manual of Style (Author-Date format)</title>+ <id>http://www.zotero.org/styles/chicago-author-date</id>+ <link href="http://www.zotero.org/styles/chicago-author-date" rel="self"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <category citation-format="author-date"/>+ <category field="generic-base"/>+ <updated>2009-12-04T20:22:16+00:00</updated>+ <summary>The author-date variant of the Chicago style</summary>+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>+ </info>+ <macro name="secondary-contributors">+ <choose>+ <if match="none" type="chapter">+ <group delimiter=". ">+ <choose>+ <if variable="author">+ <names variable="editor">+ <label form="verb-short" prefix=" " suffix=". " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names variable="translator">+ <label form="verb-short" prefix=" " suffix=". " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter">+ <group delimiter=", " prefix=",">+ <choose>+ <if variable="author">+ <names variable="editor">+ <label form="verb-short" prefix=" " suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names variable="translator">+ <label form="verb-short" prefix=" " suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="anon">+ <choose>+ <if match="none" variable="author editor translator">+ <text form="short" term="anonymous" text-case="capitalize-first" />+ </if>+ </choose>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="recipient">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ <else>+ <text term="letter" text-case="capitalize-first" />+ </else>+ </choose>+ </if>+ </choose>+ <names delimiter=", " variable="recipient">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="contributors">+ <names variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." text-case="lowercase" />+ <substitute>+ <text macro="editor" />+ <text macro="translator" />+ </substitute>+ </names>+ <text macro="anon" />+ <text macro="recipient" />+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name and="text" delimiter=", " form="short" />+ <substitute>+ <names variable="editor" />+ <names variable="translator" />+ </substitute>+ </names>+ <text macro="anon" />+ </macro>+ <macro name="interviewer">+ <names delimiter=", " variable="interviewer">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="archive">+ <group delimiter=". ">+ <text text-case="capitalize-first" variable="archive_location" />+ <text variable="archive" />+ <text variable="archive-place" />+ </group>+ </macro>+ <macro name="access">+ <group delimiter=". ">+ <choose>+ <if match="any" type="graphic report">+ <text macro="archive" />+ </if>+ <else-if match="none" type="book thesis chapter article-journal article-newspaper article-magazine">+ <text macro="archive" />+ </else-if>+ </choose>+ <text prefix="doi:" variable="DOI" />+ <text variable="URL" />+ </group>+ </macro>+ <macro name="title">+ <choose>+ <if match="none" variable="title">+ <choose>+ <if match="none" type="personal_communication">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ </if>+ <else-if type="book">+ <text font-style="italic" variable="title" />+ </else-if>+ <else>+ <text variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if match="any" type="book chapter">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number form="ordinal" variable="edition" />+ <text form="short" suffix="." term="edition" />+ </group>+ </if>+ <else>+ <text suffix="." variable="edition" form="short"/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <text prefix=" " variable="volume" />+ <text prefix=", no. " variable="issue" />+ </if>+ <else-if type="book">+ <group delimiter=". " prefix=". ">+ <group>+ <text form="short" suffix=". " term="volume" text-case="capitalize-first" />+ <number form="numeric" variable="volume" />+ </group>+ <group>+ <number form="numeric" variable="number-of-volumes" />+ <text form="short" plural="true" prefix=" " suffix="." term="volume" />+ </group>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter">+ <group prefix=", ">+ <text suffix=":" variable="volume" />+ <text variable="page" />+ </group>+ </if>+ </choose>+ </macro>+ <macro name="locators-article">+ <choose>+ <if type="article-newspaper">+ <group delimiter=", " prefix=", ">+ <group>+ <text suffix=" " variable="edition" />+ <text prefix=" " term="edition" />+ </group>+ <group>+ <text form="short" suffix=". " term="section" />+ <text variable="section" />+ </group>+ </group>+ </if>+ <else-if type="article-journal">+ <text prefix=": " variable="page" />+ </else-if>+ </choose>+ </macro>+ <macro name="point-locators">+ <group>+ <choose>+ <if locator="page" match="none">+ <label form="short" suffix=" " variable="locator" />+ </if>+ </choose>+ <text variable="locator" />+ </group>+ </macro>+ <macro name="container-prefix">+ <text term="in" text-case="capitalize-first" />+ </macro>+ <macro name="container-title">+ <choose>+ <if type="chapter">+ <text macro="container-prefix" suffix=" " />+ </if>+ </choose>+ <text font-style="italic" variable="container-title" />+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place" />+ <text variable="publisher" />+ </group>+ </macro>+ <macro name="date">+ <date variable="issued">+ <date-part name="year" />+ </date>+ </macro>+ <macro name="day-month">+ <date variable="issued">+ <date-part name="month" />+ <date-part name="day" prefix=" " />+ </date>+ </macro>+ <macro name="collection-title">+ <text variable="collection-title" />+ <text prefix=" " variable="collection-number" />+ </macro>+ <macro name="event">+ <group>+ <text suffix=" " term="presented at" />+ <text variable="event" />+ </group>+ </macro>+ <macro name="description">+ <group delimiter=". ">+ <text macro="interviewer" />+ <text text-case="capitalize-first" variable="medium" />+ </group>+ <choose>+ <if match="none" variable="title"> </if>+ <else-if type="thesis"> </else-if>+ <else>+ <text prefix=". " text-case="capitalize-first" variable="genre" />+ </else>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="article-journal">+ <text macro="day-month" prefix=" (" suffix=")" />+ </if>+ <else-if type="speech">+ <group delimiter=", " prefix=" ">+ <text macro="event" />+ <text macro="day-month" />+ <text variable="event-place" />+ </group>+ </else-if>+ <else-if match="any" type="article-newspaper article-magazine">+ <text macro="day-month" prefix=", " />+ </else-if>+ <else>+ <group delimiter=", " prefix=". ">+ <choose>+ <if type="thesis">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ <text macro="publisher" />+ <text macro="day-month" />+ </group>+ </else>+ </choose>+ </macro>+ <citation + disambiguate-add-givenname="true"+ disambiguate-add-names="true"+ disambiguate-add-year-suffix="true"+ et-al-min="4"+ et-al-subsequent-min="4"+ et-al-subsequent-use-first="1"+ et-al-use-first="1">+ <layout delimiter="; " prefix="(" suffix=")">+ <group delimiter=", ">+ <group delimiter=" ">+ <text macro="contributors-short" />+ <text macro="date" />+ </group>+ <text macro="point-locators" />+ </group>+ </layout>+ </citation>+ <bibliography + entry-spacing="0"+ et-al-min="11"+ et-al-use-first="7"+ hanging-indent="true"+ subsequent-author-substitute="---">+ <sort>+ <key macro="contributors" />+ <key variable="issued" />+ <key variable="title" />+ </sort>+ <layout suffix=".">+ <text macro="contributors" suffix=". " />+ <text macro="date" suffix=". " />+ <text macro="title" />+ <text macro="description" />+ <text macro="secondary-contributors" prefix=". " />+ <text macro="container-title" prefix=". " />+ <text macro="container-contributors" />+ <text macro="locators-chapter" />+ <text macro="edition" prefix=". " />+ <text macro="locators" />+ <text macro="collection-title" prefix=". " />+ <text macro="issue" />+ <text macro="locators-article" />+ <text macro="access" prefix=". " />+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Beijing Zoo"+ }+ ],+ "container-title": "Acta Zoologica Sinica",+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1974"+ ]+ ]+ },+ "page": "154-161",+ "title": "Observations on the breeding of the giant panda and the raising of its young [in Chinese]",+ "type": "article-journal",+ "volume": "20"+ },+ {+ "author": [+ {+ "literal": "Beijing Zoo"+ }+ ],+ "container-title": "Acta Zoologica Sinica",+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1974"+ ]+ ]+ },+ "page": "139-147",+ "title": "On the diseases of the giant panda and their preventive and curative measures [in Chinese]",+ "type": "article-journal",+ "volume": "20"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_ChicagoYearSuffix2.txt view
@@ -0,0 +1,438 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Beijing Zoo. 1974a. Observations on the breeding of the giant panda and the raising of its young [in Chinese]. <i>Acta Zoologica Sinica</i> 20: 154–61.</div>+ <div class="csl-entry">---. 1974b. On the diseases of the giant panda and their preventive and curative measures [in Chinese]. <i>Acta Zoologica Sinica</i> 20: 139–47.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" page-range-format="chicago">+ <info>+ <title>Chicago Manual of Style (Author-Date format)</title>+ <id>http://www.zotero.org/styles/chicago-author-date</id>+ <link href="http://www.zotero.org/styles/chicago-author-date" rel="self"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <category citation-format="author-date"/>+ <category field="generic-base"/>+ <updated>2009-12-04T20:22:16+00:00</updated>+ <summary>The author-date variant of the Chicago style</summary>+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>+ </info>+ <macro name="secondary-contributors">+ <choose>+ <if match="none" type="chapter">+ <group delimiter=". ">+ <choose>+ <if variable="author">+ <names variable="editor">+ <label form="verb-short" prefix=" " suffix=". " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names variable="translator">+ <label form="verb-short" prefix=" " suffix=". " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter">+ <group delimiter=", " prefix=",">+ <choose>+ <if variable="author">+ <names variable="editor">+ <label form="verb-short" prefix=" " suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names variable="translator">+ <label form="verb-short" prefix=" " suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="anon">+ <choose>+ <if match="none" variable="author editor translator">+ <text form="short" term="anonymous" text-case="capitalize-first" />+ </if>+ </choose>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="recipient">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ <else>+ <text term="letter" text-case="capitalize-first" />+ </else>+ </choose>+ </if>+ </choose>+ <names delimiter=", " variable="recipient">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="contributors">+ <names variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." text-case="lowercase" />+ <substitute>+ <text macro="editor" />+ <text macro="translator" />+ </substitute>+ </names>+ <text macro="anon" />+ <text macro="recipient" />+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name and="text" delimiter=", " form="short" />+ <substitute>+ <names variable="editor" />+ <names variable="translator" />+ </substitute>+ </names>+ <text macro="anon" />+ </macro>+ <macro name="interviewer">+ <names delimiter=", " variable="interviewer">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="archive">+ <group delimiter=". ">+ <text text-case="capitalize-first" variable="archive_location" />+ <text variable="archive" />+ <text variable="archive-place" />+ </group>+ </macro>+ <macro name="access">+ <group delimiter=". ">+ <choose>+ <if match="any" type="graphic report">+ <text macro="archive" />+ </if>+ <else-if match="none" type="book thesis chapter article-journal article-newspaper article-magazine">+ <text macro="archive" />+ </else-if>+ </choose>+ <text prefix="doi:" variable="DOI" />+ <text variable="URL" />+ </group>+ </macro>+ <macro name="title">+ <choose>+ <if match="none" variable="title">+ <choose>+ <if match="none" type="personal_communication">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ </if>+ <else-if type="book">+ <text font-style="italic" variable="title" />+ </else-if>+ <else>+ <text variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if match="any" type="book chapter">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number form="ordinal" variable="edition" />+ <text form="short" suffix="." term="edition" />+ </group>+ </if>+ <else>+ <text suffix="." variable="edition" form="short"/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <text prefix=" " variable="volume" />+ <text prefix=", no. " variable="issue" />+ </if>+ <else-if type="book">+ <group delimiter=". " prefix=". ">+ <group>+ <text form="short" suffix=". " term="volume" text-case="capitalize-first" />+ <number form="numeric" variable="volume" />+ </group>+ <group>+ <number form="numeric" variable="number-of-volumes" />+ <text form="short" plural="true" prefix=" " suffix="." term="volume" />+ </group>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter">+ <group prefix=", ">+ <text suffix=":" variable="volume" />+ <text variable="page" />+ </group>+ </if>+ </choose>+ </macro>+ <macro name="locators-article">+ <choose>+ <if type="article-newspaper">+ <group delimiter=", " prefix=", ">+ <group>+ <text suffix=" " variable="edition" />+ <text prefix=" " term="edition" />+ </group>+ <group>+ <text form="short" suffix=". " term="section" />+ <text variable="section" />+ </group>+ </group>+ </if>+ <else-if type="article-journal">+ <text prefix=": " variable="page" />+ </else-if>+ </choose>+ </macro>+ <macro name="point-locators">+ <group>+ <choose>+ <if locator="page" match="none">+ <label form="short" suffix=" " variable="locator" />+ </if>+ </choose>+ <text variable="locator" />+ </group>+ </macro>+ <macro name="container-prefix">+ <text term="in" text-case="capitalize-first" />+ </macro>+ <macro name="container-title">+ <choose>+ <if type="chapter">+ <text macro="container-prefix" suffix=" " />+ </if>+ </choose>+ <text font-style="italic" variable="container-title" />+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place" />+ <text variable="publisher" />+ </group>+ </macro>+ <macro name="date">+ <date variable="issued">+ <date-part name="year" />+ </date>+ </macro>+ <macro name="day-month">+ <date variable="issued">+ <date-part name="month" />+ <date-part name="day" prefix=" " />+ </date>+ </macro>+ <macro name="collection-title">+ <text variable="collection-title" />+ <text prefix=" " variable="collection-number" />+ </macro>+ <macro name="event">+ <group>+ <text suffix=" " term="presented at" />+ <text variable="event" />+ </group>+ </macro>+ <macro name="description">+ <group delimiter=". ">+ <text macro="interviewer" />+ <text text-case="capitalize-first" variable="medium" />+ </group>+ <choose>+ <if match="none" variable="title"> </if>+ <else-if type="thesis"> </else-if>+ <else>+ <text prefix=". " text-case="capitalize-first" variable="genre" />+ </else>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="article-journal">+ <text macro="day-month" prefix=" (" suffix=")" />+ </if>+ <else-if type="speech">+ <group delimiter=", " prefix=" ">+ <text macro="event" />+ <text macro="day-month" />+ <text variable="event-place" />+ </group>+ </else-if>+ <else-if match="any" type="article-newspaper article-magazine">+ <text macro="day-month" prefix=", " />+ </else-if>+ <else>+ <group delimiter=", " prefix=". ">+ <choose>+ <if type="thesis">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ <text macro="publisher" />+ <text macro="day-month" />+ </group>+ </else>+ </choose>+ </macro>+ <citation + disambiguate-add-givenname="true"+ disambiguate-add-names="true"+ disambiguate-add-year-suffix="true"+ et-al-min="4"+ et-al-subsequent-min="4"+ et-al-subsequent-use-first="1"+ et-al-use-first="1">+ <layout delimiter="; " prefix="(" suffix=")">+ <group delimiter=", ">+ <group delimiter=" ">+ <text macro="contributors-short" />+ <text macro="date" />+ </group>+ <text macro="point-locators" />+ </group>+ </layout>+ </citation>+ <bibliography + entry-spacing="0"+ et-al-min="11"+ et-al-use-first="7"+ hanging-indent="true"+ subsequent-author-substitute="---">+ <sort>+ <key macro="contributors" />+ <key variable="issued" />+ <key variable="title" />+ </sort>+ <layout suffix=".">+ <text macro="contributors" suffix=". " />+ <text macro="date" suffix=". " />+ <text macro="title" />+ <text macro="description" />+ <text macro="secondary-contributors" prefix=". " />+ <text macro="container-title" prefix=". " />+ <text macro="container-contributors" />+ <text macro="locators-chapter" />+ <text macro="edition" prefix=". " />+ <text macro="locators" />+ <text macro="collection-title" prefix=". " />+ <text macro="issue" />+ <text macro="locators-article" />+ <text macro="access" prefix=". " />+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "literal": "Beijing Zoo"+ }+ ],+ "container-title": "Acta Zoologica Sinica",+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "1974"+ ]+ ]+ },+ "page": "139-147",+ "title": "On the diseases of the giant panda and their preventive and curative measures [in Chinese]",+ "type": "article-journal",+ "volume": "20"+ },+ {+ "author": [+ {+ "family": "Beijing Zoo"+ }+ ],+ "container-title": "Acta Zoologica Sinica",+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1974"+ ]+ ]+ },+ "page": "154-161",+ "title": "Observations on the breeding of the giant panda and the raising of its young [in Chinese]",+ "type": "article-journal",+ "volume": "20"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_Citation.txt view
@@ -0,0 +1,78 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Doe; Roe+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name form="short" />+ </names>+ </macro>+ <citation>+ <sort>+ <key macro="author" />+ </sort>+ <layout delimiter="; ">+ <text macro="author" />+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_CitationNumberPrimaryAscendingViaMacroBibliography.txt view
@@ -0,0 +1,85 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">[1] Aaaa (first-cited)</div>+ <div class="csl-entry">[2] Bbbb (second-cited)</div>+ <div class="csl-entry">[3] Zzzz (third-cited)</div>+ <div class="csl-entry">[4] Xxxx (fourth-cited)</div>+</div>+<<===== RESULT =====<<++## Companion citations:+## +## >>[0] [1] Aaaa (first-cited); [2] Bbbb (second-cited); [3] Zzzz (third-cited); [4] Xxxx (fourth-cited)++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="citation-number-macro">+ <number variable="citation-number"/>+ </macro>+ <citation>+ <sort>+ <key macro="citation-number-macro"/>+ </sort>+ <layout>+ <group delimiter=" ">+ <number variable="citation-number" prefix="[" suffix="]"/>+ <text variable="title"/>+ </group>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key macro="citation-number-macro" sort="ascending"/>+ </sort>+ <layout>+ <text variable="citation-number" prefix="[" suffix="] "/>+ <text variable="title" />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "item-1",+ "title": "Aaaa (first-cited)",+ "type": "book"+ },+ {+ "id": "item-2",+ "title": "Bbbb (second-cited)",+ "type": "book"+ },+ {+ "id": "item-3",+ "title": "Zzzz (third-cited)",+ "type": "book"+ },+ {+ "id": "item-4",+ "title": "Xxxx (fourth-cited)",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_CitationNumberPrimaryAscendingViaMacroCitation.txt view
@@ -0,0 +1,112 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+>>[0] [1] Aaaa (first-cited); [2] Bbbb (second-cited); [3] Zzzz (third-cited); [4] Xxxx (fourth-cited)+<<===== RESULT =====<<++## Companion bibliography:+## +## <div class="csl-bib-body">+## <div class="csl-entry">[1] Aaaa (first-cited)</div>+## <div class="csl-entry">[2] Bbbb (second-cited)</div>+## <div class="csl-entry">[3] Zzzz (third-cited)</div>+## <div class="csl-entry">[4] Xxxx (fourth-cited)</div>+## </div>++>>==== CITATIONS ====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "item-1"+ },+ {+ "id": "item-2"+ },+ {+ "id": "item-3"+ },+ {+ "id": "item-4"+ }+ ]+ },+ [],+ []+ ]+]+<<==== CITATIONS ====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="citation-number-macro">+ <text variable="citation-number"/>+ </macro>+ <citation>+ <sort>+ <key macro="citation-number-macro"/>+ </sort>+ <layout delimiter="; ">+ <group delimiter=" ">+ <text variable="citation-number" prefix="[" suffix="]"/>+ <text variable="title"/>+ </group>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key macro="citation-number-macro" sort="ascending"/>+ </sort>+ <layout>+ <text variable="citation-number" prefix="[" suffix="] "/>+ <text variable="title" />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "item-1", + "title": "Aaaa (first-cited)", + "type": "book"+ }, + {+ "id": "item-2", + "title": "Bbbb (second-cited)", + "type": "book"+ }, + {+ "id": "item-3", + "title": "Zzzz (third-cited)", + "type": "book"+ }, + {+ "id": "item-4", + "title": "Xxxx (fourth-cited)", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_CitationNumberPrimaryAscendingViaVariableBibliography.txt view
@@ -0,0 +1,82 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">[1] Aaaa (first-cited)</div>+ <div class="csl-entry">[2] Bbbb (second-cited)</div>+ <div class="csl-entry">[3] Zzzz (third-cited)</div>+ <div class="csl-entry">[4] Xxxx (fourth-cited)</div>+</div>+<<===== RESULT =====<<++## Companion citations:+## +## >>[0] [1] Aaaa (first-cited); [2] Bbbb (second-cited); [3] Zzzz (third-cited); [4] Xxxx (fourth-cited)++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <sort>+ <key variable="citation-number"/>+ </sort>+ <layout>+ <group delimiter=" ">+ <number variable="citation-number" prefix="[" suffix="]"/>+ <text variable="title"/>+ </group>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key variable="citation-number" sort="ascending"/>+ </sort>+ <layout>+ <text variable="citation-number" prefix="[" suffix="] "/>+ <text variable="title" />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "item-1",+ "title": "Aaaa (first-cited)",+ "type": "book"+ },+ {+ "id": "item-2",+ "title": "Bbbb (second-cited)",+ "type": "book"+ },+ {+ "id": "item-3",+ "title": "Zzzz (third-cited)",+ "type": "book"+ },+ {+ "id": "item-4",+ "title": "Xxxx (fourth-cited)",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_CitationNumberPrimaryAscendingViaVariableCitation.txt view
@@ -0,0 +1,109 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+>>[0] [1] Aaaa (first-cited); [2] Bbbb (second-cited); [3] Zzzz (third-cited); [4] Xxxx (fourth-cited)+<<===== RESULT =====<<++## Companion bibliography:+## +## <div class="csl-bib-body">+## <div class="csl-entry">[1] Aaaa (first-cited)</div>+## <div class="csl-entry">[2] Bbbb (second-cited)</div>+## <div class="csl-entry">[3] Zzzz (third-cited)</div>+## <div class="csl-entry">[4] Xxxx (fourth-cited)</div>+## </div>+++>>==== CITATIONS ====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "item-1"+ },+ {+ "id": "item-2"+ },+ {+ "id": "item-3"+ },+ {+ "id": "item-4"+ }+ ]+ },+ [],+ []+ ]+]+<<==== CITATIONS ====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <sort>+ <key variable="citation-number"/>+ </sort>+ <layout delimiter="; ">+ <group delimiter=" ">+ <text variable="citation-number" prefix="[" suffix="]"/>+ <text variable="title"/>+ </group>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key variable="citation-number" sort="ascending"/>+ </sort>+ <layout>+ <text variable="citation-number" prefix="[" suffix="] "/>+ <text variable="title" />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "item-1", + "title": "Aaaa (first-cited)", + "type": "book"+ }, + {+ "id": "item-2", + "title": "Bbbb (second-cited)", + "type": "book"+ }, + {+ "id": "item-3", + "title": "Zzzz (third-cited)", + "type": "book"+ }, + {+ "id": "item-4", + "title": "Xxxx (fourth-cited)", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_CitationNumberPrimaryDescendingViaMacroBibliography.txt view
@@ -0,0 +1,85 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">[4] Xxxx (fourth-cited)</div>+ <div class="csl-entry">[3] Zzzz (third-cited)</div>+ <div class="csl-entry">[2] Bbbb (second-cited)</div>+ <div class="csl-entry">[1] Aaaa (first-cited)</div>+</div>+<<===== RESULT =====<<++## Companion citations:+## +## >>[0] [1] Aaaa (first-cited); [2] Bbbb (second-cited); [3] Zzzz (third-cited); [4] Xxxx (fourth-cited)++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="citation-number-macro">+ <text variable="citation-number"/>+ </macro>+ <citation>+ <sort>+ <key macro="citation-number-macro"/>+ </sort>+ <layout>+ <group delimiter=" ">+ <text variable="citation-number" prefix="[" suffix="]"/>+ <text variable="title"/>+ </group>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key macro="citation-number-macro" sort="descending"/>+ </sort>+ <layout>+ <text variable="citation-number" prefix="[" suffix="] "/>+ <text variable="title" />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "item-1",+ "title": "Aaaa (first-cited)",+ "type": "book"+ },+ {+ "id": "item-2",+ "title": "Bbbb (second-cited)",+ "type": "book"+ },+ {+ "id": "item-3",+ "title": "Zzzz (third-cited)",+ "type": "book"+ },+ {+ "id": "item-4",+ "title": "Xxxx (fourth-cited)",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_CitationNumberPrimaryDescendingViaMacroCitation.txt view
@@ -0,0 +1,111 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+>>[0] [1] Aaaa (first-cited); [2] Bbbb (second-cited); [3] Zzzz (third-cited); [4] Xxxx (fourth-cited)+<<===== RESULT =====<<++## Companion bibliography:+## +## <div class="csl-bib-body">+## <div class="csl-entry">[4] Xxxx (fourth-cited)</div>+## <div class="csl-entry">[3] Zzzz (third-cited)</div>+## <div class="csl-entry">[2] Bbbb (second-cited)</div>+## <div class="csl-entry">[1] Aaaa (first-cited)</div>+## </div>++>>==== CITATIONS ====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "item-1"+ },+ {+ "id": "item-2"+ },+ {+ "id": "item-3"+ },+ {+ "id": "item-4"+ }+ ]+ },+ [],+ []+ ]+]+<<==== CITATIONS ====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="citation-number-macro">+ <number variable="citation-number"/>+ </macro>+ <citation>+ <sort>+ <key macro="citation-number-macro"/>+ </sort>+ <layout delimiter="; ">+ <group delimiter=" ">+ <text variable="citation-number" prefix="[" suffix="]"/>+ <text variable="title"/>+ </group>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key macro="citation-number-macro" sort="descending"/>+ </sort>+ <layout>+ <text variable="citation-number" prefix="[" suffix="] "/>+ <text variable="title" />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "item-1", + "title": "Aaaa (first-cited)", + "type": "book"+ }, + {+ "id": "item-2", + "title": "Bbbb (second-cited)", + "type": "book"+ }, + {+ "id": "item-3", + "title": "Zzzz (third-cited)", + "type": "book"+ }, + {+ "id": "item-4", + "title": "Xxxx (fourth-cited)", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_CitationNumberPrimaryDescendingViaVariableBibliography.txt view
@@ -0,0 +1,82 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">[4] Xxxx (fourth-cited)</div>+ <div class="csl-entry">[3] Zzzz (third-cited)</div>+ <div class="csl-entry">[2] Bbbb (second-cited)</div>+ <div class="csl-entry">[1] Aaaa (first-cited)</div>+</div>+<<===== RESULT =====<<++## Companion citations:+##+## >>[0] [1] Aaaa (first-cited); [2] Bbbb (second-cited); [3] Zzzz (third-cited); [4] Xxxx (fourth-cited)++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <sort>+ <key variable="citation-number"/>+ </sort>+ <layout>+ <group delimiter=" ">+ <text variable="citation-number" prefix="[" suffix="]"/>+ <text variable="title"/>+ </group>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key variable="citation-number" sort="descending"/>+ </sort>+ <layout>+ <text variable="citation-number" prefix="[" suffix="] "/>+ <text variable="title" />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "item-1",+ "title": "Aaaa (first-cited)",+ "type": "book"+ },+ {+ "id": "item-2",+ "title": "Bbbb (second-cited)",+ "type": "book"+ },+ {+ "id": "item-3",+ "title": "Zzzz (third-cited)",+ "type": "book"+ },+ {+ "id": "item-4",+ "title": "Xxxx (fourth-cited)",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_CitationNumberPrimaryDescendingViaVariableCitation.txt view
@@ -0,0 +1,110 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+>>[0] [1] Aaaa (first-cited); [2] Bbbb (second-cited); [3] Zzzz (third-cited); [4] Xxxx (fourth-cited)+<<===== RESULT =====<<++## Companion bibliography: +## +## <div class="csl-bib-body">+## <div class="csl-entry">[4] Xxxx (fourth-cited)</div>+## <div class="csl-entry">[3] Zzzz (third-cited)</div>+## <div class="csl-entry">[2] Bbbb (second-cited)</div>+## <div class="csl-entry">[1] Aaaa (first-cited)</div>+## </div>+++>>==== CITATIONS ====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "item-1"+ },+ {+ "id": "item-2"+ },+ {+ "id": "item-3"+ },+ {+ "id": "item-4"+ }+ ]+ },+ [],+ []+ ]+]+<<==== CITATIONS ====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <sort>+ <key variable="citation-number"/>+ </sort>+ <layout delimiter="; ">+ <group delimiter=" ">+ <text variable="citation-number" prefix="[" suffix="]"/>+ <text variable="title"/>+ </group>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key variable="citation-number" sort="descending"/>+ </sort>+ <layout>+ <text variable="citation-number" prefix="[" suffix="] "/>+ <text variable="title" />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "item-1", + "title": "Aaaa (first-cited)", + "type": "book"+ }, + {+ "id": "item-2", + "title": "Bbbb (second-cited)", + "type": "book"+ }, + {+ "id": "item-3", + "title": "Zzzz (third-cited)", + "type": "book"+ }, + {+ "id": "item-4", + "title": "Xxxx (fourth-cited)", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_CitationNumberSecondaryAscendingViaMacroBibliography.txt view
@@ -0,0 +1,87 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">[1] Zzzz (third-cited)</div>+ <div class="csl-entry">[2] Xxxx (fourth-cited)</div>+ <div class="csl-entry">[3] Bbbb (second-cited)</div>+ <div class="csl-entry">[4] Aaaa (first-cited)</div>+</div>+<<===== RESULT =====<<++## Companion citations:+##+## >>[0] [1] Zzzz (third-cited); [2] Xxxx (fourth-cited); [3] Bbbb (second-cited); [4] Aaaa (first-cited)+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="citation-number-macro">+ <number variable="citation-number"/>+ </macro>+ <citation>+ <sort>+ <key macro="citation-number-macro"/>+ </sort>+ <layout>+ <group delimiter=" ">+ <number variable="citation-number" prefix="[" suffix="]"/>+ <text variable="title"/>+ </group>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key variable="title" sort="descending"/>+ <key macro="citation-number-macro" sort="ascending"/>+ </sort>+ <layout>+ <text variable="citation-number" prefix="[" suffix="] "/>+ <text variable="title" />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "item-1",+ "title": "Aaaa (first-cited)",+ "type": "book"+ },+ {+ "id": "item-2",+ "title": "Bbbb (second-cited)",+ "type": "book"+ },+ {+ "id": "item-3",+ "title": "Zzzz (third-cited)",+ "type": "book"+ },+ {+ "id": "item-4",+ "title": "Xxxx (fourth-cited)",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_CitationNumberSecondaryAscendingViaMacroCitation.txt view
@@ -0,0 +1,88 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+[1] Zzzz (third-cited); [2] Xxxx (fourth-cited); [3] Bbbb (second-cited); [4] Aaaa (first-cited)+<<===== RESULT =====<<++## Companion bibliography:+## +## <div class="csl-bib-body">+## <div class="csl-entry">[1] Zzzz (third-cited)</div>+## <div class="csl-entry">[2] Xxxx (fourth-cited)</div>+## <div class="csl-entry">[3] Bbbb (second-cited)</div>+## <div class="csl-entry">[4] Aaaa (first-cited)</div>+## </div>++++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="citation-number-macro">+ <number variable="citation-number"/>+ </macro>+ <citation>+ <sort>+ <key macro="citation-number-macro"/>+ </sort>+ <layout delimiter="; ">+ <group delimiter=" ">+ <text variable="citation-number" prefix="[" suffix="]"/>+ <text variable="title"/>+ </group>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key variable="title" sort="descending"/>+ <key macro="citation-number-macro" sort="ascending"/>+ </sort>+ <layout>+ <text variable="citation-number" prefix="[" suffix="] "/>+ <text variable="title" />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "item-1",+ "title": "Aaaa (first-cited)",+ "type": "book"+ },+ {+ "id": "item-2",+ "title": "Bbbb (second-cited)",+ "type": "book"+ },+ {+ "id": "item-3",+ "title": "Zzzz (third-cited)",+ "type": "book"+ },+ {+ "id": "item-4",+ "title": "Xxxx (fourth-cited)",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_CitationNumberSecondaryAscendingViaVariableBibliography.txt view
@@ -0,0 +1,84 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">[1] Zzzz (third-cited)</div>+ <div class="csl-entry">[2] Xxxx (fourth-cited)</div>+ <div class="csl-entry">[3] Bbbb (second-cited)</div>+ <div class="csl-entry">[4] Aaaa (first-cited)</div>+</div>+<<===== RESULT =====<<++## Companion citations:+##+## >>[0] [1] Zzzz (third-cited); [2] Xxxx (fourth-cited); [3] Bbbb (second-cited); [4] Aaaa (first-cited)+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <sort>+ <key variable="citation-number"/>+ </sort>+ <layout>+ <group delimiter=" ">+ <number variable="citation-number" prefix="[" suffix="]"/>+ <text variable="title"/>+ </group>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key variable="title" sort="descending"/>+ <key variable="citation-number" sort="ascending"/>+ </sort>+ <layout>+ <text variable="citation-number" prefix="[" suffix="] "/>+ <text variable="title" />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "item-1",+ "title": "Aaaa (first-cited)",+ "type": "book"+ },+ {+ "id": "item-2",+ "title": "Bbbb (second-cited)",+ "type": "book"+ },+ {+ "id": "item-3",+ "title": "Zzzz (third-cited)",+ "type": "book"+ },+ {+ "id": "item-4",+ "title": "Xxxx (fourth-cited)",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_CitationNumberSecondaryAscendingViaVariableCitation.txt view
@@ -0,0 +1,112 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+>>[0] [1] Zzzz (third-cited); [2] Xxxx (fourth-cited); [3] Bbbb (second-cited); [4] Aaaa (first-cited)+<<===== RESULT =====<<+++## Companion bibliography:+## +## <div class="csl-bib-body">+## <div class="csl-entry">[1] Zzzz (third-cited)</div>+## <div class="csl-entry">[2] Xxxx (fourth-cited)</div>+## <div class="csl-entry">[3] Bbbb (second-cited)</div>+## <div class="csl-entry">[4] Aaaa (first-cited)</div>+## </div>+++>>==== CITATIONS ====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "item-2"+ },+ {+ "id": "item-1"+ },+ {+ "id": "item-4"+ },+ {+ "id": "item-3"+ }+ ]+ },+ [],+ []+ ]+]+<<==== CITATIONS ====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <sort>+ <key variable="citation-number"/>+ </sort>+ <layout delimiter="; ">+ <group delimiter=" ">+ <text variable="citation-number" prefix="[" suffix="]"/>+ <text variable="title"/>+ </group>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key variable="title" sort="descending"/>+ <key variable="citation-number" sort="ascending"/>+ </sort>+ <layout>+ <text variable="citation-number" prefix="[" suffix="] "/>+ <text variable="title" />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "item-1", + "title": "Aaaa (first-cited)", + "type": "book"+ }, + {+ "id": "item-2", + "title": "Bbbb (second-cited)", + "type": "book"+ }, + {+ "id": "item-3", + "title": "Zzzz (third-cited)", + "type": "book"+ }, + {+ "id": "item-4", + "title": "Xxxx (fourth-cited)", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_CitationSecondaryKey.txt view
@@ -0,0 +1,96 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Doe 1995; Roe 1995+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name form="short"/>+ </names>+ </macro>+ <citation>+ <sort>+ <key variable="issued" sort="ascending"/>+ <key macro="author" sort="ascending"/>+ </sort>+ <layout delimiter="; ">+ <group delimiter=" ">+ <text macro="author" />+ <date variable="issued" form="text" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1995+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 1995+ ]+ ]+ },+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_CiteGroupDelimiter.txt view
@@ -0,0 +1,115 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Banda 1999; Aalto 2000, Aalto 2001+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="in-text"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name form="short" />+ </names>+ </macro>+ <citation cite-group-delimiter=", ">+ <sort>+ <key variable="issued" />+ </sort>+ <layout delimiter="; ">+ <group delimiter=" ">+ <text macro="author" />+ <date form="text" variable="issued" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2001+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ },+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Banda",+ "given": "Gino"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ 1999+ ]+ ]+ },+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_ConditionalMacroDates.txt view
@@ -0,0 +1,112 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Title 3</div>+ <div class="csl-entry">Title 1</div>+ <div class="csl-entry">Title 2</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="issued-date">+ <group prefix="[" suffix="]">+ <choose>+ <if type="book">+ <date variable="issued">+ <date-part name="year" form="long"/>+ </date>+ </if>+ <else>+ <date variable="issued">+ <date-part name="year" form="long" suffix="-"/>+ <date-part name="month" form="numeric" suffix="-"/>+ <date-part name="day" form="numeric"/>+ </date>+ </else>+ </choose>+ </group>+ </macro>+ <citation>+ <layout>+ <text value="bogus"/>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key macro="issued-date" sort="ascending"/>+ </sort>+ <layout>+ <text variable="title" />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "item-1",+ "issued": {+ "date-parts": [+ [+ 2002,+ 12,+ 25+ ]+ ]+ },+ "title": "Title 2",+ "type": "article-journal"+ },+ {+ "id": "item-2",+ "issued": {+ "date-parts": [+ [+ 2002,+ 11,+ 30+ ]+ ]+ },+ "title": "Title 3",+ "type": "book"+ },+ {+ "id": "item-3",+ "issued": {+ "date-parts": [+ [+ 2002,+ 10,+ 25+ ]+ ]+ },+ "title": "Title 1",+ "type": "article-journal"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_DaleDalebout.txt view
@@ -0,0 +1,104 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">Allabout</div>+ <div class="csl-entry">Dale</div>+ <div class="csl-entry">Dalebout</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name form="short" />+ </names>+ </macro>+ <citation>+ <sort>+ <key macro="author" />+ </sort>+ <layout delimiter="; ">+ <text macro="author" />+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key variable="author" />+ </sort>+ <layout>+ <text macro="author" />+ <text variable="title"/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Dale",+ "given": "Zippy"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Dalebout",+ "given": "Arnie"+ }+ ],+ "id": "ITEM-3",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Allabout",+ "given": "Kelly"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_DateMacroSortWithSecondFieldAlign.txt view
@@ -0,0 +1,83 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">+ <div class="csl-left-margin">John Doe</div><div class="csl-right-inline">His Anonymous Life (1965).</div>+ </div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="issued">+ <date variable="issued" form="text" date-parts="year" prefix="(" suffix=")"/>+ </macro>+ <citation>+ <layout>+ <names variable="author">+ <name/>+ </names>+ </layout>+ </citation>+ <bibliography et-al-min="7" et-al-use-first="1" entry-spacing="0" second-field-align="flush">+ <sort>+ <key macro="issued"/>+ </sort> + <layout suffix=".">+ <names variable="author"/>+ <group delimiter=" ">+ <group delimiter=", ">+ <text variable="title"/>+ </group>+ <text macro="issued"/>+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_DateVariable.txt view
@@ -0,0 +1,67 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Book B; Book A+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <sort>+ <key variable="issued" />+ </sort>+ <layout delimiter="; ">+ <text variable="title" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2001"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_DateVariableMixedElementsAscendingA.txt view
@@ -0,0 +1,68 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Book B; Book A+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <sort>+ <key variable="issued" sort="ascending"/>+ </sort>+ <layout delimiter="; ">+ <text variable="title" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2000",+ "5"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_DateVariableMixedElementsAscendingB.txt view
@@ -0,0 +1,68 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Book A; Book B+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <sort>+ <key variable="issued" sort="ascending"/>+ </sort>+ <layout delimiter="; ">+ <text variable="title" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "2000",+ "5"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_DateVariableMixedElementsDescendingA.txt view
@@ -0,0 +1,68 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Book A; Book B+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <sort>+ <key variable="issued" sort="descending"/>+ </sort>+ <layout delimiter="; ">+ <text variable="title" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2000",+ "5"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_DateVariableMixedElementsDescendingB.txt view
@@ -0,0 +1,68 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Book B; Book A+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <sort>+ <key variable="issued" sort="descending"/>+ </sort>+ <layout delimiter="; ">+ <text variable="title" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "2000",+ "5"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_DateVariableRange.txt view
@@ -0,0 +1,77 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Book B; Book A+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <sort>+ <key variable="issued" sort="ascending"/>+ </sort>+ <layout delimiter="; ">+ <text variable="title" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2000",+ "5"+ ],+ [+ "2001",+ "5"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "2000",+ "5"+ ],+ [+ "1999",+ "5"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_DateVariableRangeMixed.txt view
@@ -0,0 +1,73 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Book B; Book A+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <sort>+ <key variable="issued" sort="ascending"/>+ </sort>+ <layout delimiter="; ">+ <text variable="title" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2000",+ "5"+ ],+ [+ "2001",+ "5"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "2000",+ "5"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_DropNameLabelInSort.txt view
@@ -0,0 +1,176 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Doe, John ed. <i>Hello</i>.</div>+ <div class="csl-entry">---. <i>Hello</i>.</div>+ <div class="csl-entry">Doe, John Eamon. <i>Hello</i>.</div>+ <div class="csl-entry">Doe, John Egbert. <i>Hello</i>.</div>+</div>+<<===== RESULT =====<<+++mla-x.csl+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="in-text"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="editor-translator">+ <names variable="editor translator" delimiter=". ">+ <label form="verb-short" text-case="capitalize-first" suffix=" "/>+ <name and="symbol" delimiter=", "/>+ </names>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=" " suffix="." strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="title">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else>+ <text variable="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" disambiguate-add-names="true" disambiguate-add-givenname="true">+ <layout prefix="(" suffix=")" delimiter="; ">+ <text value="BOGUS"/>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="4" et-al-use-first="1" line-spacing="2" subsequent-author-substitute="---">+ <sort>+ <key macro="author"/>+ <key variable="title"/>+ </sort>+ <layout>+ <text macro="author" suffix="."/>+ <text macro="title" prefix=" " suffix="."/>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text macro="editor-translator" prefix=" " suffix="."/>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <group>+ <text variable="container-title" font-style="italic" prefix=" " suffix="."/>+ <text macro="editor-translator" prefix=" " suffix="."/>+ </group>+ <text variable="page" prefix=" " suffix="."/>+ </else-if>+ <else>+ <group prefix=" " suffix="." delimiter=": ">+ <group delimiter=" ">+ <text macro="editor-translator" suffix="."/>+ <text variable="container-title" font-style="italic"/>+ <choose>+ <if type="article-journal">+ <group delimiter=" ">+ <group delimiter=".">+ <text variable="volume"/>+ <text variable="issue"/>+ </group>+ <date variable="issued" prefix="(" suffix=")">+ <date-part name="year"/>+ </date>+ </group>+ </if>+ <else>+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" form="short" suffix=" "/>+ <date-part name="year"/>+ </date>+ </else>+ </choose>+ </group>+ <text variable="page"/>+ </group>+ </else>+ </choose>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<++++++>>===== INPUT =====>>+[+ {+ "editor": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "title": "Hello",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-4",+ "title": "Hello",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John Eamon"+ }+ ],+ "id": "ITEM-2",+ "title": "Hello",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John Egbert"+ }+ ],+ "id": "ITEM-3",+ "title": "Hello",+ "type": "book"+ }+]+<<===== INPUT =====<<++++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_EtAlUseLast.txt view
@@ -0,0 +1,142 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Roe, Doe, … Aogh, Book A</div>+ <div class="csl-entry">Roe, Doe, … Bogh, Book A</div>+ <div class="csl-entry">Roe, Doe, … Gogh, Book A</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author-name">+ <names variable="author">+ <name form="short"/>+ </names>+ </macro>+ <citation>+ <layout>+ <text value="Ignore me"/>+ </layout>+ </citation>+ <bibliography+ et-al-use-last="true" + et-al-min="4" + et-al-use-first="2">+ <sort>+ <key macro="author-name"/>+ </sort>+ <layout>+ <text macro="author-name"/>+ <text variable="title" prefix=", "/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Blow",+ "given": "Joe"+ },+ {+ "family": "Snow",+ "given": "John"+ },+ {+ "family": "Gogh",+ "given": "Vincent"+ }+ ],+ "id": "ITEM-1",+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Blow",+ "given": "Joe"+ },+ {+ "family": "Snow",+ "given": "John"+ },+ {+ "family": "Bogh",+ "given": "Vincent"+ }+ ],+ "id": "ITEM-2",+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane"+ },+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Blow",+ "given": "Joe"+ },+ {+ "family": "Snow",+ "given": "John"+ },+ {+ "family": "Aogh",+ "given": "Vincent"+ }+ ],+ "id": "ITEM-3",+ "title": "Book A",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_FamilyOnly.txt view
@@ -0,0 +1,83 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Aardvaark</div>+ <div class="csl-entry">ANZ Group</div>+ <div class="csl-entry">Edelweis</div>+</div>+<<===== RESULT =====<<++Test for issue described here:++ https://forums.zotero.org/discussion/29420/bug-sorting-bibliography-with-single-field-authors/+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="BOGUS"/>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key variable="author"/>+ </sort>+ <layout>+ <names variable="author">+ <name/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "ANZ Group"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Aardvaark"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Edelweis"+ }+ ],+ "id": "ITEM-3",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_GroupedByAuthorstring.txt view
@@ -0,0 +1,128 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+>>[0] Smith 2003, 2010; Jones 2005+<<===== RESULT =====<<+++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ []+ ]+]+<<===== CITATIONS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="in-text"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name form="short" />+ </names>+ </macro>+ <citation collapse="year-suffix"+ et-al-min="3"+ et-al-use-first="1"+ et-al-subsequent-min="3"+ et-al-subsequent-use-first="1"+ disambiguate-add-year-suffix="true">+ <sort>+ <key variable="issued" />+ </sort>+ <layout delimiter="; ">+ <group delimiter=" ">+ <text macro="author"/>+ <date variable="issued" form="text" date-parts="year"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued":{+ "date-parts":[+ [2010]+ ]+ },+ "id": "ITEM-1", + "type": "book"+ }, + {+ "author": [+ {+ "family": "Jones", + "given": "2005"+ }+ ], + "issued":{+ "date-parts":[+ [2005]+ ]+ },+ "id": "ITEM-2", + "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith", + "given": "John"+ }+ ], + "issued":{+ "date-parts":[+ [2003]+ ]+ },+ "id": "ITEM-3", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_LatinUnicode.txt view
@@ -0,0 +1,82 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Aalto; Álvarez+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <title>Test fixture</title>+ <id>http://citationstyles.org/tests/fixture</id>+ <link href="http://citationstyles.org/tests/fixture" rel="self"/>+ <link href="http://citationstyles.org/documentation/text" rel="documentation"/>+ <category citation-format="author-date"/>+ <updated>2014-04-30T13:19:38+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <macro name="author">+ <names variable="author">+ <name form="short" />+ </names>+ </macro>+ <citation>+ <sort>+ <key macro="author" />+ </sort>+ <layout delimiter="; ">+ <text macro="author" />+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Álvarez",+ "given": "Ajax"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_LeadingA.txt view
@@ -0,0 +1,1462 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">“A er det første bogstav i alfabetet”. Television broadcast. DR, 2011.</div>+ <div class="csl-entry">A Hansen, Martin. <i>Alfabetiseringsproblemer</i>. København: Gyldendal, 2012.</div>+ <div class="csl-entry">A kasernes fællesvirke. <i>Problemer med alfabetet</i>. Kbh: Dafolo, 2015.</div>+ <div class="csl-entry">Ab Delrahman, Hussein. <i>Det danske alfabet er sært</i>. Kbh: Politiken, 2012.</div>+ <div class="csl-entry">B Gjengen. <i>Alfabeta</i>. Kbh, 2009.</div>+ <div class="csl-entry">Juul Jensen, Uffe, Carsten Hædersdal, og Mogens Kim Skadborg. “Etablering af klinisk etiske komitéer i Danmark: en praksis-filosofisk tilgang til klinisk etik fra bibliotek.dk”. <i>Bibliotek for læger</i> 206, nr. 1 (2014): 44–61.</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-4"+ },+ {+ "id": "ITEM-5"+ },+ {+ "id": "ITEM-6"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0" demote-non-dropping-particle="never" page-range-format="chicago" default-locale="da-DK">+ <info>+ <title>BAD Chicago Manual of Style 16th edition (full note) [test of bad Danish sort]</title>+ <id>http://www.zotero.org/styles/chicago-fullnote-bibliography-badsort</id>+ <link href="http://www.zotero.org/styles/chicago-fullnote-bibliography-badsort" rel="self"/>+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </contributor>+ <contributor>+ <name>Elena Razlogova</name>+ <email>elena.razlogova@gmail.com</email>+ </contributor>+ <contributor>+ <name>Frank Bennett</name>+ <email>biercenator@gmail.com</email>+ </contributor>+ <contributor>+ <name>Andrew Dunning</name>+ <email>andrew.dunning@utoronto.ca</email>+ </contributor>+ <category citation-format="note"/>+ <category field="generic-base"/>+ <summary>Chicago format with full notes and bibliography</summary>+ <updated>2015-08-09T02:13:24+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale xml:lang="en">+ <terms>+ <term name="editor" form="verb-short">ed.</term>+ <term name="translator" form="verb-short">trans.</term>+ <term name="editortranslator" form="verb-short">+ <single>ed. and trans.</single>+ <multiple>ed. and trans.</multiple>+ </term>+ <term name="editortranslator" form="verb">+ <single>Edited and translated by</single>+ <multiple>Edited and translated by</multiple>+ </term>+ <term name="translator" form="short">trans.</term>+ </terms>+ </locale>+ <macro name="editor-translator">+ <group delimiter=", ">+ <group delimiter=" ">+ <choose>+ <if variable="container-author reviewed-author" match="any">+ <group>+ <names variable="container-author reviewed-author">+ <label form="verb-short" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </if>+ </choose>+ </group>+ <names variable="editor translator" delimiter=", ">+ <label form="verb-short" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </macro>+ <macro name="secondary-contributors-note">+ <choose>+ <if type="chapter paper-conference" match="none">+ <text macro="editor-translator"/>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors-note">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text macro="editor-translator"/>+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if type="chapter paper-conference" match="none">+ <names variable="editor translator" delimiter=". ">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference" match="any">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <choose>+ <if variable="container-author" match="any">+ <names variable="container-author">+ <label form="verb-short" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </if>+ </choose>+ <!--This includes page numers after the container author, e.g. for Introductions -->+ <choose>+ <if variable="container-author author" match="all">+ <group delimiter=". ">+ <text variable="page"/>+ <names variable="editor translator" delimiter=", ">+ <label form="verb" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </if>+ <else>+ <names variable="editor translator" delimiter=", ">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </else>+ </choose>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="recipient-note">+ <names variable="recipient" delimiter=", ">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="contributors-note">+ <group delimiter=" ">+ <names variable="author">+ <name and="text" sort-separator=", " delimiter=", "/>+ <label form="short" prefix=", "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ <text macro="recipient-note"/>+ </group>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", "/>+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="verb-short" prefix=", "/>+ </names>+ </macro>+ <macro name="recipient">+ <group delimiter=" ">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ <else>+ <text term="letter" text-case="capitalize-first"/>+ </else>+ </choose>+ </if>+ </choose>+ <text macro="recipient-note"/>+ </group>+ </macro>+ <macro name="contributors">+ <group delimiter=". ">+ <names variable="author">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <substitute>+ <text macro="editor"/>+ <text macro="translator"/>+ </substitute>+ </names>+ <text macro="recipient"/>+ </group>+ </macro>+ <macro name="recipient-short">+ <names variable="recipient">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name form="short" and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="contributors-short">+ <group delimiter=" ">+ <names variable="author">+ <name form="short" and="text" delimiter=", "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ </substitute>+ </names>+ <text macro="recipient-short"/>+ </group>+ </macro>+ <macro name="contributors-sort">+ <names variable="author">+ <name name-as-sort-order="all" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="interviewer-note">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="interviewer">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="title-note">+ <choose>+ <if variable="title" match="none">+ <text variable="genre"/>+ </if>+ <else-if type="bill book graphic legislation motion_picture song" match="any">+ <text variable="title" text-case="title" font-style="italic"/>+ <group delimiter=" " prefix=", ">+ <text term="version"/>+ <text variable="version"/>+ </group>+ </else-if>+ <else-if type="legal_case interview patent" match="any">+ <text variable="title"/>+ </else-if>+ <else-if variable="reviewed-author">+ <text variable="title" font-style="italic" prefix="review of "/>+ </else-if>+ <else>+ <text variable="title" text-case="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if variable="title" match="none">+ <choose>+ <if type="personal_communication" match="none">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ </choose>+ </if>+ <else-if type="bill book graphic legislation motion_picture song" match="any">+ <text variable="title" text-case="title" font-style="italic"/>+ <group prefix=" (" suffix=")" delimiter=" ">+ <text term="version"/>+ <text variable="version"/>+ </group>+ </else-if>+ <else-if variable="reviewed-author">+ <group delimiter=", ">+ <text variable="title" font-style="italic" prefix="Review of "/>+ <names variable="reviewed-author">+ <label form="verb-short" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </else-if>+ <else-if type="legal_case interview patent" match="any">+ <text variable="title"/>+ </else-if>+ <else>+ <text variable="title" text-case="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="title-short">+ <choose>+ <if variable="title" match="none">+ <choose>+ <if type="interview">+ <text term="interview"/>+ </if>+ <else-if type="manuscript speech" match="any">+ <text variable="genre" form="short"/>+ </else-if>+ <else-if type="personal_communication">+ <text macro="issued"/>+ </else-if>+ </choose>+ </if>+ <else-if type="bill book graphic legislation motion_picture song" match="any">+ <text variable="title" text-case="title" form="short" font-style="italic"/>+ </else-if>+ <else-if type="patent interview" match="any">+ <text variable="title" form="short"/>+ </else-if>+ <else-if type="legal_case" match="any">+ <text variable="title"/>+ </else-if>+ <else>+ <text variable="title" text-case="title" form="short" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="date-disambiguate">+ <choose>+ <if disambiguate="true">+ <text macro="issued"/>+ </if>+ </choose>+ </macro>+ <macro name="description-note">+ <group delimiter=", ">+ <text macro="interviewer-note"/>+ <text variable="medium"/>+ <choose>+ <if variable="title" match="none"/>+ <else-if type="manuscript thesis speech" match="any"/>+ <else-if type="patent">+ <group delimiter=" ">+ <text variable="authority"/>+ <text variable="number"/>+ </group>+ </else-if>+ <else>+ <text variable="genre"/>+ </else>+ </choose>+ </group>+ </macro>+ <macro name="description">+ <group delimiter=", ">+ <group delimiter=". ">+ <text macro="interviewer"/>+ <text variable="medium" text-case="capitalize-first"/>+ </group>+ <choose>+ <if variable="title" match="none"/>+ <else-if type="thesis speech" match="any"/>+ <else-if type="patent">+ <group delimiter=" ">+ <text variable="authority"/>+ <text variable="number"/>+ </group>+ </else-if>+ <else>+ <text variable="genre" text-case="capitalize-first"/>+ </else>+ </choose>+ </group>+ </macro>+ <macro name="container-title-note">+ <group delimiter=" ">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text term="in"/>+ </if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <text variable="container-title" text-case="title" font-style="italic"/>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="container-title">+ <group delimiter=" ">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text term="in" text-case="capitalize-first"/>+ </if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <text variable="container-title" text-case="title" font-style="italic"/>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="collection-title">+ <choose>+ <if match="none" type="article-journal">+ <choose>+ <if match="none" is-numeric="collection-number">+ <group delimiter=", ">+ <text variable="collection-title" text-case="title"/>+ <text variable="collection-number"/>+ </group>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="collection-title" text-case="title"/>+ <text variable="collection-number"/>+ </group>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="collection-title-journal">+ <choose>+ <if type="article-journal">+ <group delimiter=" ">+ <text variable="collection-title"/>+ <text variable="collection-number"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="edition-note">+ <choose>+ <if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short"/>+ </group>+ </if>+ <else>+ <text variable="edition"/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short"/>+ </group>+ </if>+ <else>+ <text variable="edition" text-case="capitalize-first" suffix="."/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-note-join-with-space">+ <choose>+ <if type="article-journal" variable="volume" match="all">+ <choose>+ <if match="none" variable="collection-title">+ <text macro="locators-note"/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-note-join-with-comma">+ <choose>+ <if type="article-journal" match="none">+ <text macro="locators-note"/>+ </if>+ <else-if type="article-journal">+ <choose>+ <if variable="volume" match="none">+ <text macro="locators-note"/>+ </if>+ <else-if match="any" variable="collection-title">+ <text macro="locators-note"/>+ </else-if>+ </choose>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-note">+ <choose>+ <if type="article-journal">+ <group delimiter=", ">+ <text macro="collection-title-journal"/>+ <number variable="volume"/>+ <group delimiter=" ">+ <text term="issue" form="short"/>+ <number variable="issue"/>+ </group>+ </group>+ </if>+ <else-if type="legal_case">+ <group delimiter=", ">+ <group delimiter=" ">+ <number variable="volume"/>+ <text variable="container-title"/>+ <text variable="page"/>+ </group>+ <text variable="locator"/>+ </group>+ </else-if>+ <else-if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="any">+ <group delimiter=", ">+ <text macro="edition-note"/>+ <group delimiter=" ">+ <text term="volume" form="short"/>+ <number variable="volume" form="numeric"/>+ </group>+ <choose>+ <if variable="locator" match="none">+ <group delimiter=" ">+ <number variable="number-of-volumes" form="numeric"/>+ <text term="volume" form="short" plural="true"/>+ </group>+ </if>+ </choose>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-join-with-space">+ <choose>+ <if type="article-journal" variable="volume" match="all">+ <choose>+ <if match="none" variable="collection-title">+ <text macro="locators"/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-join-with-comma">+ <choose>+ <if type="legal_case chapter paper-conference" match="any">+ <text macro="locators"/>+ </if>+ <else-if type="article-journal">+ <choose>+ <if variable="volume" match="none">+ <text macro="locators"/>+ </if>+ <else-if match="any" variable="collection-title">+ <text macro="locators"/>+ </else-if>+ </choose>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-join-with-period">+ <choose>+ <if type="legal_case article-journal chapter paper-conference" match="none">+ <text macro="locators"/>+ </if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <group delimiter=", ">+ <text macro="collection-title-journal"/>+ <number variable="volume"/>+ <group delimiter=" ">+ <text term="issue" form="short"/>+ <number variable="issue"/>+ </group>+ </group>+ </if>+ <else-if type="legal_case">+ <group delimiter=" ">+ <number variable="volume"/>+ <text variable="container-title"/>+ <text variable="page"/>+ </group>+ </else-if>+ <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <group delimiter=". ">+ <text macro="edition"/>+ <group delimiter=" ">+ <text term="volume" form="short" text-case="capitalize-first"/>+ <number variable="volume" form="numeric"/>+ </group>+ <group delimiter=" ">+ <number variable="number-of-volumes" form="numeric"/>+ <text term="volume" form="short" plural="true"/>+ </group>+ </group>+ </else-if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=". ">+ <text macro="edition"/>+ <choose>+ <if variable="page" match="none">+ <group delimiter=" ">+ <text term="volume" form="short" text-case="capitalize-first"/>+ <number variable="volume" form="numeric"/>+ </group>+ </if>+ </choose>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-newspaper">+ <choose>+ <if type="article-newspaper">+ <group delimiter=", ">+ <group delimiter=" ">+ <number variable="edition"/>+ <text term="edition"/>+ </group>+ <group delimiter=" ">+ <text term="section" form="short"/>+ <text variable="section"/>+ </group>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="event-note">+ <text variable="event"/>+ </macro>+ <macro name="event">+ <choose>+ <if variable="title">+ <group delimiter=" ">+ <text term="presented at"/>+ <text variable="event"/>+ </group>+ </if>+ <else>+ <group delimiter=" ">+ <text term="presented at" text-case="capitalize-first"/>+ <text variable="event"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="originally-published">+ <group delimiter=", ">+ <group delimiter=": ">+ <text variable="original-publisher-place"/>+ <text variable="original-publisher"/>+ </group>+ <date variable="original-date" form="text" date-parts="year"/>+ </group>+ </macro>+ <macro name="reprint-note">+ <!--needs localization-->+ <choose>+ <if variable="original-date issued" match="all">+ <choose>+ <!--for whatever reason in notes, when we have both original and new publishers, reprint doesn't appear-->+ <if variable="original-publisher original-publisher-place" match="none">+ <text value="repr."/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="reprint">+ <!--needs localization-->+ <choose>+ <if variable="original-date issued" match="all">+ <text value="reprint" text-case="capitalize-first"/>+ </if>+ </choose>+ </macro>+ <macro name="publisher">+ <choose>+ <if type="thesis">+ <text variable="publisher"/>+ </if>+ <else-if type="speech">+ <text variable="event-place"/>+ </else-if>+ <else>+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="issued">+ <choose>+ <if variable="issued">+ <choose>+ <if type="graphic report" match="any">+ <date variable="issued" form="text"/>+ </if>+ <else-if type="legal_case">+ <group delimiter=" ">+ <text variable="authority"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ <else-if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song thesis" match="any">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </else-if>+ <else-if type="patent">+ <group delimiter=", ">+ <group delimiter=" ">+ <!--Needs Localization-->+ <text value="filed"/>+ <date variable="submitted" form="text"/>+ </group>+ <group delimiter=" ">+ <choose>+ <if variable="issued submitted" match="all">+ <text term="and"/>+ </if>+ </choose>+ <!--Needs Localization-->+ <text value="issued"/>+ <date variable="issued" form="text"/>+ </group>+ </group>+ </else-if>+ <else>+ <date variable="issued" form="text"/>+ </else>+ </choose>+ </if>+ <else-if variable="status">+ <text variable="status"/>+ </else-if>+ <else-if variable="accessed URL" match="all"/>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="point-locators-subsequent">+ <choose>+ <if type="legal_case"/>+ <else-if variable="locator">+ <choose>+ <if locator="page" match="none">+ <group delimiter=" ">+ <choose>+ <if type="bill book graphic legislation motion_picture report song" match="any">+ <choose>+ <if variable="volume">+ <group delimiter=", ">+ <group delimiter=" ">+ <text term="volume" form="short"/>+ <number variable="volume" form="numeric"/>+ </group>+ <label variable="locator" form="short"/>+ </group>+ </if>+ <else>+ <label variable="locator" form="short"/>+ </else>+ </choose>+ </if>+ <else>+ <label variable="locator" form="short"/>+ </else>+ </choose>+ <text variable="locator"/>+ </group>+ </if>+ <else-if type="bill book graphic legislation motion_picture report song" match="any">+ <group delimiter=":">+ <number variable="volume" form="numeric"/>+ <text variable="locator"/>+ </group>+ </else-if>+ <else>+ <text variable="locator"/>+ </else>+ </choose>+ </else-if>+ </choose>+ </macro>+ <macro name="point-locators-join-with-colon">+ <choose>+ <if type="article-journal">+ <choose>+ <if variable="locator page" match="any">+ <choose>+ <if variable="volume issue" match="any">+ <text macro="point-locators"/>+ </if>+ </choose>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="point-locators-join-with-comma">+ <choose>+ <if type="article-journal" match="none">+ <text macro="point-locators"/>+ </if>+ <else-if variable="volume issue" match="none">+ <text macro="point-locators"/>+ </else-if>+ </choose>+ </macro>+ <macro name="point-locators">+ <choose>+ <if variable="locator" match="none">+ <choose>+ <if type="article-journal chapter paper-conference" match="any">+ <text variable="page"/>+ </if>+ </choose>+ </if>+ <else-if type="article-journal">+ <group delimiter=" ">+ <choose>+ <if locator="page" match="none">+ <label variable="locator" form="short" suffix=" "/>+ </if>+ </choose>+ <text variable="locator"/>+ </group>+ </else-if>+ <else-if type="legal_case"/>+ <else>+ <group delimiter=" ">+ <choose>+ <if locator="page" match="none">+ <label variable="locator" form="short"/>+ </if>+ </choose>+ <text variable="locator"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter paper-conference" match="any">+ <choose>+ <if variable="author container-author" match="all"/>+ <else>+ <choose>+ <if variable="page">+ <number variable="volume" suffix=":"/>+ <text variable="page"/>+ </if>+ </choose>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-journal-join-with-colon">+ <choose>+ <if type="article-journal">+ <choose>+ <if variable="volume issue" match="any">+ <text variable="page"/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-journal-join-with-comma">+ <choose>+ <if type="article-journal">+ <choose>+ <if variable="volume issue" match="none">+ <text variable="page"/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="archive-note">+ <choose>+ <if type="thesis">+ <group delimiter=" ">+ <text variable="archive"/>+ <text variable="archive_location" prefix="(" suffix=")"/>+ </group>+ </if>+ <else>+ <group delimiter=", ">+ <text variable="archive_location"/>+ <text variable="archive"/>+ <text variable="archive-place"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="archive">+ <choose>+ <if type="thesis">+ <group delimiter=" ">+ <text variable="archive"/>+ <text variable="archive_location" prefix="(" suffix=")"/>+ </group>+ </if>+ <else>+ <group delimiter=". ">+ <text variable="archive_location" text-case="capitalize-first"/>+ <text variable="archive"/>+ <text variable="archive-place"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="issue-note-join-with-space">+ <choose>+ <if type="article-journal legal_case manuscript thesis" variable="publisher-place publisher" match="any">+ <!--Chicago doesn't use publisher/place for Newspapers and we want the date delimited by a comma-->+ <choose>+ <if type="article-newspaper" match="none">+ <choose>+ <if type="article-journal" match="none">+ <text macro="issue-note"/>+ </if>+ <else-if variable="issue volume" match="any">+ <text macro="issue-note"/>+ </else-if>+ </choose>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issue-note-join-with-comma">+ <choose>+ <if type="article-journal legal_case manuscript thesis" variable="publisher-place publisher" match="none">+ <text macro="issue-note"/>+ </if>+ <else-if type="article-newspaper">+ <text macro="issue-note"/>+ </else-if>+ <else-if type="article-journal">+ <choose>+ <if variable="volume issue" match="none">+ <text macro="issue-note"/>+ </if>+ </choose>+ </else-if>+ </choose>+ </macro>+ <macro name="issue-note">+ <choose>+ <if type="legal_case" match="any">+ <text macro="issued" prefix="(" suffix=")"/>+ </if>+ <else-if type="article-journal">+ <choose>+ <if variable="volume issue" match="any">+ <text macro="issued" prefix="(" suffix=")"/>+ </if>+ <else>+ <text macro="issued"/>+ </else>+ </choose>+ </else-if>+ <else-if type="article-newspaper">+ <text macro="issued"/>+ </else-if>+ <else-if variable="publisher-place event-place publisher genre" match="any">+ <group prefix="(" suffix=")" delimiter=", ">+ <choose>+ <if variable="title" match="none"/>+ <else-if type="manuscript thesis speech" match="any">+ <text variable="genre"/>+ </else-if>+ </choose>+ <text macro="event-note"/>+ <group delimiter="; ">+ <text macro="originally-published"/>+ <group delimiter=", ">+ <text macro="reprint-note"/>+ <text macro="publisher"/>+ </group>+ </group>+ <text macro="issued"/>+ </group>+ </else-if>+ <else>+ <text macro="issued"/>+ </else>+ </choose>+ </macro>+ <macro name="issue-join-with-space">+ <choose>+ <if type="article-journal legal_case" match="any">+ <choose>+ <if variable="issue volume" match="any">+ <text macro="issue"/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issue-join-with-period">+ <choose>+ <if type="article-journal legal_case" match="none">+ <choose>+ <if type="speech" variable="publisher publisher-place" match="any">+ <text macro="issue"/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issue-join-with-comma">+ <choose>+ <if type="article-journal legal_case" match="none">+ <choose>+ <if type="speech" variable="publisher publisher-place" match="none">+ <text macro="issue"/>+ </if>+ </choose>+ </if>+ <else-if variable="volume issue" match="none">+ <text macro="issue"/>+ </else-if>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="legal_case" match="any">+ <text macro="issued" prefix="(" suffix=")"/>+ </if>+ <else-if type="article-journal">+ <choose>+ <if variable="issue volume" match="any">+ <text macro="issued" prefix="(" suffix=")"/>+ </if>+ <else>+ <text macro="issued"/>+ </else>+ </choose>+ </else-if>+ <else-if type="speech">+ <group delimiter=", ">+ <group delimiter=" ">+ <choose>+ <if variable="title" match="none"/>+ <else>+ <text prefix="YY" variable="genre" text-case="capitalize-first"/>+ </else>+ </choose>+ <text macro="event"/>+ </group>+ <text variable="event-place"/>+ <text macro="issued"/>+ </group>+ </else-if>+ <!--Chicago doesn't use publisher/place for Newspapers -->+ <else-if type="article-newspaper">+ <text macro="issued"/>+ </else-if>+ <else-if variable="publisher-place publisher" match="any">+ <group delimiter=", ">+ <choose>+ <if type="thesis">+ <text variable="genre" prefix="XX" text-case="capitalize-first"/>+ </if>+ </choose>+ <group delimiter=". ">+ <text macro="originally-published"/>+ <group delimiter=", ">+ <text macro="reprint"/>+ <text macro="publisher"/>+ </group>+ </group>+ <text macro="issued"/>+ </group>+ </else-if>+ <else>+ <text macro="issued"/>+ </else>+ </choose>+ </macro>+ <macro name="access-note">+ <group delimiter=", ">+ <choose>+ <if type="graphic report" match="any">+ <text macro="archive-note"/>+ </if>+ <else-if type="article-journal bill book chapter legal_case legislation motion_picture paper-conference" match="none">+ <text macro="archive-note"/>+ </else-if>+ </choose>+ <choose>+ <if variable="issued" match="none">+ <group delimiter=" ">+ <text term="accessed"/>+ <date variable="accessed" form="text"/>+ </group>+ </if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix="doi:"/>+ </if>+ <else>+ <text variable="URL"/>+ </else>+ </choose>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="access">+ <group delimiter=". ">+ <choose>+ <if type="graphic report" match="any">+ <text macro="archive"/>+ </if>+ <else-if type="article-journal bill book chapter legal_case legislation motion_picture paper-conference" match="none">+ <text macro="archive"/>+ </else-if>+ </choose>+ <choose>+ <if variable="issued" match="none">+ <group delimiter=" ">+ <text term="accessed" text-case="capitalize-first"/>+ <date variable="accessed" form="text"/>+ </group>+ </if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix="doi:"/>+ </if>+ <else>+ <text variable="URL"/>+ </else>+ </choose>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="case-locator-subsequent">+ <choose>+ <if type="legal_case">+ <text macro="locators-note"/>+ </if>+ </choose>+ </macro>+ <macro name="case-issue-subsequent">+ <choose>+ <if type="legal_case">+ <text macro="issue"/>+ </if>+ </choose>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" disambiguate-add-names="true">+ <layout suffix="." delimiter="; ">+ <choose>+ <if position="ibid-with-locator">+ <group delimiter=", ">+ <text term="ibid"/>+ <text macro="point-locators-subsequent"/>+ </group>+ </if>+ <else-if position="ibid">+ <text term="ibid"/>+ </else-if>+ <else-if position="subsequent">+ <group delimiter=", ">+ <text macro="contributors-short"/>+ <group delimiter=" ">+ <group delimiter=", ">+ <text macro="title-short"/>+ <!--if title & author are the same: -->+ <text macro="date-disambiguate"/>+ <text macro="case-locator-subsequent"/>+ </group>+ <text macro="case-issue-subsequent"/>+ </group>+ <text macro="point-locators-subsequent"/>+ </group>+ </else-if>+ <else>+ <group delimiter=", ">+ <group delimiter=": ">+ <group delimiter=", ">+ <group delimiter=" ">+ <group delimiter=", ">+ <group delimiter=" ">+ <group delimiter=", ">+ <group delimiter=", ">+ <text macro="contributors-note"/>+ <text macro="title-note"/>+ </group>+ <text macro="description-note"/>+ <text macro="secondary-contributors-note"/>+ <text macro="container-title-note"/>+ <text macro="container-contributors-note"/>+ </group>+ <text macro="locators-note-join-with-space"/>+ </group>+ <text macro="locators-note-join-with-comma"/>+ <text macro="collection-title"/>+ <text macro="issue-note-join-with-comma"/>+ </group>+ <text macro="issue-note-join-with-space"/>+ </group>+ <text macro="locators-newspaper"/>+ <text macro="point-locators-join-with-comma"/>+ </group>+ <text macro="point-locators-join-with-colon"/>+ </group>+ <text macro="access-note"/>+ </group>+ </else>+ </choose>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="11" et-al-use-first="7" subsequent-author-substitute="———" entry-spacing="0">+ <sort>+ <key macro="contributors-sort"/>+ <key variable="title"/>+ <key variable="genre"/>+ <key variable="issued"/>+ </sort>+ <layout suffix=".">+ <group delimiter=". ">+ <group delimiter=": ">+ <group delimiter=", ">+ <group delimiter=" ">+ <group delimiter=". ">+ <group delimiter=" ">+ <group delimiter=", ">+ <group delimiter=". ">+ <group delimiter=". ">+ <text macro="contributors"/>+ <text macro="title"/>+ </group>+ <text macro="description"/>+ <text macro="secondary-contributors"/>+ <group delimiter=", ">+ <text macro="container-title"/>+ <text macro="container-contributors"/>+ </group>+ <text macro="locators-join-with-period"/>+ </group>+ <text macro="locators-join-with-comma"/>+ <text macro="locators-chapter"/>+ </group>+ <text macro="locators-join-with-space"/>+ </group>+ <text macro="collection-title"/>+ <text macro="issue-join-with-period"/>+ </group>+ <text macro="issue-join-with-space"/>+ </group>+ <text macro="issue-join-with-comma"/>+ <text macro="locators-journal-join-with-comma"/>+ <text macro="locators-newspaper"/>+ </group>+ <text macro="locators-journal-join-with-colon"/>+ </group>+ <text macro="access"/>+ </group>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "archive-place": "Kbh",+ "author": [+ {+ "family": "Ab Delrahman",+ "given": "Hussein"+ }+ ],+ "event-place": "Kbh",+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 2012+ ]+ ]+ },+ "publisher": "Politiken",+ "publisher-place": "Kbh",+ "title": "Det danske alfabet er sært",+ "type": "book"+ },+ {+ "archive-place": "København",+ "author": [+ {+ "family": "A Hansen",+ "given": "Martin"+ }+ ],+ "event-place": "København",+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 2012+ ]+ ]+ },+ "publisher": "Gyldendal",+ "publisher-place": "København",+ "title": "Alfabetiseringsproblemer",+ "type": "book"+ },+ {+ "archive-place": "Kbh",+ "author": [+ {+ "family": "A kasernes fællesvirke",+ "given": "",+ "isInstitution": 1+ }+ ],+ "event-place": "Kbh",+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ 2015+ ]+ ]+ },+ "publisher": "Dafolo",+ "publisher-place": "Kbh",+ "title": "Problemer med alfabetet",+ "type": "book"+ },+ {+ "archive-place": "Kbh",+ "author": [+ {+ "family": "B Gjengen",+ "given": "",+ "isInstitution": 1+ }+ ],+ "event-place": "Kbh",+ "id": "ITEM-4",+ "issued": {+ "date-parts": [+ [+ 2009+ ]+ ]+ },+ "publisher-place": "Kbh",+ "title": "Alfabeta",+ "type": "book"+ },+ {+ "ISSN": "0906-5407",+ "author": [+ {+ "family": "Juul Jensen",+ "given": "Uffe"+ },+ {+ "family": "Hædersdal",+ "given": "Carsten"+ },+ {+ "family": "Skadborg",+ "given": "Mogens Kim"+ }+ ],+ "call-number": "61.01",+ "container-title": "Bibliotek for læger",+ "id": "ITEM-5",+ "issue": "1",+ "issued": {+ "date-parts": [+ [+ 2014+ ]+ ]+ },+ "page": "44-61",+ "title": "Etablering af klinisk etiske komitéer i Danmark: en praksis-filosofisk tilgang til klinisk etik fra bibliotek.dk",+ "type": "article-journal",+ "volume": "206"+ },+ {+ "genre": "television broadcast",+ "id": "ITEM-6",+ "issued": {+ "date-parts": [+ [+ 2011+ ]+ ]+ },+ "publisher": "DR",+ "title": "A er det første bogstav i alfabetet",+ "type": "broadcast"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_LeadingApostropheOnNameParticle.txt view
@@ -0,0 +1,171 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">d’Wander, W</div>+ <div class="csl-entry">de’ Frinkle, B</div>+ <div class="csl-entry">in ’t Horvath, P A B</div>+ <div class="csl-entry">in ’t Horvath, P A D</div>+ <div class="csl-entry">Klabdaggit, M</div>+ <div class="csl-entry">’t Horvath, P A A</div>+ <div class="csl-entry">’t Horvath, P A C</div>+ <div class="csl-entry">Vooz, B</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-4"+ },+ {+ "id": "ITEM-5"+ },+ {+ "id": "ITEM-6"+ },+ {+ "id": "ITEM-7"+ },+ {+ "id": "ITEM-8"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ demote-non-dropping-particle="never">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name initialize-with=" " initialize="true" name-as-sort-order="all"/>+ </names>+ </macro>+ <citation>+ <layout>+ <text value="BOGUS"/>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key variable="author" />+ </sort>+ <layout>+ <text macro="author" />+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "'t Horvath",+ "given": "Peter A.A."+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "in 't Horvath",+ "given": "Peter A.B."+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "'t Horvath",+ "given": "Peter A.C."+ }+ ],+ "id": "ITEM-3",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "in 't Horvath",+ "given": "Peter A.D."+ }+ ],+ "id": "ITEM-4",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "de' Frinkle",+ "given": "Bevis"+ }+ ],+ "id": "ITEM-5",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Klabdaggit",+ "given": "Mizo"+ }+ ],+ "id": "ITEM-6",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Vooz",+ "given": "Bablican"+ }+ ],+ "id": "ITEM-7",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "d'Wander",+ "given": "William"+ }+ ],+ "id": "ITEM-8",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_LocalizedDateLimitedParts.txt view
@@ -0,0 +1,99 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Book D; Book A; Book B; Book C+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="date">+ <date variable="issued" date-parts="year" form="numeric"/>+ </macro>+ <citation>+ <sort>+ <key macro="date" />+ <key variable="title" />+ </sort>+ <layout delimiter="; ">+ <text variable="title" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "2000",+ "11",+ "2"+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "2001"+ ]+ ]+ },+ "title": "Book C",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ "1999"+ ]+ ]+ },+ "title": "Book D",+ "type": "book"+ },+ {+ "id": "ITEM-4",+ "issued": {+ "date-parts": [+ [+ "2000",+ "11",+ "1"+ ]+ ]+ },+ "title": "Book B",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_NameImplicitSortOrderAndForm.txt view
@@ -0,0 +1,112 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Doe, Book C</div>+ <div class="csl-entry">Doe, Book B</div>+ <div class="csl-entry">Roe, Book A</div>+</div>+<<===== RESULT =====<<+++This test originally anticipated that names should be+forced to long form when generating sort keys. This+behavior was in conflict with the explicit terms of the+specification:++ http://citationstyles.org/downloads/specification.html#sorting-macros++It also caught users early in the deployment of citproc-js+in Zotero:++ http://forums.zotero.org/discussion/18246/sort-bibliography-by-author-priority-of-surnames-given-names-and-initials/++The test has been amended to reflect correct behavior, by switching+the input order of the "Book B" and "Book C" entries. Three other+tests based on user data now cover this behavior:++ sort_VariousNameMacros1.txt+ sort_VariousNameMacros2.txt+ sort_VariousNameMacros3.txt+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author-name">+ <names variable="author">+ <name form="short"/>+ </names>+ </macro>+ <citation>+ <layout>+ <text value="Ignore me"/>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key macro="author-name"/>+ </sort>+ <layout>+ <text macro="author-name"/>+ <text variable="title" prefix=", "/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-2",+ "title": "Book C",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "James"+ }+ ],+ "id": "ITEM-3",+ "title": "Book B",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_NameParticleInNameSortFalse.txt view
@@ -0,0 +1,88 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John von Doe</div>+ <div class="csl-entry">John di Noakes</div>+ <div class="csl-entry">Jane van Roe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ demote-non-dropping-particle="sort-only">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Ignore me"/>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key variable="author"/>+ </sort>+ <layout>+ <names variable="author">+ <name/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane",+ "non-dropping-particle": "van"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Noakes",+ "given": "John",+ "non-dropping-particle": "di"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John",+ "non-dropping-particle": "von"+ }+ ],+ "id": "ITEM-3",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_NameParticleInNameSortTrue.txt view
@@ -0,0 +1,88 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John di Noakes</div>+ <div class="csl-entry">Jane van Roe</div>+ <div class="csl-entry">John von Doe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ demote-non-dropping-particle="never">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Ignore me"/>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key variable="author"/>+ </sort>+ <layout>+ <names variable="author">+ <name/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane",+ "non-dropping-particle": "van"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Noakes",+ "given": "John",+ "non-dropping-particle": "di"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John",+ "non-dropping-particle": "von"+ }+ ],+ "id": "ITEM-3",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_NameVariable.txt view
@@ -0,0 +1,84 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe</div>+ <div class="csl-entry">Jacob [F]linders</div>+ <div class="csl-entry">Jane Roe</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Ignore me"/>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key variable="author"/>+ </sort>+ <layout>+ <names variable="author">+ <name/>+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "[F]linders",+ "given": "Jacob"+ }+ ],+ "id": "ITEM-3",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_NamesUseLast.txt view
@@ -0,0 +1,123 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">John Doe, Xavier Xerxes, et al. Book One 2000</div>+ <div class="csl-entry">John Doe, Alvin Anderson, et al. Book Two 1999</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="first" sort-separator=" "/>+ <substitute>+ <names variable="editor" />+ </substitute>+ </names>+ </macro>+ <macro name="theyear">+ <date variable="issued">+ <date-part name="year" />+ </date>+ </macro>+ <citation>+ <layout>+ <text value="Ignore me" />+ </layout>+ </citation>+ <bibliography et-al-min="3" et-al-use-first="2" et-al-use-last="false">+ <sort>+ <key macro="author" names-min="3" names-use-first="1" names-use-last="true"/>+ <key macro="theyear" />+ </sort>+ <layout>+ <group delimiter=" ">+ <names variable="author">+ <name/>+ </names>+ <text variable="title" />+ <date variable="issued" date-parts="year" form="text"/>+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Anderson",+ "given": "Alvin"+ },+ {+ "family": "Zotero",+ "given": "Zoe"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1999"+ ]+ ]+ },+ "title": "Book Two",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Xerxes",+ "given": "Xavier"+ },+ {+ "family": "Boop",+ "given": "Betty"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book One",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_NumberOfAuthorsAsKey.txt view
@@ -0,0 +1,141 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Book One</div>+ <div class="csl-entry">Book Two</div>+ <div class="csl-entry">Book Three</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author-one">+ <names variable="author">+ <name name-as-sort-order="first" sort-separator=" "/>+ <substitute>+ <names variable="editor" />+ </substitute>+ </names>+ </macro>+ <macro name="author-count">+ <names variable="author">+ <name form="count" />+ <substitute>+ <names variable="editor" />+ </substitute>+ </names>+ </macro>+ <macro name="theyear">+ <date variable="issued">+ <date-part name="year" />+ </date>+ </macro>+ <citation>+ <layout>+ <text value="Ignore me" />+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key macro="author-one" names-min="1" names-use-first="1" />+ <key macro="author-count" names-min="3" names-use-first="3" />+ <key macro="theyear" />+ </sort>+ <layout>+ <text variable="title" />+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "item-1",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book One",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Doe",+ "given": "Jake"+ },+ {+ "family": "Jones",+ "given": "Robert"+ }+ ],+ "id": "item-2",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book Three",+ "type": "book"+ },+ {+ "editor": [+ {+ "family": "Doe",+ "given": "John"+ },+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "item-3",+ "issued": {+ "date-parts": [+ [+ "2000"+ ]+ ]+ },+ "title": "Book Two",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_OmittedBibRefMixedNumericStyle.txt view
@@ -0,0 +1,123 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">1. Anderson, Book One</div>+ <div class="csl-entry">2. [CSL STYLE ERROR: reference with no printed form.]</div>+ <div class="csl-entry">3. Crane, Book Two</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name form="short" />+ </names>+ </macro>+ <citation>+ <sort>+ <key variable="citation-number"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <choose>+ <if type="personal_communication">+ <group delimiter=", ">+ <text macro="author" />+ <text variable="title"/>+ </group>+ </if>+ <else>+ <text variable="citation-number"/>+ </else>+ </choose>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <choose>+ <if match="none" type="personal_communication">+ <group delimiter=". ">+ <text variable="citation-number"/>+ <group delimiter=", ">+ <text macro="author" />+ <text variable="title"/>+ </group>+ </group>+ </if>+ </choose>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Anderson",+ "given": "Andrew"+ }+ ],+ "id": "ITEM-1",+ "title": "Book One",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Brown",+ "given": "Burt"+ }+ ],+ "id": "ITEM-2",+ "title": "Letter One",+ "type": "personal_communication"+ },+ {+ "author": [+ {+ "family": "Crane",+ "given": "Clive"+ }+ ],+ "id": "ITEM-3",+ "title": "Book Two",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_OmittedBibRefNonNumericStyle.txt view
@@ -0,0 +1,114 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">Anderson, Book One</div>+ <div class="csl-entry">Crane, Book Two</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name form="short" />+ </names>+ </macro>+ <citation>+ <sort>+ <key variable="citation-number"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <text macro="author" />+ <text variable="title"/>+ </group>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <choose>+ <if match="none" type="personal_communication">+ <group delimiter=". ">+ <group delimiter=", ">+ <text macro="author" />+ <text variable="title"/>+ </group>+ </group>+ </if>+ </choose>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Anderson",+ "given": "Andrew"+ }+ ],+ "id": "ITEM-1",+ "title": "Book One",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Brown",+ "given": "Burt"+ }+ ],+ "id": "ITEM-2",+ "title": "Letter One",+ "type": "personal_communication"+ },+ {+ "author": [+ {+ "family": "Crane",+ "given": "Clive"+ }+ ],+ "id": "ITEM-3",+ "title": "Book Two",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_Quotes.txt view
@@ -0,0 +1,90 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">Simple title, here A</div>+ <div class="csl-entry">“Simple title here B”</div>+ <div class="csl-entry">Simple “title” here C</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="title">+ <choose>+ <if type="article-journal">+ <text variable="title" quotes="true"/>+ </if>+ <else>+ <text variable="title"/>+ </else>+ </choose>+ </macro>+ <citation>+ <layout delimiter="; ">+ <text macro="title"/>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key macro="title"/>+ </sort>+ <layout>+ <text macro="title"/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Simple 'title' here C",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "title": "Simple title, here A",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "title": "Simple title here B",+ "type": "article-journal"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_RangeUnaffected.txt view
@@ -0,0 +1,341 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+>>[0] <sup>1</sup>+>>[1] <sup>1–3</sup>+<<===== RESULT =====<<+++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "CITATION-1",+ "citationItems": [+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-1"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "CITATION-2",+ "citationItems": [+ {+ "id": "ITEM-1"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ [+ [+ "CITATION-1",+ 2+ ]+ ]+ ]+]+<<===== CITATIONS =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" default-locale="en-US" page-range-format="expanded">+ <info>+ <title>American Medical Association</title>+ <title-short>AMA</title-short>+ <id>http://www.zotero.org/styles/american-medical-association</id>+ <link href="http://www.zotero.org/styles/american-medical-association" rel="self"/>+ <link href="http://westlibrary.txwes.edu/sites/default/files/pdf/ama_citation_style.pdf" rel="documentation"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Christian Pietsch</name>+ <uri>http://purl.org/net/pietsch</uri>+ </contributor>+ <category citation-format="numeric"/>+ <category field="medicine"/>+ <summary>The American Medical Association style as used in JAMA.</summary>+ <updated>2012-09-30T23:10:36+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale xml:lang="en">+ <terms>+ <term name="page-range-delimiter">-</term>+ </terms>+ </locale>+ <macro name="editor">+ <names variable="editor">+ <name name-as-sort-order="all" sort-separator=" " initialize-with="" delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", "/>+ </names>+ </macro>+ <macro name="author">+ <group suffix=".">+ <names variable="author">+ <name name-as-sort-order="all" sort-separator=" " initialize-with="" delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", "/>+ <substitute>+ <names variable="editor"/>+ <text macro="title"/>+ </substitute>+ </names>+ </group>+ </macro>+ <macro name="access">+ <choose>+ <if type="article-newspaper" match="none">+ <choose>+ <if variable="DOI">+ <text value="doi:"/>+ <text variable="DOI"/>+ </if>+ <else-if variable="URL">+ <group delimiter=". ">+ <text variable="URL"/>+ <choose>+ <if type="webpage">+ <date variable="issued" prefix="Published " form="text"/>+ </if>+ </choose>+ <group>+ <text term="accessed" text-case="capitalize-first" suffix=" "/>+ <date variable="accessed">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </group>+ </group>+ </else-if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <text variable="title" font-style="italic" text-case="title"/>+ </if>+ <else>+ <text variable="title"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <citation collapse="citation-number">+ <sort>+ <key variable="citation-number"/>+ </sort>+ <layout delimiter="," vertical-align="sup">+ <text variable="citation-number"/>+ <group prefix="(" suffix=")">+ <label variable="locator" form="short" strip-periods="true"/>+ <text variable="locator"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="false" et-al-min="7" et-al-use-first="3" second-field-align="flush">+ <layout>+ <text variable="citation-number" suffix=". "/>+ <text macro="author"/>+ <text macro="title" prefix=" " suffix="."/>+ <choose>+ <if type="bill book graphic legislation motion_picture report song" match="any">+ <group suffix="." prefix=" " delimiter=" ">+ <group delimiter=" ">+ <text term="volume" form="short" text-case="capitalize-first" strip-periods="true"/>+ <text variable="volume" suffix="."/>+ </group>+ <text macro="edition"/>+ <text macro="editor" prefix="(" suffix=")"/>+ </group>+ <text macro="publisher" prefix=" "/>+ <group suffix="." prefix="; ">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="page" prefix=":"/>+ </group>+ </if>+ <else-if type="chapter paper-conference entry-dictionary entry-encyclopedia" match="any">+ <group prefix=" " delimiter=" ">+ <text term="in" text-case="capitalize-first" suffix=":"/>+ <text macro="editor"/>+ <text variable="container-title" font-style="italic" suffix="." text-case="title"/>+ <group delimiter=" ">+ <text term="volume" form="short" text-case="capitalize-first" strip-periods="true"/>+ <text variable="volume" suffix="."/>+ </group>+ <text macro="edition"/>+ <text variable="collection-title" suffix="."/>+ <group suffix=".">+ <text macro="publisher"/>+ <group suffix="." prefix="; ">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="page" prefix=":"/>+ </group>+ </group>+ </group>+ </else-if>+ <else-if type="article-newspaper">+ <text variable="container-title" font-style="italic" prefix=" " suffix=". "/>+ <choose>+ <if variable="URL">+ <group delimiter=". " suffix=".">+ <text variable="URL"/>+ <group prefix="Published ">+ <date variable="issued">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </group>+ <group>+ <text term="accessed" text-case="capitalize-first" suffix=" "/>+ <date variable="accessed">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </group>+ </group>+ </if>+ <else>+ <group delimiter=":" suffix=".">+ <group>+ <date variable="issued">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </group>+ <text variable="page"/>+ </group>+ </else>+ </choose>+ </else-if>+ <else-if type="legal_case">+ <group suffix="," prefix=" " delimiter=" ">+ <text macro="editor" prefix="(" suffix=")"/>+ </group>+ <group prefix=" " delimiter=" ">+ <text variable="container-title"/>+ <text variable="volume"/>+ </group>+ <text variable="page" prefix=", " suffix=" "/>+ <group prefix="(" suffix=")." delimiter=" ">+ <text variable="authority"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ <else-if type="webpage">+ <text variable="container-title" prefix=" " suffix="."/>+ </else-if>+ <else>+ <text macro="editor" prefix=" " suffix="."/>+ <group prefix=" " suffix=".">+ <text variable="container-title" font-style="italic" form="short" strip-periods="true" suffix="."/>+ <group delimiter=";" prefix=" ">+ <choose>+ <if variable="issue volume" match="any">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <date variable="issued">+ <date-part name="month" suffix=" "/>+ <date-part name="year"/>+ </date>+ </else>+ </choose>+ <group>+ <text variable="volume"/>+ <text variable="issue" prefix="(" suffix=")"/>+ </group>+ </group>+ <text variable="page" prefix=":"/>+ </group>+ </else>+ </choose>+ <text prefix=" " macro="access" suffix="."/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "type": "book",+ "title": "Title A"+ }, + {+ "id": "ITEM-2", + "type": "book",+ "title": "Title B"+ },+ {+ "id": "ITEM-3", + "type": "book",+ "title": "Title C"+ },+ {+ "id": "ITEM-4", + "type": "book",+ "title": "Title D"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_SeparateAuthorsAndOthers.txt view
@@ -0,0 +1,187 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Doe, John. <i>Hello 4</i>.</div>+ <div class="csl-entry">--- ed. <i>Hello 1</i>.</div>+ <div class="csl-entry">Doe, John Barbitol. <i>Hello 2</i>.</div>+ <div class="csl-entry">Doe, John Egbert. <i>Hello 3</i>.</div>+</div>+<<===== RESULT =====<<+++mla-x.csl+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="in-text"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="editor-translator">+ <names variable="editor translator" delimiter=". ">+ <label form="verb-short" text-case="capitalize-first" suffix=" "/>+ <name and="symbol" delimiter=", "/>+ </names>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=" " suffix="." strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="non-author">+ <names variable="editor">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=" " suffix="." strip-periods="true"/>+ <substitute>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="title">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else>+ <text variable="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" disambiguate-add-names="true" disambiguate-add-givenname="true">+ <layout prefix="(" suffix=")" delimiter="; ">+ <text value="BOGUS"/>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="4" et-al-use-first="1" line-spacing="2" subsequent-author-substitute="---">+ <sort>+ <key macro="author"/>+ <key macro="non-author" sort="descending"/>+ <key variable="title"/>+ </sort>+ <layout>+ <text macro="author" suffix="."/>+ <text macro="title" prefix=" " suffix="."/>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text macro="editor-translator" prefix=" " suffix="."/>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <group>+ <text variable="container-title" font-style="italic" prefix=" " suffix="."/>+ <text macro="editor-translator" prefix=" " suffix="."/>+ </group>+ <text variable="page" prefix=" " suffix="."/>+ </else-if>+ <else>+ <group prefix=" " suffix="." delimiter=": ">+ <group delimiter=" ">+ <text macro="editor-translator" suffix="."/>+ <text variable="container-title" font-style="italic"/>+ <choose>+ <if type="article-journal">+ <group delimiter=" ">+ <group delimiter=".">+ <text variable="volume"/>+ <text variable="issue"/>+ </group>+ <date variable="issued" prefix="(" suffix=")">+ <date-part name="year"/>+ </date>+ </group>+ </if>+ <else>+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" form="short" suffix=" "/>+ <date-part name="year"/>+ </date>+ </else>+ </choose>+ </group>+ <text variable="page"/>+ </group>+ </else>+ </choose>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<++++++>>===== INPUT =====>>+[+ {+ "editor": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "title": "Hello 1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-4",+ "title": "Hello 4",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John Barbitol"+ }+ ],+ "id": "ITEM-2",+ "title": "Hello 2",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John Egbert"+ }+ ],+ "id": "ITEM-3",+ "title": "Hello 3",+ "type": "book"+ }+]+<<===== INPUT =====<<++++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_StatusFieldAscending.txt view
@@ -0,0 +1,68 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Book B</div>+ <div class="csl-entry">Book A</div>+ <div class="csl-entry">Book C</div>+</div>+<<===== RESULT =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter=", ">+ <text variable="title"/>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key variable="status" sort="ascending"/>+ <key variable="title"/>+ </sort>+ <layout>+ <text variable="title"/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "Book A",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "status": "forthcoming",+ "title": "Book B",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "title": "Book C",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_StatusFieldDescending.txt view
@@ -0,0 +1,68 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Book B</div>+ <div class="csl-entry">Book A</div>+ <div class="csl-entry">Book C</div>+</div>+<<===== RESULT =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter=", ">+ <text variable="title"/>+ </layout>+ </citation>+ <bibliography>+ <sort>+ <key variable="status" sort="descending"/>+ <key variable="title"/>+ </sort>+ <layout>+ <text variable="title"/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "Book A",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "status": "forthcoming",+ "title": "Book B",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "title": "Book C",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_StripMarkup.txt view
@@ -0,0 +1,67 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Doe, Roe+<<===== RESULT =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <sort>+ <key variable="title"/>+ <key variable="author"/>+ </sort>+ <layout delimiter=", ">+ <names variable="author">+ <name form="short"/>+ </names>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "title": "A Full Anonymous Life",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane"+ }+ ],+ "id": "ITEM-2",+ "title": "A Full <i>Anonymous</i> Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_SubstituteTitle.txt view
@@ -0,0 +1,467 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Brooker, C. (2011, July 24). The news coverage of the Norway mass-killings was fact-free conjecture. <i>The Guardian</i>. London. Retrieved from http://www.guardian.co.uk/commentisfree/2011/jul/24/charlie-brooker-norway-mass-killings</div>+ <div class="csl-entry">Brooker, C. (2011, July 31). Let’s think outside the box here: maybe blue-sky thinking is nonsense. <i>The Guardian</i>. London. Retrieved from http://www.guardian.co.uk/commentisfree/2011/jul/31/blue-sky-thinking</div>+</div>+<<===== RESULT =====<<++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only">+ <info>+ <title>American Psychological Association 6th Edition</title>+ <id>http://www.zotero.org/styles/apa</id>+ <link href="http://www.zotero.org/styles/apa" rel="self"/>+ <link href="http://owl.english.purdue.edu/owl/resource/560/01/" rel="documentation"/>+ <author>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </author>+ <contributor>+ <name>Bruce D'Arcus</name>+ </contributor>+ <contributor>+ <name>Curtis M. Humphrey</name>+ </contributor>+ <contributor>+ <name>Richard Karnesky</name>+ <email>karnesky+zotero@gmail.com</email>+ <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>+ </contributor>+ <contributor>+ <name>Sebastian Karcher</name>+ </contributor>+ <category field="psychology"/>+ <category field="generic-base"/>+ <category citation-format="author-date"/>+ <updated>2010-01-27T20:08:03+00:00</updated>+ <rights>This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>+ </info>+ <locale xml:lang="en">+ <terms>+ <term name="translator" form="short">+ <single>trans.</single>+ <multiple>trans.</multiple>+ </term>+ </terms>+ </locale>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text term="in" text-case="capitalize-first" suffix=" "/>+ <names variable="editor" delimiter=", " suffix=", ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=" (" text-case="capitalize-first" suffix=")"/>+ <substitute>+ <names variable="translator"/>+ </substitute>+ </names>+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if type="chapter paper-conference" match="none">+ <names variable="translator" delimiter=", " prefix=" (" suffix=")">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="capitalize-first" suffix=""/>+ <substitute>+ <names variable="editor"/>+ </substitute> + </names>+ </if>+ </choose>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=" (" suffix=".)" text-case="capitalize-first" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <choose>+ <if type="report">+ <text variable="publisher"/>+ <text macro="title"/>+ </if>+ <else>+ <text macro="title"/>+ </else>+ </choose>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="symbol" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <choose>+ <if type="report">+ <text variable="publisher"/>+ <text variable="title" form="short" font-style="italic"/>+ </if>+ <else-if type="bill book graphic legal_case motion_picture song" match="any">+ <text variable="title" form="short" font-style="italic"/>+ </else-if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <choose>+ <if type="thesis">+ <choose>+ <if variable="archive" match="any">+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="archive" suffix="."/>+ <text variable="archive_location" prefix=" (" suffix=")"/>+ </group>+ </if>+ <else>+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </else>+ </choose>+ </if>+ <else>+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix="doi:"/>+ </if>+ <else>+ <choose>+ <if type="webpage">+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <date variable="accessed" suffix=", ">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ <group>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </group>+ </if>+ <else>+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </else>+ </choose>+ </else>+ </choose>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if type="report thesis" match="any">+ <text variable="title" font-style="italic"/>+ <group prefix=" (" suffix=")">+ <text variable="genre"/>+ <text variable="number" prefix=" No. "/>+ </group>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song manuscript speech" match="any">+ <text variable="title" font-style="italic"/>+ </else-if>+ <else>+ <text variable="title"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <choose>+ <if type="report" match="any">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </if>+ <else-if type="thesis" match="any">+ <group delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </else-if>+ <else>+ <choose>+ <if variable="event" match="none">+ <text variable="genre" suffix=", "/>+ </if>+ </choose>+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="event">+ <choose>+ <if variable="event">+ <choose>+ <if variable="genre" match="none">+ <text term="presented at" text-case="capitalize-first" suffix=" "/>+ <text variable="event"/>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="genre" text-case="capitalize-first"/>+ <text term="presented at"/>+ <text variable="event"/>+ </group>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issued">+ <choose>+ <if variable="issued">+ <group prefix=" (" suffix=").">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song article-journal chapter paper-conference" match="none">+ <date variable="issued">+ <date-part prefix=", " name="month"/>+ <date-part prefix=" " name="day"/>+ </date>+ </if>+ </choose>+ </group>+ </if>+ <else>+ <group prefix=" (" suffix=").">+ <text term="no date" form="short"/>+ <text variable="year-suffix" prefix="-"/>+ </group> + </else>+ </choose>+ </macro>+ <macro name="issued-sort-key">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song article-journal chapter paper-conference" match="none">+ <date variable="issued">+ <date-part name="year"/>+ <date-part prefix=", " name="month"/>+ <date-part prefix=" " name="day"/>+ </date>+ </if>+ <else>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </else>+ </choose>+ </macro>+ <macro name="issued-year">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="year-suffix"/>+ </if>+ <else>+ <text term="no date" form="short"/>+ <text variable="year-suffix" prefix="-"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal article-magazine" match="any">+ <group prefix=", " delimiter=", ">+ <group>+ <text variable="volume" font-style="italic"/>+ <text variable="issue" prefix="(" suffix=")"/>+ </group>+ <text variable="page"/>+ </group>+ </if>+ <else-if type="article-newspaper">+ <group delimiter=" " prefix=", ">+ <label variable="page" form="short"/>+ <text variable="page"/>+ </group>+ </else-if>+ <else-if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <group prefix=" (" suffix=")" delimiter=", ">+ <text macro="edition"/>+ <group>+ <text term="volume" form="short" plural="true" text-case="capitalize-first" suffix=". " strip-periods="true"/>+ <number variable="number-of-volumes" form="numeric" prefix="1-"/>+ </group>+ <group>+ <text term="volume" form="short" text-case="capitalize-first" suffix=". " strip-periods="true"/>+ <number variable="volume" form="numeric"/>+ </group>+ <group>+ <label variable="page" form="short" suffix=" "/>+ <text variable="page"/>+ </group>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="citation-locator">+ <group>+ <label variable="locator" form="short"/>+ <text variable="locator" prefix=" "/>+ </group>+ </macro>+ <citation et-al-min="6" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" collapse="year" givenname-disambiguation-rule="primary-name">+ <sort>+ <key macro="author"/>+ <key macro="issued-sort-key"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter=", ">+ <group delimiter=", ">+ <text macro="author-short"/>+ <text macro="issued-year"/>+ <text macro="citation-locator"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="8" et-al-use-first="7" entry-spacing="0" line-spacing="2">+ <sort>+ <key macro="author"/>+ <key macro="issued-sort-key" sort="ascending"/>+ </sort>+ <layout>+ <group suffix=".">+ <text macro="author" suffix="."/>+ <text macro="issued"/>+ <group delimiter=". ">+ <text macro="title" prefix=" "/>+ <group>+ <text macro="container-contributors"/>+ <text macro="secondary-contributors"/>+ <group delimiter=", ">+ <text variable="container-title" font-style="italic"/>+ <text variable="collection-title"/>+ </group>+ </group>+ </group>+ <text macro="locators"/>+ <group delimiter=", " prefix=". ">+ <text macro="event"/>+ <text macro="publisher"/>+ </group>+ </group>+ <text macro="access" prefix=" "/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<++>>===== INPUT =====>>+[+ {+ "URL": "http://www.guardian.co.uk/commentisfree/2011/jul/31/blue-sky-thinking",+ "accessed": {+ "date-parts": [+ [+ 2011,+ 7,+ 31+ ]+ ]+ },+ "author": [+ {+ "family": "Brooker",+ "given": "Charlie"+ }+ ],+ "container-title": "The Guardian",+ "event-place": "London",+ "id": 67,+ "issued": {+ "date-parts": [+ [+ 2011,+ 7,+ 31+ ]+ ]+ },+ "publisher-place": "London",+ "title": "Let's think outside the box here: maybe blue-sky thinking is nonsense",+ "type": "article-newspaper"+ },+ {+ "URL": "http://www.guardian.co.uk/commentisfree/2011/jul/24/charlie-brooker-norway-mass-killings",+ "accessed": {+ "date-parts": [+ [+ 2011,+ 7,+ 31+ ]+ ]+ },+ "author": [+ {+ "family": "Brooker",+ "given": "Charlie"+ }+ ],+ "container-title": "The Guardian",+ "event-place": "London",+ "id": 66,+ "issued": {+ "date-parts": [+ [+ "2011",+ 7,+ 24+ ]+ ]+ },+ "publisher-place": "London",+ "title": "The news coverage of the Norway mass-killings was fact-free conjecture",+ "type": "article-newspaper"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_TestInheritance.txt view
@@ -0,0 +1,78 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Aalto; Bottom+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name/>+ </names>+ </macro>+ <citation name-form="short">+ <sort>+ <key macro="author" />+ </sort>+ <layout delimiter="; ">+ <text macro="author" />+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Aalto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Bottom",+ "given": "Brad"+ }+ ],+ "id": "ITEM-2",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_VariousNameMacros1.txt view
@@ -0,0 +1,369 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Doe Jane B. & Doe John A. (2009). Title 1. <i>Test</i> <b>1,</b> 1–2.</div>+ <div class="csl-entry">Doe John A. & Bloggs Joe A. (2011). Title 3. <i>Test</i> <b>3,</b> 3–4.</div>+ <div class="csl-entry">Doe John A. & Smith John A. (2010). Title 2. <i>Test</i> <b>2,</b> 1–2.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" page-range-format="expanded">+ <info>+ <title>The Journal of Physiology (dev)</title>+ <id>http://www.zotero.org/styles/journal-of-physiology</id>+ <link href="http://www.zotero.org/styles/journal-of-physiology" rel="self"/>+ <issn>0022-3751</issn> <!--Print-->+ <issn>1469-7793</issn> <!--Online-->+ <author>+ <name>Omar Mian</name>+ <email>o.mian@ucl.ac.uk</email>+ </author>+ <category citation-format="author-date"/>+ <category field="biology"/>+ <category field="medicine"/>+ <updated>2011-06-04T15:00:00+00:00</updated>+ <summary>Style for The Journal of Physiology</summary>+ <link href="http://jp.physoc.org/site/misc/author.xhtml" rel="documentation"/>+ <link href="http://www.zotero.org/styles/journal-neuroscience" rel="template"/>+ <rights>This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>+ </info>+ <locale>+ <terms>+ <term name="edition" form="short">edn.</term>+ </terms>+ </locale>+ <macro name="editor">+ <names variable="editor">+ <label form="verb-short" text-case="lowercase" suffix=". "/>+ <name and="symbol" delimiter=", " name-as-sort-order="all" initialize-with="" delimiter-precedes-last="never"/>+ </names>+ </macro>+ <macro name="anon">+ <text term="anonymous" form="short" text-case="capitalize-first" strip-periods="true"/>+ </macro>+ <macro name="author-bib">+ <names variable="author">+ <name and="symbol" name-as-sort-order="all" sort-separator=" " delimiter=", " delimiter-precedes-last="never"/>+ <label form="short" prefix=" " suffix="." text-case="lowercase" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="bib-sort-1">+ <names variable="author">+ <name name-as-sort-order="all"/>+ </names>+ </macro>+ <macro name="bib-sort-2"> + <names variable="author">+ <name name-as-sort-order="all" initialize-with=""/>+ </names>+ </macro>+ <macro name="bib-sort-3"> + <names variable="author">+ <name name-as-sort-order="all" form="short"/>+ </names>+ </macro>+ <macro name="author-cit">+ <names variable="author">+ <name form="short" and="symbol" delimiter=" " initialize-with=""/>+ <et-al font-style="italic" prefix=" "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <choose>+ <if type="article-journal" variable="page" match="all">+ <!--No need to display access URL if journal article has page numbers-->+ </if>+ <else-if type="article-journal" variable="DOI" match="all">+ <!--No need to display access URL if journal article has doi-->+ </else-if>+ <else-if variable="URL">+ <text value="Available at:" suffix=" "/>+ <text variable="URL"/>+ <group prefix=" [" suffix="]">+ <text term="accessed" text-case="capitalize-first" suffix=" "/>+ <date variable="accessed">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="vol-page">+ <choose>+ <if variable="page">+ <group prefix=" " suffix=" " font-weight="bold">+ <!--making group bold so that comma after volume is also bold-->+ <text variable="volume" suffix=","/>+ </group>+ <text variable="page"/>+ </if>+ <else>+ <text variable="DOI" prefix="; DOI: "/>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else>+ <text variable="title"/>+ </else>+ </choose>+ </macro>+ <macro name="pages-chapter-conf">+ <group prefix=", ">+ <label variable="page" form="short"/>+ <text variable="page" prefix=" "/>+ </group>+ </macro>+ <macro name="publisher">+ <group delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </macro>+ <macro name="thesis-title">+ <group prefix=" " delimiter="" suffix=".">+ <text variable="title" font-style="italic"/>+ <group prefix=" (" suffix=")" delimiter=" ">+ <choose>+ <if variable="genre">+ <text variable="genre"/>+ </if>+ </choose>+ <text value="thesis"/>+ </group>+ </group>+ </macro>+ <macro name="paper-conf">+ <text macro="title" prefix=" " suffix="."/>+ <choose>+ <if variable="container-title">+ <group prefix=" " suffix=".">+ <text term="in" text-case="capitalize-first"/>+ <text variable="container-title" font-style="italic" prefix=" "/>+ <text macro="pages-chapter-conf"/>+ </group>+ <text macro="publisher" prefix=" "/>+ </if>+ <else>+ <text variable="event" font-style="italic" prefix=" "/>+ <text macro="publisher" prefix=". "/>+ </else>+ </choose>+ </macro>+ <macro name="year-date">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="year-suffix" font-style="italic"/>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="year-sort">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="year-suffix" font-style="italic"/>+ </if>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" disambiguate-add-year-suffix="true" collapse="year">+ <sort>+ <key variable="issued"/>+ <key variable="author"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=" ">+ <group delimiter=", ">+ <text macro="author-cit"/>+ <text macro="year-date"/>+ </group>+ <text variable="locator" prefix="p."/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="20" et-al-use-first="1">+ <sort>+ <key macro="bib-sort-1"/>+ <key macro="year-date"/>+ </sort>+ <layout suffix=".">+ <group delimiter=" " suffix=".">+ <text macro="author-bib"/>+ <text macro="year-date" prefix="(" suffix=")"/>+ </group>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <group prefix=" " delimiter="" suffix=".">+ <text macro="title"/>+ <text macro="edition" prefix=", "/>+ <text macro="editor"/>+ </group>+ <text prefix=" " suffix="." macro="publisher"/>+ </if>+ <else-if type="thesis">+ <text macro="thesis-title"/>+ <text prefix=" " suffix="." macro="publisher"/>+ </else-if>+ <else-if type="chapter">+ <text macro="title" prefix=" " suffix="."/>+ <group prefix=" " suffix=".">+ <text term="in" text-case="capitalize-first"/>+ <text variable="container-title" font-style="italic" prefix=" "/>+ <text macro="edition" prefix=", "/>+ <text macro="editor" prefix=", "/>+ <text variable="collection-title" prefix=", "/>+ <text macro="pages-chapter-conf"/>+ </group>+ <group prefix=" ">+ <text macro="publisher" prefix=" "/>+ </group>+ </else-if>+ <else-if type="paper-conference">+ <text macro="paper-conf"/>+ </else-if>+ <else>+ <group suffix="." delimiter=" " prefix=" ">+ <text macro="title"/>+ <text macro="editor"/>+ </group>+ <group prefix=" ">+ <text variable="container-title" font-style="italic" form="short" strip-periods="true"/>+ <text macro="vol-page"/>+ </group>+ </else>+ </choose>+ <text prefix=". " macro="access" suffix=""/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "Jane B."+ },+ {+ "family": "Doe",+ "given": "John A."+ }+ ],+ "container-title": "Test",+ "id": 19,+ "issued": {+ "date-parts": [+ [+ 2009+ ]+ ]+ },+ "page": "1-2",+ "title": "Title 1",+ "type": "article-journal",+ "volume": "1"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John A."+ },+ {+ "family": "Smith",+ "given": "John A."+ }+ ],+ "container-title": "Test",+ "id": 25,+ "issued": {+ "date-parts": [+ [+ 2010+ ]+ ]+ },+ "page": "1-2",+ "title": "Title 2",+ "type": "article-journal",+ "volume": "2"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John A."+ },+ {+ "family": "Bloggs",+ "given": "Joe A."+ }+ ],+ "container-title": "Test",+ "id": 27,+ "issued": {+ "date-parts": [+ [+ 2011+ ]+ ]+ },+ "page": "3-4",+ "title": "Title 3",+ "type": "article-journal",+ "volume": "3"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_VariousNameMacros2.txt view
@@ -0,0 +1,369 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Doe John A. & Bloggs Joe A. (2011). Title 3. <i>Test</i> <b>3,</b> 3–4.</div>+ <div class="csl-entry">Doe John A. & Smith John A. (2010). Title 2. <i>Test</i> <b>2,</b> 1–2.</div>+ <div class="csl-entry">Doe Jane B. & Doe John A. (2009). Title 1. <i>Test</i> <b>1,</b> 1–2.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" page-range-format="expanded">+ <info>+ <title>The Journal of Physiology (dev)</title>+ <id>http://www.zotero.org/styles/journal-of-physiology</id>+ <link href="http://www.zotero.org/styles/journal-of-physiology" rel="self"/>+ <issn>0022-3751</issn> <!--Print-->+ <issn>1469-7793</issn> <!--Online-->+ <author>+ <name>Omar Mian</name>+ <email>o.mian@ucl.ac.uk</email>+ </author>+ <category citation-format="author-date"/>+ <category field="biology"/>+ <category field="medicine"/>+ <updated>2011-06-04T15:00:00+00:00</updated>+ <summary>Style for The Journal of Physiology</summary>+ <link href="http://jp.physoc.org/site/misc/author.xhtml" rel="documentation"/>+ <link href="http://www.zotero.org/styles/journal-neuroscience" rel="template"/>+ <rights>This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>+ </info>+ <locale>+ <terms>+ <term name="edition" form="short">edn.</term>+ </terms>+ </locale>+ <macro name="editor">+ <names variable="editor">+ <label form="verb-short" text-case="lowercase" suffix=". "/>+ <name and="symbol" delimiter=", " name-as-sort-order="all" initialize-with="" delimiter-precedes-last="never"/>+ </names>+ </macro>+ <macro name="anon">+ <text term="anonymous" form="short" text-case="capitalize-first" strip-periods="true"/>+ </macro>+ <macro name="author-bib">+ <names variable="author">+ <name and="symbol" name-as-sort-order="all" sort-separator=" " delimiter=", " delimiter-precedes-last="never"/>+ <label form="short" prefix=" " suffix="." text-case="lowercase" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="bib-sort-1">+ <names variable="author">+ <name name-as-sort-order="all"/>+ </names>+ </macro>+ <macro name="bib-sort-2"> + <names variable="author">+ <name name-as-sort-order="all" initialize-with=""/>+ </names>+ </macro>+ <macro name="bib-sort-3"> + <names variable="author">+ <name name-as-sort-order="all" form="short"/>+ </names>+ </macro>+ <macro name="author-cit">+ <names variable="author">+ <name form="short" and="symbol" delimiter=" " initialize-with=""/>+ <et-al font-style="italic" prefix=" "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <choose>+ <if type="article-journal" variable="page" match="all">+ <!--No need to display access URL if journal article has page numbers-->+ </if>+ <else-if type="article-journal" variable="DOI" match="all">+ <!--No need to display access URL if journal article has doi-->+ </else-if>+ <else-if variable="URL">+ <text value="Available at:" suffix=" "/>+ <text variable="URL"/>+ <group prefix=" [" suffix="]">+ <text term="accessed" text-case="capitalize-first" suffix=" "/>+ <date variable="accessed">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="vol-page">+ <choose>+ <if variable="page">+ <group prefix=" " suffix=" " font-weight="bold">+ <!--making group bold so that comma after volume is also bold-->+ <text variable="volume" suffix=","/>+ </group>+ <text variable="page"/>+ </if>+ <else>+ <text variable="DOI" prefix="; DOI: "/>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else>+ <text variable="title"/>+ </else>+ </choose>+ </macro>+ <macro name="pages-chapter-conf">+ <group prefix=", ">+ <label variable="page" form="short"/>+ <text variable="page" prefix=" "/>+ </group>+ </macro>+ <macro name="publisher">+ <group delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </macro>+ <macro name="thesis-title">+ <group prefix=" " delimiter="" suffix=".">+ <text variable="title" font-style="italic"/>+ <group prefix=" (" suffix=")" delimiter=" ">+ <choose>+ <if variable="genre">+ <text variable="genre"/>+ </if>+ </choose>+ <text value="thesis"/>+ </group>+ </group>+ </macro>+ <macro name="paper-conf">+ <text macro="title" prefix=" " suffix="."/>+ <choose>+ <if variable="container-title">+ <group prefix=" " suffix=".">+ <text term="in" text-case="capitalize-first"/>+ <text variable="container-title" font-style="italic" prefix=" "/>+ <text macro="pages-chapter-conf"/>+ </group>+ <text macro="publisher" prefix=" "/>+ </if>+ <else>+ <text variable="event" font-style="italic" prefix=" "/>+ <text macro="publisher" prefix=". "/>+ </else>+ </choose>+ </macro>+ <macro name="year-date">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="year-suffix" font-style="italic"/>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="year-sort">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="year-suffix" font-style="italic"/>+ </if>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" disambiguate-add-year-suffix="true" collapse="year">+ <sort>+ <key variable="issued"/>+ <key variable="author"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=" ">+ <group delimiter=", ">+ <text macro="author-cit"/>+ <text macro="year-date"/>+ </group>+ <text variable="locator" prefix="p."/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="20" et-al-use-first="1">+ <sort>+ <key macro="bib-sort-2"/>+ <key macro="year-date"/>+ </sort>+ <layout suffix=".">+ <group delimiter=" " suffix=".">+ <text macro="author-bib"/>+ <text macro="year-date" prefix="(" suffix=")"/>+ </group>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <group prefix=" " delimiter="" suffix=".">+ <text macro="title"/>+ <text macro="edition" prefix=", "/>+ <text macro="editor"/>+ </group>+ <text prefix=" " suffix="." macro="publisher"/>+ </if>+ <else-if type="thesis">+ <text macro="thesis-title"/>+ <text prefix=" " suffix="." macro="publisher"/>+ </else-if>+ <else-if type="chapter">+ <text macro="title" prefix=" " suffix="."/>+ <group prefix=" " suffix=".">+ <text term="in" text-case="capitalize-first"/>+ <text variable="container-title" font-style="italic" prefix=" "/>+ <text macro="edition" prefix=", "/>+ <text macro="editor" prefix=", "/>+ <text variable="collection-title" prefix=", "/>+ <text macro="pages-chapter-conf"/>+ </group>+ <group prefix=" ">+ <text macro="publisher" prefix=" "/>+ </group>+ </else-if>+ <else-if type="paper-conference">+ <text macro="paper-conf"/>+ </else-if>+ <else>+ <group suffix="." delimiter=" " prefix=" ">+ <text macro="title"/>+ <text macro="editor"/>+ </group>+ <group prefix=" ">+ <text variable="container-title" font-style="italic" form="short" strip-periods="true"/>+ <text macro="vol-page"/>+ </group>+ </else>+ </choose>+ <text prefix=". " macro="access" suffix=""/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "Jane B."+ },+ {+ "family": "Doe",+ "given": "John A."+ }+ ],+ "container-title": "Test",+ "id": 19,+ "issued": {+ "date-parts": [+ [+ 2009+ ]+ ]+ },+ "page": "1-2",+ "title": "Title 1",+ "type": "article-journal",+ "volume": "1"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John A."+ },+ {+ "family": "Smith",+ "given": "John A."+ }+ ],+ "container-title": "Test",+ "id": 25,+ "issued": {+ "date-parts": [+ [+ 2010+ ]+ ]+ },+ "page": "1-2",+ "title": "Title 2",+ "type": "article-journal",+ "volume": "2"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John A."+ },+ {+ "family": "Bloggs",+ "given": "Joe A."+ }+ ],+ "container-title": "Test",+ "id": 27,+ "issued": {+ "date-parts": [+ [+ 2011+ ]+ ]+ },+ "page": "3-4",+ "title": "Title 3",+ "type": "article-journal",+ "volume": "3"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_VariousNameMacros3.txt view
@@ -0,0 +1,370 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Doe John A. & Bloggs Joe A. (2011). Title 3. <i>Test</i> <b>3,</b> 3–4.</div>+ <div class="csl-entry">Doe Jane B. & Doe John A. (2009). Title 1. <i>Test</i> <b>1,</b> 1–2.</div>+ <div class="csl-entry">Doe John A. & Smith John A. (2010). Title 2. <i>Test</i> <b>2,</b> 1–2.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" page-range-format="expanded">+ <info>+ <title>The Journal of Physiology (dev)</title>+ <id>http://www.zotero.org/styles/journal-of-physiology</id>+ <link href="http://www.zotero.org/styles/journal-of-physiology" rel="self"/>+ <issn>0022-3751</issn> <!--Print-->+ <issn>1469-7793</issn> <!--Online-->+ <author>+ <name>Omar Mian</name>+ <email>o.mian@ucl.ac.uk</email>+ </author>+ <category citation-format="author-date"/>+ <category field="biology"/>+ <category field="medicine"/>+ <updated>2011-06-04T15:00:00+00:00</updated>+ <summary>Style for The Journal of Physiology</summary>+ <link href="http://jp.physoc.org/site/misc/author.xhtml" rel="documentation"/>+ <link href="http://www.zotero.org/styles/journal-neuroscience" rel="template"/>+ <rights>This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>+ </info>+ <locale>+ <terms>+ <term name="edition" form="short">edn.</term>+ </terms>+ </locale>+ <macro name="editor">+ <names variable="editor">+ <label form="verb-short" text-case="lowercase" suffix=". "/>+ <name and="symbol" delimiter=", " name-as-sort-order="all" initialize-with="" delimiter-precedes-last="never"/>+ </names>+ </macro>+ <macro name="anon">+ <text term="anonymous" form="short" text-case="capitalize-first" strip-periods="true"/>+ </macro>+ <macro name="author-bib">+ <names variable="author">+ <name and="symbol" name-as-sort-order="all" sort-separator=" " delimiter=", " delimiter-precedes-last="never"/>+ <label form="short" prefix=" " suffix="." text-case="lowercase" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="bib-sort-1">+ <names variable="author">+ <name name-as-sort-order="all"/>+ </names>+ </macro>+ <macro name="bib-sort-2"> + <names variable="author">+ <name name-as-sort-order="all" initialize-with=""/>+ </names>+ </macro>+ <macro name="bib-sort-3"> + <names variable="author">+ <name name-as-sort-order="all" form="short"/>+ </names>+ </macro>+ <macro name="author-cit">+ <names variable="author">+ <name form="short" and="symbol" delimiter=" " initialize-with=""/>+ <et-al font-style="italic" prefix=" "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="anon"/>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <choose>+ <if type="article-journal" variable="page" match="all">+ <!--No need to display access URL if journal article has page numbers-->+ </if>+ <else-if type="article-journal" variable="DOI" match="all">+ <!--No need to display access URL if journal article has doi-->+ </else-if>+ <else-if variable="URL">+ <text value="Available at:" suffix=" "/>+ <text variable="URL"/>+ <group prefix=" [" suffix="]">+ <text term="accessed" text-case="capitalize-first" suffix=" "/>+ <date variable="accessed">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="vol-page">+ <choose>+ <if variable="page">+ <group prefix=" " suffix=" " font-weight="bold">+ <!--making group bold so that comma after volume is also bold-->+ <text variable="volume" suffix=","/>+ </group>+ <text variable="page"/>+ </if>+ <else>+ <text variable="DOI" prefix="; DOI: "/>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else>+ <text variable="title"/>+ </else>+ </choose>+ </macro>+ <macro name="pages-chapter-conf">+ <group prefix=", ">+ <label variable="page" form="short"/>+ <text variable="page" prefix=" "/>+ </group>+ </macro>+ <macro name="publisher">+ <group delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </macro>+ <macro name="thesis-title">+ <group prefix=" " delimiter="" suffix=".">+ <text variable="title" font-style="italic"/>+ <group prefix=" (" suffix=")" delimiter=" ">+ <choose>+ <if variable="genre">+ <text variable="genre"/>+ </if>+ </choose>+ <text value="thesis"/>+ </group>+ </group>+ </macro>+ <macro name="paper-conf">+ <text macro="title" prefix=" " suffix="."/>+ <choose>+ <if variable="container-title">+ <group prefix=" " suffix=".">+ <text term="in" text-case="capitalize-first"/>+ <text variable="container-title" font-style="italic" prefix=" "/>+ <text macro="pages-chapter-conf"/>+ </group>+ <text macro="publisher" prefix=" "/>+ </if>+ <else>+ <text variable="event" font-style="italic" prefix=" "/>+ <text macro="publisher" prefix=". "/>+ </else>+ </choose>+ </macro>+ <macro name="year-date">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="year-suffix" font-style="italic"/>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="year-sort">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="year-suffix" font-style="italic"/>+ </if>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <citation et-al-min="3" et-al-use-first="1" disambiguate-add-year-suffix="true" collapse="year">+ <sort>+ <key variable="issued"/>+ <key variable="author"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=" ">+ <group delimiter=", ">+ <text macro="author-cit"/>+ <text macro="year-date"/>+ </group>+ <text variable="locator" prefix="p."/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="20" et-al-use-first="1">+ <sort>+ <key macro="bib-sort-3"/>+ <key macro="year-date"/>+ </sort>+ <layout suffix=".">+ <group delimiter=" " suffix=".">+ <text macro="author-bib"/>+ <text macro="year-date" prefix="(" suffix=")"/>+ </group>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <group prefix=" " delimiter="" suffix=".">+ <text macro="title"/>+ <text macro="edition" prefix=", "/>+ <text macro="editor"/>+ </group>+ <text prefix=" " suffix="." macro="publisher"/>+ </if>+ <else-if type="thesis">+ <text macro="thesis-title"/>+ <text prefix=" " suffix="." macro="publisher"/>+ </else-if>+ <else-if type="chapter">+ <text macro="title" prefix=" " suffix="."/>+ <group prefix=" " suffix=".">+ <text term="in" text-case="capitalize-first"/>+ <text variable="container-title" font-style="italic" prefix=" "/>+ <text macro="edition" prefix=", "/>+ <text macro="editor" prefix=", "/>+ <text variable="collection-title" prefix=", "/>+ <text macro="pages-chapter-conf"/>+ </group>+ <group prefix=" ">+ <text macro="publisher" prefix=" "/>+ </group>+ </else-if>+ <else-if type="paper-conference">+ <text macro="paper-conf"/>+ </else-if>+ <else>+ <group suffix="." delimiter=" " prefix=" ">+ <text macro="title"/>+ <text macro="editor"/>+ </group>+ <group prefix=" ">+ <text variable="container-title" font-style="italic" form="short" strip-periods="true"/>+ <text macro="vol-page"/>+ </group>+ </else>+ </choose>+ <text prefix=". " macro="access" suffix=""/>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "Jane B."+ },+ {+ "family": "Doe",+ "given": "John A."+ }+ ],+ "container-title": "Test",+ "id": 19,+ "issued": {+ "date-parts": [+ [+ 2009+ ]+ ]+ },+ "page": "1-2",+ "title": "Title 1",+ "type": "article-journal",+ "volume": "1"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John A."+ },+ {+ "family": "Smith",+ "given": "John A."+ }+ ],+ "container-title": "Test",+ "id": 25,+ "issued": {+ "date-parts": [+ [+ 2010+ ]+ ]+ },+ "page": "1-2",+ "title": "Title 2",+ "type": "article-journal",+ "volume": "2"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John A."+ },+ {+ "family": "Bloggs",+ "given": "Joe A."+ }+ ],+ "container-title": "Test",+ "id": 27,+ "issued": {+ "date-parts": [+ [+ 2011+ ]+ ]+ },+ "page": "3-4",+ "title": "Title 3",+ "type": "article-journal",+ "volume": "3"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sort_WithAndInOneEntry.txt view
@@ -0,0 +1,645 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+(Beck 1991; Beck and Katz 2001, 2011; Beck, Katz, and Tucker 1998; Beck, King, and Zeng 2000; Colaresi 2006; Colaresi, Rasler, and Thompson 2007; Colaresi and Thompson 2002; Gochman 1993; Gochman and Leng 1983; Gochman and Maoz 1984)+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "315",+ "label": "page"+ },+ {+ "id": "313",+ "label": "page"+ },+ {+ "id": "328",+ "label": "page"+ },+ {+ "id": "317",+ "label": "page"+ },+ {+ "id": "327",+ "label": "page"+ },+ {+ "id": "311",+ "label": "page"+ },+ {+ "id": "320",+ "label": "page"+ },+ {+ "id": "318",+ "label": "page"+ },+ {+ "id": "323",+ "label": "page"+ },+ {+ "id": "324",+ "label": "page"+ },+ {+ "id": "325",+ "label": "page"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only">+ <info>+ <title>American Political Science Association</title>+ <id>http://www.zotero.org/styles/apsa</id>+ <link href="http://www.zotero.org/styles/apsa" rel="self"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Sebastian Karcher</name>+ </contributor>+ <category citation-format="author-date"/>+ <category field="political_science"/>+ <updated>2010-07-26T02:21:30+00:00</updated>+ <summary>The American Political Science Association style.</summary>+ <link href="http://www.ipsonet.org/data/files/APSAStyleManual2006.pdf" rel="documentation"/>+ <rights>This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>+ </info>+ <macro name="editor">+ <names variable="editor" delimiter=", ">+ <label form="short" text-case="lowercase" suffix=". " strip-periods="true"/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", " suffix="." text-case="lowercase" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", " initialize-with=". " sort-separator=", "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <choose>+ <if type="legal_case" match="none">+ <choose>+ <if variable="URL">+ <group delimiter=" ">+ <text variable="URL"/>+ <group prefix="(" suffix=")">+ <text term="accessed" text-case="capitalize-first" suffix=" "/>+ <date variable="accessed">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ </group>+ </group>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else>+ <text variable="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="legal_case">+ <group prefix=" " delimiter=" ">+ <text variable="volume"/>+ <text variable="container-title"/>+ <text variable="page"/>+ </group>+ <text variable="authority" prefix=" (" suffix=")"/>+ </macro>+ <macro name="publisher">+ <choose>+ <if type="thesis" match="none">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ <text variable="genre" prefix=". "/>+ </if>+ <else>+ <group delimiter=". ">+ <text variable="genre"/>+ <text variable="publisher"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="year-date">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <macro name="locator">+ <choose>+ <if locator="page">+ <text variable="locator"/>+ </if>+ <else>+ <group delimiter=" ">+ <label variable="locator" form="short"/>+ <text variable="locator"/>+ </group>+ </else>+ </choose>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" collapse="year">+ <sort>+ <key macro="author-short"/>+ <key macro="year-date"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <group delimiter=" ">+ <text macro="author-short"/>+ <text macro="year-date"/>+ </group>+ <text macro="locator"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="4" et-al-use-first="1" subsequent-author-substitute="———">+ <sort>+ <key macro="author"/>+ <key variable="title"/>+ </sort>+ <layout suffix=".">+ <text macro="author" suffix="."/>+ <date variable="issued" prefix=" " suffix=".">+ <date-part name="year"/>+ </date>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song manuscript thesis" match="any">+ <text macro="legal_case"/>+ <group prefix=" " delimiter=" ">+ <text macro="title" suffix="."/>+ <text macro="edition"/>+ <text macro="editor" suffix="."/>+ </group>+ <text prefix=" " suffix="." macro="publisher"/>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <text macro="title" prefix=" " suffix="."/>+ <group prefix=" " delimiter=" ">+ <text term="in" text-case="capitalize-first"/>+ <text variable="container-title" font-style="italic" suffix=","/>+ <text variable="collection-title" suffix=","/>+ <text macro="editor" suffix="."/>+ <group suffix=".">+ <text macro="publisher"/>+ <group prefix=", ">+ <text variable="page" prefix="p. "/>+ </group>+ </group>+ </group>+ </else-if>+ <else>+ <group prefix=" " delimiter=" " suffix=".">+ <text macro="title"/>+ <text macro="editor"/>+ </group>+ <group prefix=" " suffix=".">+ <text variable="container-title" font-style="italic"/>+ <group prefix=" ">+ <text variable="volume"/>+ <text variable="issue" prefix="(" suffix=")"/>+ </group>+ <text variable="page" prefix=": "/>+ </group>+ </else>+ </choose>+ <text prefix=" " macro="access" suffix="."/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "abstract": "This article compares a variety of models of presidential approval in terms of their dynamic properties and their theoretical underpinnings. Exponential distributed lags, partial adjustment, error correction, and transfer function models are considered. The major difference between the models lies in interpretation rather than statistical properties. The error correction model seems most satisfactory. Approval models based on individual level theories are examined, and found to give no additional purchase.",+ "accessed": {+ "date-parts": [+ [+ 2011,+ 9,+ 20+ ]+ ]+ },+ "author": [+ {+ "family": "Beck",+ "given": "Nathaniel"+ }+ ],+ "container-title": "Political Analysis",+ "id": 315,+ "issue": "1",+ "issued": {+ "date-parts": [+ [+ 1991,+ 1,+ 1+ ]+ ]+ },+ "page": "51-87",+ "title": "Comparing Dynamic Specifications: The Case of Presidential Approval",+ "title-short": "Comparing Dynamic Specifications",+ "type": "article-journal",+ "volume": "3"+ },+ {+ "author": [+ {+ "family": "Beck",+ "given": "Nathaniel"+ },+ {+ "family": "Katz",+ "given": "Jonathan"+ }+ ],+ "container-title": "International Organization",+ "id": 313,+ "issue": "2",+ "issued": {+ "date-parts": [+ [+ 2001+ ]+ ]+ },+ "page": "487-495",+ "title": "Throwing Out the Baby with the Bath Water: A Comment on Green, Kim, and Yoon",+ "title-short": "Throwing Out the Baby with the Bath Water",+ "type": "article-journal",+ "volume": "55"+ },+ {+ "accessed": {+ "date-parts": [+ [+ 2011,+ 4,+ 4+ ]+ ]+ },+ "author": [+ {+ "family": "Beck",+ "given": "Nathaniel"+ },+ {+ "family": "Katz",+ "given": "Jonathan"+ }+ ],+ "container-title": "Annual Review of Political Science",+ "id": 328,+ "issue": "1",+ "issued": {+ "date-parts": [+ [+ 2011+ ]+ ]+ },+ "journalAbbreviation": "Annu. Rev. Polit. Sci.",+ "page": "331-352",+ "title": "Dynamics in Time Series Cross Section Data",+ "type": "article-journal",+ "volume": "14"+ },+ {+ "author": [+ {+ "family": "Beck",+ "given": "Nathaniel"+ },+ {+ "family": "Katz",+ "given": "Jonathan"+ },+ {+ "family": "Tucker",+ "given": "Richard"+ }+ ],+ "container-title": "American Journal of Political Science",+ "id": 317,+ "issue": "4",+ "issued": {+ "date-parts": [+ [+ 1998+ ]+ ]+ },+ "page": "1260-1288",+ "title": "Taking Time Seriously: Time-Series-Cross-Section Analysis with a Binary Dependent Variable",+ "type": "article-journal",+ "volume": "42"+ },+ {+ "abstract": "<p>We address a well-known but infrequently discussed problem in the quantitative study of international conflict: Despite immense data collections, prestigious journals, and sophisticated analyses, empirical findings in the literature on international conflict are often unsatisfying. Many statistical results change from article to article and specification to specification. Accurate forecasts are nonexistent. In this article we offer a conjecture about one source of this problem: The causes of conflict, theorized to be important but often found to be small or ephemeral, are indeed tiny for the vast majority of dyads, but they are large, stable, and replicable wherever the ex ante probability of conflict is large. This simple idea has an unexpectedly rich array of observable implications, all consistent with the literature. We directly test our conjecture by formulating a statistical model that includes its critical features. Our approach, a version of a \"neural network\" model, uncovers some interesting structural features of international conflict and, as one evaluative measure, forecasts substantially better than any previous effort. Moreover, this improvement comes at little cost, and it is easy to evaluate whether the model is a statistical improvement over the simpler models commonly used.</p>",+ "accessed": {+ "date-parts": [+ [+ 2011,+ 4,+ 6+ ]+ ]+ },+ "author": [+ {+ "family": "Beck",+ "given": "Nathaniel"+ },+ {+ "family": "King",+ "given": "Gary"+ },+ {+ "family": "Zeng",+ "given": "Langche"+ }+ ],+ "container-title": "American Political Science Review",+ "id": 327,+ "issue": "1",+ "issued": {+ "date-parts": [+ [+ 2000,+ 3,+ 1+ ]+ ]+ },+ "note": "ArticleType: research-article / Full publication date: Mar., 2000 / Copyright © 2000 American Political Science Association",+ "page": "21-35",+ "title": "Improving Quantitative Studies of International Conflict: A Conjecture",+ "title-short": "Improving Quantitative Studies of International Conflict",+ "type": "article-journal",+ "volume": "94"+ },+ {+ "author": [+ {+ "family": "Colaresi",+ "given": "Michael P."+ }+ ],+ "event-place": "Syracuse, NY",+ "id": 311,+ "issued": {+ "date-parts": [+ [+ 2006,+ 1,+ 31+ ]+ ]+ },+ "number-of-pages": "262",+ "publisher": "Syracuse University Press",+ "publisher-place": "Syracuse, NY",+ "title": "Scare Tactics: The Politics of International Rivalry",+ "title-short": "Scare Tactics",+ "type": "book"+ },+ {+ "abstract": "Recently, a debate has begun concerning the relationship between conflict events over time between the same disputants. While research on rivalries and recurrent conflict suggest that crises are related over time, others (Gartzke and Simon 1999) doubt the empirical and theoretical foundations of this research. We agree with the critics that the proposition that conflicts between adversaries are related over time remains only weakly substantiated. To fill this lacuna, we test four hypotheses relating past crisis behavior and sequences to subsequent conflict, using International Crisis Behavior (ICB) project data. Our results support the serial crisis hypothesis and suggest that the probability of subsequent crises and wars increase with each past crisis. Our findings also reinforce the inclination to give more emphasis to the analysis of rivalries.",+ "accessed": {+ "date-parts": [+ [+ 2011,+ 7,+ 8+ ]+ ]+ },+ "author": [+ {+ "family": "Colaresi",+ "given": "Michael P."+ },+ {+ "family": "Thompson",+ "given": "William R."+ }+ ],+ "container-title": "Journal of Politics",+ "id": 320,+ "issue": "4",+ "issued": {+ "date-parts": [+ [+ 2002+ ]+ ]+ },+ "page": "1175-1198",+ "title": "Hot Spots or Hot Hands? Serial Crisis Behavior, Escalating Risks, and Rivalry",+ "title-short": "Hot Spots or Hot Hands?",+ "type": "article-journal",+ "volume": "64"+ },+ {+ "author": [+ {+ "family": "Colaresi",+ "given": "Michael P."+ },+ {+ "family": "Rasler",+ "given": "Karen"+ },+ {+ "family": "Thompson",+ "given": "William R."+ }+ ],+ "edition": "1",+ "id": 318,+ "issued": {+ "date-parts": [+ [+ 2007+ ]+ ]+ },+ "publisher": "Cambridge University Press",+ "title": "Strategic Rivalries in World Politics: Position, Space and Conflict Escalation",+ "title-short": "Strategic Rivalries in World Politics",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Gochman",+ "given": "Charles S."+ }+ ],+ "container-title": "International Interactions",+ "id": 323,+ "issue": "1-2",+ "issued": {+ "date-parts": [+ [+ 1993+ ]+ ]+ },+ "page": "49-76",+ "title": "The Evolution of Militarized Disputes",+ "type": "article-journal",+ "volume": "19"+ },+ {+ "abstract": "<p>The authors address the question of why some militarized interstate disputes evolve into wars, while others do not. They note from previous investigations that the probability of such disputes ending in war is associated with the types of bargaining behavior adopted by disputants. Particularly important are the degrees of escalation and reciprocity that characterize that behavior. This leads them to ask two questions: first, why do statesmen involved in militarized interstate disputes adopt the bargaining behavior they do?; second, what accounts for variations in outcomes for those disputes in which similar patterns of bargaining behavior are observed? Based upon an analysis of 30 militarized interstate disputes, the authors conclude that (1) escalation in interstate bargaining is strongly associated with the nature of the issues in contention and the types of threat of force initially employed in dispute bargaining, that (2) there exists an association between the relative capabilities of disputants and the degree of reciprocity in bargaining exchanges, and that (3) variations in the outcomes of disputes largely can be accounted for in terms of the interests at stake and the diplomacy of the great powers. These findings prove to be consistent with the basic tenets of political realism, and suggest that the behavior of decision makers engaged in militarized interstate disputes is generally rational in that they respond to cost-benefit considerations.",+ "accessed": {+ "date-parts": [+ [+ 2011,+ 5,+ 31+ ]+ ]+ },+ "author": [+ {+ "family": "Gochman",+ "given": "Charles S."+ },+ {+ "family": "Leng",+ "given": "Russell J."+ }+ ],+ "container-title": "International Studies Quarterly",+ "id": 324,+ "issue": "1",+ "issued": {+ "date-parts": [+ [+ 1983,+ 3,+ 1+ ]+ ]+ },+ "note": "ArticleType: research-article / Full publication date: Mar., 1983 / Copyright © 1983 The International Studies Association",+ "page": "97-120",+ "title": "Realpolitik and the Road to War: An Analysis of Attributes and Behavior",+ "title-short": "Realpolitik and the Road to War",+ "type": "article-journal",+ "volume": "27"+ },+ {+ "abstract": "This article offers an empirical description and discussion of interstate conflict behavior. The basis is a recently completed data set consisting of all recorded instances of threats, displays, and uses of military force among states since 1816. We detail historical trends in the data and describe major dimensions of dispute behavior, including patterns of participation, duration, severity and escalation, regional distribution, and national dispute proneness. The following conclusions are suggested: First, patterns of dispute behavior have been more persistent over time than we often assume. Second, when these patterns have changed, the changes have been evolutionary in nature and have paralleled changes in the size and composition of the interstate system. Third, despite the diversity of the political units that constitute the interstate system, patterns of dispute behavior are generalizable across geographic boundaries.",+ "accessed": {+ "date-parts": [+ [+ 2011,+ 5,+ 30+ ]+ ]+ },+ "author": [+ {+ "family": "Gochman",+ "given": "Charles S."+ },+ {+ "family": "Maoz",+ "given": "Zeev"+ }+ ],+ "container-title": "Journal of Conflict Resolution",+ "id": 325,+ "issue": "4",+ "issued": {+ "date-parts": [+ [+ 1984,+ 12,+ 1+ ]+ ]+ },+ "page": "585-616",+ "title": "Militarized Interstate Disputes, 1816-1976",+ "type": "article-journal",+ "volume": "28"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/sortseparator_SortSeparatorEmpty.txt view
@@ -0,0 +1,60 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+DoeJohn+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <names variable="author">+ <name name-as-sort-order="all" sort-separator=""/>+ </names>+ </layout>+ </citation>+ <bibliography+ name-as-sort-order="first"+ sort-separator=" ">+ <layout>+ <names variable="author">+ <name />+ </names>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/substitute_RepeatedNamesOk.txt view
@@ -0,0 +1,75 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Ma Ry, Ma Ry, Kwite Kontrari+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <group delimiter=", ">+ <names variable="author">+ <name />+ <substitute>+ <names variable="editor"/>+ </substitute>+ </names>+ <names variable="author">+ <name />+ <substitute>+ <names variable="editor"/>+ </substitute>+ </names>+ <names variable="editor">+ <name />+ <substitute>+ <names variable="author"/>+ </substitute>+ </names>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Ry",+ "given": "Ma"+ }+ ],+ "editor": [+ {+ "family": "Kontrari",+ "given": "Kwite"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
@@ -0,0 +1,721 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">Alan Alto Inc.: Book Three.</div>+ <div class="csl-entry">---: Book Four.</div>+ <div class="csl-entry">Alto, Alan: Book One.</div>+ <div class="csl-entry">---: Book Two.</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ },+ {+ "id": "ITEM-3"+ },+ {+ "id": "ITEM-4"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" version="1.0" class="note" default-locale="de-DE" demote-non-dropping-particle="sort-only">+ <!--+================================================================================+ KOPFTEIL+================================================================================+-->+ <info>+ <title>PM (privater Style)</title>+ <id>PM neu</id>+ <author>+ <name>PM</name>+ <email>...</email>+ <uri>...</uri>+ </author>+ <category citation-format="note"/>+ <category field="social_science"/>+ <summary>Personal style Petra Mayerhofer. Citations in notes; full bibliography.</summary>+ <updated>2016-04-20T04:33:40+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <!--+================================================================================+ Historie+================================================================================+Start-Citation: "Zeitschrift für Medienwissenschaft (German)"+2015-08-01 Original date hinzugefügt, siehe hierzu https://forums.zotero.org/discussion/3673/3/original-date-of-publication/+2016-04-20 Term anonymous set to "Anonym", before was set to default for this term acc. to locale+-->+ <!--+================================================================================+ HINWEISE+================================================================================+ - Das Originalpublikationsjahr muss ins Zotero-Feld "Extra" eingetragen+ werden, und zwar nach dem Muster "{:original-date: 1964}".+-->+ <!--+================================================================================+ TERMS+================================================================================+-->+ <locale xml:lang="de">+ <terms>+ <term name="accessed">zugegriffen am</term>+ <term name="ordinal-01">.</term>+ <term name="ordinal-02">.</term>+ <term name="ordinal-03">.</term>+ <term name="ordinal-04">.</term>+ <term name="long-ordinal-01">erste</term>+ <term name="long-ordinal-02">zweite</term>+ <term name="long-ordinal-03">dritte</term>+ <term name="long-ordinal-04">vierte</term>+ <term name="long-ordinal-05">fünfte</term>+ <term name="long-ordinal-06">sechste</term>+ <term name="long-ordinal-07">siebte</term>+ <term name="long-ordinal-08">achte</term>+ <term name="long-ordinal-09">neunte</term>+ <term name="long-ordinal-10">zehnte</term>+ <term name="anonymous">Anonym</term>+ </terms>+ </locale>+ <!--+================================================================================+ MAKROS+================================================================================+-->+ <!--+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+ VERTEILUNG DER NAMEN AUF DIE MAKROS+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++* "author"++1. im Makro "contributors" (als Autor des Titels)+- in jedem Fall++* "editor"++1. im Makro "contributors" (als Herausgeber des Titels, vorangestellt)+- bei Typ "book" und falls Variable "author" fehlt++2. im Makro "secondary-contributors" (als Herausgeber des Titels, nachgestellt)+- bei Typ "book" und falls Variable "author" vorhanden++3. im Makro "container-contributors" (als Herausgeber des Containers, vorangestellt)+- bei Typ "chapter" (und "article"?) und falls Variable "container-author" fehlt++4. im Makro "secondary-container-contributors" (als Herausgeber des Containers, nachgestellt)+- bei Typ "chapter" (und "article"?) und falls Variable "container-author" vorhanden++* "translator"++1. im Makro "secondary-contributors" (als Übersetzer des Titels, nachgestellt)+- in jedem Fall++* "container-author"++1. im Makro "container-contributors" (als Autor des Containers, vorangestellt)+- in jedem Fall++* "collection-editor"++1. im Makro "secondary-collection-contributor"+- in jedem Fall++::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+ UNTERSCHEIDUNG DER NAMEN IN DEN MAKROS+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::++* "contributors"++a) mit Name "author" (in jedem Fall)+ oder+b) mit Name "editor" (bei Typ "book" und falls Variable "author" fehlt)++* "secondary-contributors"++a) mit Name "translator" (in jedem Fall)+ und/oder+b) mit Name "editor" (bei Typ "book" und falls Variable "author" vorhanden)++* "container-contributors"++a) mit Name "container-author" (in jedem Fall)+ oder+b) "editor" (bei Typ "chapter" (und "article"?) und falls Variable "container-author" fehlt)++* "secondary-container-contributors"++a) mit Name "editor" (bei Typ "chapter" (und "article"?) und falls Variable "container-author" vorhanden)++* "secondary-collection-contributors"++a) mit Name "collection-editor" (in jedem Fall)+-->+ <!-- 1. TITEL-BEITRAGENDE IN LANGFORM -->+ <!-- (für den Eintrag im Literaturverzeichnis) -->+ <!-- Wenn weder Autoren noch Herausgeber vorhanden sind, soll "Anonym" oder analog vorangestellt werden, hier wird Makro dafür definiert -->+ <macro name="anon">+ <text term="anonymous" text-case="capitalize-first" strip-periods="true"/>+ </macro>+ <macro name="contributors-long">+ <choose>+ <!-- Wenn Autoren vorhanden sind, sind diese die 1. Titel-Beitragenden. -->+ <if variable="author">+ <names variable="author">+ <!-- Erster Autor mit vorangestelltem Nachnamen, alle folgenden in+ gewöhnlicher Ordnung, mehrere Autoren durch Komma getrennt,+ der letztgenannte durch "und" abgetrennt. -->+ <name name-as-sort-order="all" sort-separator=", " delimiter=" / " delimiter-precedes-last="always"/>+ </names>+ </if>+ <!-- Wenn keine Autoren vorhanden sind, sind bei Büchern+ die Herausgeber die 1. Titel-Beitragenden. -->+ <else>+ <choose>+ <if type="book">+ <names variable="editor">+ <!-- Erster Herausgeber mit vorangestelltem Nachnamen, alle+ folgenden in gewöhnlicher Ordnung, mehrere Herausgeber+ durch Komma getrennt, der letztgenannte durch "und"+ abgetrennt. -->+ <name name-as-sort-order="all" sort-separator=", " delimiter=" / " delimiter-precedes-last="always"/>+ <!-- Bezeichnung geklammert, in Kurzform und nachgestellt+ ("(Hrsg.)"). -->+ <label prefix=" (" form="short" suffix=".)"/>+ <!-- Fehlen die Herausgeber, so werden sie durch ?? ersetzt.+ <substitute>+ <names variable="translator"/>+ <text variable="title"/>+ </substitute> -->+ </names>+ </if>+ <!-- Für alle anderen Fälle gilt: Anonym. -->+ <else>+ <text macro="anon"/> + </else> + </choose>+ </else>+ </choose>+ </macro>+ <macro name="contributors-long-for-real">+ <choose>+ <!-- Wenn Autoren vorhanden sind, sind diese die 1. Titel-Beitragenden. -->+ <if variable="author">+ <names variable="author">+ <!-- Erster Autor mit vorangestelltem Nachnamen, alle folgenden in+ gewöhnlicher Ordnung, mehrere Autoren durch Komma getrennt,+ der letztgenannte durch "und" abgetrennt. -->+ <name name-as-sort-order="all" sort-separator=", " delimiter=" / " delimiter-precedes-last="always"/>+ </names>+ </if>+ <!-- Wenn keine Autoren vorhanden sind, sind bei Büchern+ die Herausgeber die 1. Titel-Beitragenden. -->+ <else>+ <choose>+ <if type="book">+ <names variable="editor">+ <!-- Erster Herausgeber mit vorangestelltem Nachnamen, alle+ folgenden in gewöhnlicher Ordnung, mehrere Herausgeber+ durch Komma getrennt, der letztgenannte durch "und"+ abgetrennt. -->+ <name name-as-sort-order="all" sort-separator=", " delimiter=" / " delimiter-precedes-last="always"/>+ <!-- Bezeichnung geklammert, in Kurzform und nachgestellt+ ("(Hrsg.)"). -->+ <label prefix=" (" form="short" suffix=".)"/>+ <!-- Fehlen die Herausgeber, so werden sie durch ?? ersetzt.+ <substitute>+ <names variable="translator"/>+ <text variable="title"/>+ </substitute> -->+ </names>+ </if>+ <!-- Für alle anderen Fälle gilt: Anonym. -->+ <else>+ <text macro="anon"/> + </else> + </choose>+ </else>+ </choose>+ </macro>+ <!-- 1. TITEL-BEITRAGENDE IN KURZFORM -->+ <!-- (für die Nachweise) -->+ <macro name="contributors-short">+ <choose>+ <!-- Wenn Autoren vorhanden sind, sind diese die 1. Titel-Beitragenden. -->+ <if variable="author">+ <names variable="author">+ <!-- Autoren nur mit Nachnamen geführt, mehrere Autoren durch+ Schrägstriche getrennt. -->+ <name form="short" name-as-sort-order="all" sort-separator="/" delimiter=" / " delimiter-precedes-last="always"/>+ </names>+ </if>+ <!-- Wenn keine Autoren vorhanden sind, sind bei Büchern+ die Herausgeber die 1. Titel-Beitragenden. -->+ <else>+ <choose>+ <if type="book">+ <names variable="editor">+ <!-- Herausgeber nur mit Nachnamen geführt, mehrere Herausgeber+ durch Schrägstriche getrennt. -->+ <name form="short" name-as-sort-order="all" sort-separator="/" delimiter=" / " delimiter-precedes-last="always"/>+ <!-- Fehlen die Herausgeber, so werden sie durch ?? ersetzt.+ <substitute>+ <names variable="translator"/>+ <text variable="title"/>+ </substitute> -->+ </names>+ </if>+ <!-- Für alle anderen Fälle gilt: Anonym. -->+ <else>+ <text macro="anon"/> + </else> + </choose>+ </else>+ </choose>+ </macro>+ <!-- 2. TITEL-BEITRAGENDE -->+ <macro name="secondary-contributors">+ <choose>+ <!-- Wenn Autoren vorhanden sind, sind bei Büchern die Herausgeber+ und/oder Übersetzer die 2. Titel-Beitragenden. -->+ <if variable="author" type="book" match="all">+ <names variable="editor translator" delimiter=", ">+ <!-- Bezeichnung in Kurzform ("hg. v.", "übers. v."). -->+ <label prefix="" form="verb-short" text-case="lowercase" suffix=". "/>+ <!-- Mehrere Herausgeber und/oder Übersetzer durch Komma getrennt,+ der letztgenannte durch "und" abgetrennt. -->+ <name sort-separator=", " delimiter=", " delimiter-precedes-last="never"/>+ <!-- Fehlen diese, so werden sie durch ?? ersetzt.+ <substitute>+ <names variable="translator"/>+ <text variable="title"/>+ </substitute> -->+ </names>+ </if>+ <!-- Für alle anderen Fälle gilt: ??.+ <else>+ </else> -->+ </choose>+ </macro>+ <!-- 1. CONTAINER-BEITRAGENDE -->+ <macro name="container-contributors">+ <choose>+ <!-- Wenn Container-Autoren vorhanden sind, sind diese+ die 1. Container-Beitragenden. -->+ <if variable="container-author">+ <names variable="container-author">+ <!-- Erster Autor mit vorangestelltem Nachnamen, alle folgenden in+ gewöhnlicher Ordnung, mehrere Autoren durch Komma getrennt,+ der letztgenannte durch "und" abgetrennt. -->+ <name name-as-sort-order="all" sort-separator=", " delimiter=" / " delimiter-precedes-last="never"/>+ </names>+ </if>+ <!-- Wenn keine Container-Autoren vorhanden sind, sind bei Artikeln+ die Herausgeber die 1. Container-Beitragenden. -->+ <else>+ <choose>+ <if type="chapter">+ <names variable="editor">+ <!-- Erster Herausgeber mit vorangestelltem Nachnamen, alle+ folgenden in gewöhnlicher Ordnung, mehrere Herausgeber+ durch Komma getrennt, der letztgenannte durch "und"+ abgetrennt. -->+ <name name-as-sort-order="all" sort-separator=", " delimiter=" / " delimiter-precedes-last="never"/>+ <!-- Bezeichnung geklammert, in Kurzform und nachgestellt+ ("(Hrsg.)"). -->+ <label prefix=" (" form="short" suffix=".)"/>+ <!-- Fehlen diese, so werden sie durch ?? ersetzt.+ <substitute>+ <names variable="translator"/>+ <text variable="title"/>+ </substitute> -->+ </names>+ </if>+ <!-- Für alle anderen Fälle gilt: ??.+ <else>+ </else> -->+ </choose>+ </else>+ </choose>+ </macro>+ <!-- 2. CONTAINER-BEITRAGENDE -->+ <macro name="secondary-container-contributors">+ <choose>+ <!-- Wenn Container-Autoren vorhanden sind, sind bei Artikeln+ die Herausgeber die 2. Container-Beitragenden. -->+ <if variable="container-author" type="chapter" match="all">+ <names variable="editor">+ <!-- Bezeichnung in Kurzform ("hg. v."). -->+ <label prefix="" form="verb-short" text-case="lowercase" suffix=". "/>+ <!-- Mehrere Herausgeber durch / getrennt -->+ <name sort-separator=", " delimiter=" / " delimiter-precedes-last="always"/>+ <!-- Fehlen diese, so werden sie durch ?? ersetzt.+ <substitute>+ <names variable="translator"/>+ <text variable="title"/>+ </substitute> -->+ </names>+ <!-- Für alle anderen Fälle gilt: ??.+ <else>+ </else> -->+ </if>+ </choose>+ </macro>+ <!-- 2. REIHEN-BEITRAGENDE -->+ <macro name="secondary-collection-contributors">+ <names variable="collection-editor">+ <!-- Mehrere Reihen-Herausgeber durch / getrennt -->+ <name sort-separator=", " delimiter=" / " delimiter-precedes-last="always"/>+ </names>+ </macro>+ <!-- REIHE -->+ <macro name="collection">+ <!-- Name der Reihe -->+ <text variable="collection-title"/>+ <choose>+ <!-- Reihennummer -->+ <!-- Falls die Reihennummer eine Zahl ist, wird sie+ ohne vorangestelltes Komma ausgeben, ... -->+ <if is-numeric="collection-number">+ <text prefix=" Bd. " variable="collection-number"/>+ </if>+ <!-- ... ansonsten mit. -->+ <else>+ <text prefix=", " variable="collection-number"/>+ </else>+ </choose>+ <choose>+ <if variable="collection-editor">+ <!-- Bezeichnung der Reihenbeitragenden in Kurzform ("hg. v.") -->+ <text prefix=", " term="editor" form="verb-short" text-case="lowercase" suffix="."/>+ <!-- Reihen-Beitragende -->+ <text prefix=" " macro="secondary-collection-contributors"/>+ </if>+ </choose>+ </macro>+ <!-- AUFLAGE -->+ <macro name="edition">+ <choose>+ <!-- Falls die Auflage eine Zahl ist, wird sie numerisch ausgegeben und+ mit einem Punkt abgeschlossen (z. B. "1. Aufl."), ... -->+ <if is-numeric="edition">+ <number variable="edition" form="ordinal"/>+ <text prefix=" " term="edition" form="short" suffix="."/>+ </if>+ <!-- ... ansonsten wird sie als Text ausgegeben und ohne Punkt+ abgeschlossen (z.B. "erste Aufl."). -->+ <else-if variable="edition">+ <text variable="edition"/>+ <text prefix=" " term="edition" form="short" suffix="."/>+ </else-if>+ </choose>+ </macro>+ <!-- VERLAGSORT/VERLEGER -->+ <macro name="publisher">+ <text variable="publisher-place"/>+ <choose>+ <!-- Falls ein Verlagsort vorhanden ist, wird der Verlag durch+ einen Doppelpunkt abgesetzt, ... -->+ <if variable="publisher-place">+ <text prefix=" : " variable="publisher"/>+ </if>+ <!-- ... ansonsten wird er einfach ausgegeben. -->+ <else>+ <text variable="publisher"/>+ </else>+ </choose>+ </macro>+ <!-- URL (und Datum des letzten Zugriffs) -->+ <macro name="access">+ <text variable="URL"/>+ <group prefix=" (" suffix=")" delimiter=" ">+ <text term="accessed" text-case="lowercase"/>+ <date variable="accessed">+ <date-part name="day" form="numeric" suffix="."/>+ <date-part name="month" form="numeric" suffix="."/>+ <date-part name="year"/>+ </date>+ </group>+ </macro>+ <!-- DATUM -->+ <macro name="date">+ <choose>+ <if type="article-newspaper">+ <date variable="issued">+ <date-part name="day" form="numeric" suffix="."/>+ <date-part name="month" form="numeric" suffix="."/>+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <choose>+ <if variable="original-date">+ <group prefix=" (" suffix=")" delimiter=" ">+ <text value="Erstveröffentlichung"/>+ <date variable="original-date" form="text"/>+ </group>+ </if>+ </choose>+ </else>+ </choose>+ </macro>+ <!-- TITEL -->+ <macro name="title">+ <group delimiter=", ">+ <!-- choose -->+ <!-- Alle Titel werden ohne weitere Auszeichnung (auch keine Anführungszeichen) ausgegeben. -->+ <text variable="title" suffix="." form="long"/>+ <!-- /choose -->+ <!-- 2. Titel-Beitragende -->+ <text macro="secondary-contributors"/>+ </group>+ </macro>+ <!-- CONTAINER (Sammelband oder Zeitschrift ...) -->+ <macro name="container">+ <choose>+ <!-- Für Beiträge in Sammelbänden gilt: -->+ <if type="chapter">+ <choose>+ <!-- Falls 1. Container-Beitragende vorhanden sind,+ werden sie mit vorangestelltem "in: " ausgegeben -->+ <if variable="container-author editor" match="any">+ <text term="in" text-case="capitalize-first" suffix=": "/>+ </if>+ </choose>+ <!-- 1. Container-Beitragende -->+ <text macro="container-contributors" suffix=": "/>+ <!-- Container-Titel -->+ <text variable="container-title"/>+ <!-- 2. Container-Beitragende -->+ <text prefix=", " macro="secondary-container-contributors"/>+ </if>+ <!-- Für Artikel gilt: -->+ <else-if type="article-journal article-magazine article-newspaper" match="any">+ <!-- Container-Titel -->+ <text variable="container-title" suffix=" "/>+ </else-if>+ <!-- Für alle anderen Fälle gilt: ??.+ <else>+ </else> -->+ </choose>+ </macro>+ <!-- VERÖFFENTLICHUNG (Band, Reihe, Auflage, Verlag, Ort, Datum ...) -->+ <macro name="issued">+ <choose>+ <!-- Für Bücher und Beiträge in Sammelbänden gilt: -->+ <if type="book chapter" match="any">+ <!-- Band -->+ <choose>+ <if variable="volume">+ <text prefix=". " term="volume" form="short" suffix=". "/>+ <text variable="volume"/>+ </if>+ </choose>+ <!-- Reihe -->+ <text prefix=". " macro="collection"/>+ <!-- Auflage -->+ <text prefix=". " macro="edition"/>+ <!-- Verlagsort/Verleger -->+ <text prefix=". " macro="publisher"/>+ </if>+ <!-- Für Artikel gilt: -->+ <else-if type="article-journal article-magazine article-newspaper" match="any">+ <choose>+ <!-- ... wenn Band und Ausgabe vorhanden sind: -->+ <if variable="volume">+ <group>+ <choose>+ <if variable="issue">+ <text prefix="" variable="volume" suffix=" "/>+ </if>+ <else>+ <text variable="volume"/>+ </else>+ </choose>+ <number prefix="(" variable="issue" suffix=")"/>+ </group>+ </if>+ <!-- wenn nur Ausgabe vorhanden ist: -->+ <else>+ <number prefix="(" variable="issue" suffix=")"/>+ </else>+ </choose>+ </else-if>+ <!-- Für alle anderen Fälle gilt: ??.+ <else>+ </else> -->+ </choose>+ </macro>+ <!-- SEITENZAHLEN -->+ <macro name="pages">+ <choose>+ <!-- Seitenzahlen werden nur bei Beiträgen in Sammelbänden und+ Artikeln ausgegeben - nicht bei Büchern o.a., wo damit+ der Gesamtumfang gemeint ist. -->+ <if type="article-journal article-magazine article-newspaper chapter" match="any">+ <label variable="page" form="short" suffix=". "/>+ <text variable="page"/>+ </if>+ </choose>+ </macro>+ <!-- FUNDSTELLE (bei Nachweisen) -->+ <macro name="citation-locator">+ <!-- Angabe der Seiten o.ä. ohne Label-->+ <text variable="locator"/>+ </macro>+ <!-- KURZTITEL (für Nachweise) -->+ <macro name="title-short">+ <text variable="title" form="short"/>+ </macro>+ <!-- LANGTITEL (für Nachweise) -->+ <macro name="title-long">+ <text variable="title"/>+ </macro><!--+================================================================================+ NACHWEISE+================================================================================+-->+ <citation et-al-min="4" et-al-use-first="1" et-al-subsequent-min="4" et-al-subsequent-use-first="1" disambiguate-add-names="true">+ <layout suffix="." delimiter="; ">+ <choose>+ <!-- "Ebd." (bei unmittelbar aufeinanderfolgenden Nachweisen) -->+ <if position="ibid-with-locator">+ <text term="ibid" text-case="capitalize-first" suffix="."/>+ <text prefix=", " macro="citation-locator"/>+ </if>+ <else-if position="ibid">+ <text term="ibid" text-case="capitalize-first" suffix="."/>+ </else-if>+ <!-- kurzer Nachweis (bei zweiter und folgenden Nennungen) -->+ <else-if position="subsequent">+ <text macro="contributors-short" suffix=", "/>+ <text macro="title-short"/>+ <text prefix=", " macro="citation-locator"/>+ </else-if>+ <!-- vollständiger Nachweis (bei erster Nennung) -->+ <else>+ <text macro="contributors-long" suffix=": "/>+ <text macro="title"/>+ <text prefix=". " macro="container"/>+ <text macro="issued"/>+ <text prefix=" " macro="date" suffix=""/>+ <text prefix=". " macro="pages"/>+ <choose>+ <!-- Bei Beiträgen in Sammelbänden und Artikeln wird die+ Angabe der Fundstelle in Seitenzahlen durch "hier"+ eingeschränkt. -->+ <if variable="page" type="chapter" match="all">+ <text prefix=", hier " macro="citation-locator"/>+ </if>+ <else-if variable="page" type="article-journal" match="all">+ <text prefix=", hier " macro="citation-locator"/>+ </else-if>+ <else-if variable="page" type="article-magazine" match="all">+ <text prefix=", hier " macro="citation-locator"/>+ </else-if>+ <else-if variable="page" type="article-newspaper" match="all">+ <text prefix=", hier " macro="citation-locator"/>+ </else-if>+ <else>+ <text prefix=", hier " macro="citation-locator"/>+ </else>+ </choose>+ <text prefix=". " macro="access"/>+ </else>+ </choose>+ </layout>+ </citation>+<!--+================================================================================+ LITERATURVERZEICHNIS+================================================================================+-->+ <bibliography et-al-min="4" et-al-use-first="1" hanging-indent="true" entry-spacing="0" subsequent-author-substitute="---" subsequent-author-substitute-rule="complete-each">+ <sort>+ <key macro="contributors-long" names-min="3" names-use-first="3"/>+ <key macro="date"/>+ </sort>+ <layout suffix=".">+ <text macro="contributors-long" suffix=": "/>+ <text macro="title"/>+ <text prefix=". " macro="container"/>+ <text macro="issued"/>+ <text prefix=" " macro="date" suffix=""/>+ <text prefix=". " macro="pages"/>+ <text prefix=". " macro="access"/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Alto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-1",+ "title": "Book One",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Alto",+ "given": "Alan"+ }+ ],+ "id": "ITEM-2",+ "title": "Book Two",+ "type": "book"+ },+ {+ "author": [+ {+ "literal": "Alan Alto Inc."+ }+ ],+ "id": "ITEM-3",+ "title": "Book Three",+ "type": "book"+ },+ {+ "author": [+ {+ "literal": "Alan Alto Inc."+ }+ ],+ "id": "ITEM-4",+ "title": "Book Four",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/substitute_SuppressOrdinaryVariable.txt view
@@ -0,0 +1,116 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">“The Title.” The Publisher.</div>+ <div class="csl-entry">John-boy Doe ed. <i>The Title</i>. The Publisher.</div>+ <div class="csl-entry">Jane-girl Doe editor. <i>The Title</i>. The Organization.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="editor">+ <choose>+ <if type="book">+ <text macro="editor-short-label"/>+ </if>+ <else>+ <text macro="editor-long-label"/>+ </else>+ </choose>+ <names variable="editor">+ <name/>+ <label prefix=" "/>+ </names>+ </macro>+ <macro name="editor-long-label">+ <names variable="editor">+ <name/>+ <label prefix=" "/>+ </names>+ </macro>+ <macro name="editor-short-label">+ <names variable="editor">+ <name/>+ <label prefix=" " form="short"/>+ </names>+ </macro>+ <citation>+ <layout delimiter="; ">+ <text variable="title"/>+ </layout>+ </citation>+ <bibliography>+ <layout suffix=".">+ <group delimiter=". ">+ <names variable="translator">+ <label form="verb" suffix=" "/>+ <name/>+ <substitute>+ <text macro="editor"/>+ <text variable="title" quotes="true"/>+ </substitute>+ </names>+ <text variable="title" font-style="italic"/>+ <text variable="publisher"/>+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "publisher": "The Publisher",+ "title": "The Title",+ "type": "book"+ },+ {+ "editor": [+ {+ "family": "Doe",+ "given": "John-boy"+ }+ ],+ "id": "ITEM-2",+ "publisher": "The Publisher",+ "title": "The Title",+ "type": "book"+ },+ {+ "editor": [+ {+ "family": "Doe",+ "given": "Jane-girl"+ }+ ],+ "id": "ITEM-3",+ "publisher": "The Organization",+ "title": "The Title",+ "type": "report"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/testers_FirstAutoGeneratedZoteroPluginTest.txt view
@@ -0,0 +1,814 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++>>===== RESULT =====>>+..[0] Center <sup>for</sup> History <sub>and</sub> New Media, “<b>Zotero</b> … ‘Quick Start’ & <span style="font-variant:small-caps;">Guide</span> 日本語,” 47, http://zotero.org/support/quick_start_guide.+>>[1] John Smith, <i>Book A</i>, 2000; Center <sup>for</sup> History <sub>and</sub> New Media, “<b>Zotero</b> … ‘Quick Start’ & <span style="font-variant:small-caps;">Guide</span> 日本語.”+<<===== RESULT =====<<++>>===== CITATIONS =====>>+[+ [+ {+ "citationID": "10fplksp7n",+ "citationItems": [+ {+ "id": 1,+ "label": "page",+ "locator": "47"+ }+ ],+ "properties": {+ "noteIndex": 1+ }+ },+ [],+ []+ ],+ [+ {+ "citationID": "2cmt1f5kan",+ "citationItems": [+ {+ "id": "5",+ "label": "page"+ },+ {+ "id": "1",+ "label": "page"+ }+ ],+ "properties": {+ "noteIndex": 2+ }+ },+ [+ [+ "10fplksp7n",+ 1+ ]+ ],+ []+ ]+]+<<===== CITATIONS =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <title>Chicago Manual of Style (Full Note with Bibliography)</title>+ <id>http://www.zotero.org/styles/chicago-fullnote-bibliography</id>+ <link rel="self" href="http://www.zotero.org/styles/chicago-fullnote-bibliography" />+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation" />+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </contributor>+ <contributor>+ <name>Elena Razlogova</name>+ <email>elena.razlogova@gmail.com</email>+ </contributor>+ <summary>Chicago format with full notes and bibliography</summary>+ <category field="generic-base" />+ <category citation-format="numeric" />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="editor-translator">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <names delimiter=", " variable="editor">+ <label form="verb-short" suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names delimiter=", " variable="translator">+ <label form="verb-short" suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="secondary-contributors-note">+ <choose>+ <if match="none" type="chapter">+ <text macro="editor-translator" />+ </if>+ </choose>+ </macro>+ <macro name="container-contributors-note">+ <choose>+ <if type="chapter">+ <text macro="editor-translator" />+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if match="none" type="chapter">+ <group delimiter=". ">+ <choose>+ <if variable="author">+ <names delimiter=". " variable="editor">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names delimiter=". " variable="translator">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <names delimiter=", " variable="editor">+ <label form="verb" suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names delimiter=", " variable="translator">+ <label form="verb" suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="editor-note">+ <names variable="editor">+ <name and="text" delimiter=", " sort-separator=", " />+ <label form="short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="translator-note">+ <names variable="translator">+ <name and="text" delimiter=", " sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="recipient-note">+ <names delimiter=", " variable="recipient">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="contributors-note">+ <names variable="author">+ <name and="text" delimiter=", " sort-separator=", " />+ <substitute>+ <text macro="editor-note" />+ <text macro="translator-note" />+ </substitute>+ </names>+ <text macro="recipient-note" />+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="recipient">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ <else>+ <text term="letter" text-case="capitalize-first" />+ </else>+ </choose>+ </if>+ </choose>+ <text macro="recipient-note" prefix=" " />+ </macro>+ <macro name="contributors">+ <names variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <substitute>+ <text macro="editor" />+ <text macro="translator" />+ </substitute>+ </names>+ <text macro="recipient" prefix=". " />+ </macro>+ <macro name="recipient-short">+ <names variable="recipient">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " form="short" />+ </names>+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name and="text" delimiter=", " form="short" />+ <substitute>+ <names variable="editor" />+ <names variable="translator" />+ </substitute>+ </names>+ <text macro="recipient-short" />+ </macro>+ <macro name="contributors-sort">+ <names variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="all" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ <substitute>+ <names variable="editor" />+ <names variable="translator" />+ </substitute>+ </names>+ </macro>+ <macro name="interviewer-note">+ <names delimiter=", " variable="interviewer">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="interviewer">+ <names delimiter=", " variable="interviewer">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="title-note">+ <choose>+ <if match="none" variable="title">+ <text variable="genre" />+ </if>+ <else-if type="book">+ <text font-style="italic" variable="title" />+ </else-if>+ <else>+ <text quotes="true" variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if match="none" variable="title">+ <choose>+ <if match="none" type="personal_communication">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ </if>+ <else-if type="book">+ <text font-style="italic" variable="title" />+ </else-if>+ <else>+ <text quotes="true" variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="title-short">+ <choose>+ <if match="none" variable="title">+ <choose>+ <if type="interview">+ <text term="interview" text-case="lowercase" />+ </if>+ <else-if match="any" type="manuscript speech">+ <text form="short" variable="genre" />+ </else-if>+ <else-if type="personal_communication">+ <text macro="issued" />+ </else-if>+ </choose>+ </if>+ <else-if type="book">+ <text font-style="italic" form="short" variable="title" />+ </else-if>+ <else>+ <text form="short" quotes="true" variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="description-note">+ <group delimiter=", ">+ <text macro="interviewer-note" />+ <text variable="medium" />+ <choose>+ <if match="none" variable="title"/>+ <else-if match="any" type="thesis speech"/>+ <else>+ <text variable="genre" />+ </else>+ </choose>+ </group>+ </macro>+ <macro name="description">+ <group delimiter=", ">+ <group delimiter=". ">+ <text macro="interviewer" />+ <text text-case="capitalize-first" variable="medium" />+ </group>+ <choose>+ <if match="none" variable="title"/>+ <else-if match="any" type="thesis speech"/>+ <else>+ <text text-case="capitalize-first" variable="genre" />+ </else>+ </choose>+ </group>+ </macro>+ <macro name="container-title-note">+ <choose>+ <if type="chapter">+ <text suffix=" " term="in" text-case="lowercase" />+ </if>+ </choose>+ <text font-style="italic" variable="container-title" />+ </macro>+ <macro name="container-title">+ <choose>+ <if type="chapter">+ <text suffix=" " term="in" text-case="capitalize-first" />+ </if>+ </choose>+ <text font-style="italic" variable="container-title" />+ </macro>+ <macro name="collection-title">+ <text variable="collection-title" />+ <text prefix=" " variable="collection-number" />+ </macro>+ <macro name="edition-note">+ <choose>+ <if match="any" type="book chapter">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number form="ordinal" variable="edition" />+ <text form="short" suffix="." term="edition" />+ </group>+ </if>+ <else>+ <text suffix="." variable="edition" />+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if match="any" type="book chapter">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number form="ordinal" variable="edition" />+ <text form="short" suffix="." term="edition" />+ </group>+ </if>+ <else>+ <text suffix="." text-case="capitalize-first" variable="edition" />+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-note">+ <choose>+ <if type="article-journal">+ <text prefix=" " variable="volume" />+ <text prefix=", no. " variable="issue" />+ </if>+ <else-if match="any" type="book chapter">+ <group delimiter=", " prefix=", ">+ <group>+ <text form="short" suffix=". " term="volume" />+ <number form="numeric" variable="volume" />+ </group>+ <choose>+ <if match="none" variable="locator">+ <group>+ <number form="numeric" variable="number-of-volumes" />+ <text form="short" plural="true" prefix=" " suffix="." term="volume" />+ </group>+ </if>+ </choose>+ <text macro="edition-note" />+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <text prefix=" " variable="volume" />+ <text prefix=", no. " variable="issue" />+ </if>+ <else-if match="any" type="book">+ <group delimiter=". " prefix=". ">+ <group>+ <text form="short" suffix=". " term="volume" text-case="capitalize-first" />+ <number form="numeric" variable="volume" />+ </group>+ <group>+ <number form="numeric" variable="number-of-volumes" />+ <text form="short" plural="true" prefix=" " suffix="." term="volume" />+ </group>+ <text macro="edition" />+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-newspaper">+ <choose>+ <if type="article-newspaper">+ <group delimiter=", ">+ <group>+ <text suffix=" " variable="edition" />+ <text prefix=" " term="edition" />+ </group>+ <group>+ <text form="short" suffix=". " term="section" />+ <text variable="section" />+ </group>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="event">+ <group>+ <text suffix=" " term="presented at" />+ <text variable="event" />+ </group>+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place" />+ <text variable="publisher" />+ </group>+ </macro>+ <macro name="issued">+ <choose>+ <if match="any" type="graphic report">+ <date variable="issued">+ <date-part name="month" suffix=" " />+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </if>+ <else-if match="any" type="book chapter thesis">+ <date variable="issued">+ <date-part name="year" />+ </date>+ </else-if>+ <else>+ <date variable="issued">+ <date-part name="month" suffix=" " />+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </else>+ </choose>+ </macro>+ <macro name="point-locators-subsequent">+ <group>+ <choose>+ <if locator="page" match="none">+ <label form="short" suffix=" " variable="locator" />+ </if>+ </choose>+ <text variable="locator" />+ </group>+ </macro>+ <macro name="point-locators">+ <choose>+ <if match="none" variable="locator">+ <text macro="pages" />+ </if>+ <else-if type="article-journal">+ <text prefix=": " variable="locator" />+ </else-if>+ <else>+ <text macro="point-locators-subsequent" prefix=", " />+ </else>+ </choose>+ </macro>+ <macro name="pages">+ <choose>+ <if type="article-journal">+ <text prefix=": " variable="page" />+ </if>+ <else-if type="chapter">+ <text prefix=", " variable="page" />+ </else-if>+ </choose>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter">+ <text suffix=":" variable="volume" />+ <text variable="page" />+ </if>+ </choose>+ </macro>+ <macro name="locators-journal">+ <choose>+ <if type="article-journal">+ <text prefix=": " variable="page" />+ </if>+ </choose>+ </macro>+ <macro name="archive-note">+ <group delimiter=", ">+ <text variable="archive_location" />+ <text variable="archive" />+ <text variable="archive-place" />+ </group>+ </macro>+ <macro name="archive">+ <group delimiter=". ">+ <text text-case="capitalize-first" variable="archive_location" />+ <text variable="archive" />+ <text variable="archive-place" />+ </group>+ </macro>+ <macro name="issue-note">+ <choose>+ <if type="article-journal">+ <text macro="issued" prefix=" (" suffix=")" />+ </if>+ <else-if match="any" variable="publisher-place publisher">+ <group delimiter=", " prefix=" (" suffix=")">+ <group delimiter=" ">+ <choose>+ <if match="none" variable="title"/>+ <else-if match="any" type="thesis speech">+ <text variable="genre" />+ </else-if>+ </choose>+ <text macro="event" />+ </group>+ <text macro="publisher" />+ <text macro="issued" />+ </group>+ </else-if>+ <else>+ <text macro="issued" prefix=", " />+ </else>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="article-journal">+ <text macro="issued" prefix=" (" suffix=")" />+ </if>+ <else-if type="speech">+ <choose>+ <if match="none" variable="title"> </if>+ <else>+ <text prefix=". " text-case="capitalize-first" variable="genre" />+ </else>+ </choose>+ <text macro="event" prefix=" " />+ <text prefix=", " variable="event-place" />+ <text macro="issued" prefix=", " />+ </else-if>+ <else-if match="any" variable="publisher-place publisher">+ <group delimiter=", " prefix=". ">+ <choose>+ <if type="thesis">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ <text macro="publisher" />+ <text macro="issued" />+ </group>+ </else-if>+ <else>+ <text macro="issued" prefix=", " />+ </else>+ </choose>+ </macro>+ <macro name="access-note">+ <group delimiter=", ">+ <choose>+ <if match="any" type="graphic report">+ <text macro="archive-note" />+ </if>+ <else-if match="none" type="book thesis chapter article-journal article-newspaper article-magazine">+ <text macro="archive-note" />+ </else-if>+ </choose>+ <text prefix="doi:" variable="DOI" />+ <text variable="URL" />+ </group>+ </macro>+ <macro name="access">+ <group delimiter=". ">+ <choose>+ <if match="any" type="graphic report">+ <text macro="archive" />+ </if>+ <else-if match="none" type="book thesis chapter article-journal article-newspaper article-magazine">+ <text macro="archive" />+ </else-if>+ </choose>+ <text variable="URL" />+ </group>+ </macro>+ <macro name="sort-key">+ <text macro="contributors-sort" suffix=" " />+ <text suffix=" " variable="title" />+ <text variable="genre" />+ </macro>+ <macro name="legal-case-first">+ <group delimiter=", ">+ <text variable="title"/>+ <group delimiter=" ">+ <text variable="volume"/>+ <text variable="container-title"/>+ <text variable="page"/>+ <group prefix="(" suffix=")" delimiter=" ">+ <text variable="authority" form="short"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </group>+ </group>+ </macro>+ <citation + disambiguate-add-names="true"+ et-al-min="4"+ et-al-subsequent-min="4"+ et-al-subsequent-use-first="1"+ et-al-use-first="1">+ <layout delimiter="; " prefix="" suffix=".">+ <choose>+ <if type="legal_case">+ <text macro="legal-case-first"/>+ </if>+ <else-if position="ibid-with-locator">+ <group delimiter=", ">+ <text suffix="." term="ibid"/>+ <text macro="point-locators-subsequent" />+ </group>+ </else-if>+ <else-if position="ibid">+ <text suffix="." term="ibid"/>+ </else-if>+ <else-if position="subsequent">+ <group delimiter=", ">+ <text macro="contributors-short" />+ <text macro="title-short" />+ <text macro="point-locators-subsequent" />+ </group>+ </else-if>+ <else>+ <group delimiter=", ">+ <text macro="contributors-note" />+ <text macro="title-note" />+ <text macro="description-note" />+ <text macro="secondary-contributors-note" />+ <text macro="container-title-note" />+ <text macro="container-contributors-note" />+ </group>+ <text macro="locators-note" />+ <text macro="collection-title" prefix=", " />+ <text macro="issue-note" />+ <text macro="locators-newspaper" prefix=", " />+ <text macro="point-locators"/>+ <text macro="access-note" prefix=", " />+ </else>+ </choose>+ </layout>+ </citation>+ <bibliography + entry-spacing="0"+ et-al-min="11"+ et-al-use-first="7"+ hanging-indent="true"+ subsequent-author-substitute="---">+ <sort>+ <key macro="sort-key" />+ <key variable="issued" />+ </sort>+ <layout suffix=".">+ <choose>+ <if type="legal_case">+ <text macro="legal-case-first"/>+ </if>+ <else>+ <group delimiter=". ">+ <text macro="contributors" />+ <text macro="title" />+ <text macro="description" />+ <text macro="secondary-contributors" />+ <group delimiter=", ">+ <text macro="container-title" />+ <text macro="container-contributors" />+ <text macro="locators-chapter" />+ </group>+ </group>+ <text macro="locators" />+ <text macro="collection-title" prefix=". " />+ <text macro="issue" />+ <text macro="locators-newspaper" prefix=", " />+ <text macro="locators-journal" />+ <text macro="access" prefix=". " />+ </else>+ </choose>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<++>>===== INPUT =====>>+[+ {+ "id": 1,+ "type": "webpage",+ "title": "<b>Zotero</b> … \"Quick Start\" & <sc>Guide</sc> 日本語",+ "URL": "http://zotero.org/support/quick_start_guide",+ "author": [+ {+ "family": "Center <sup>for</sup> History <sub>and</sub> New Media",+ "given": "",+ "isInstitution": 1+ }+ ]+ },+ {+ "id": 5,+ "type": "book",+ "title": "Book A",+ "author": [+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ }+ },+ {+ "id": 9,+ "type": "book",+ "title": "Book A",+ "author": [+ {+ "family": "Smith",+ "given": "Steven"+ }+ ],+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ }+ }+]+<<===== INPUT =====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/testers_SecondAutoGeneratedZoteroPluginTest.txt view
@@ -0,0 +1,770 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Center <sup>for</sup> History <sub>and</sub> New Media. “<b>Zotero</b> … ‘Quick Start’ & <span style="font-variant:small-caps;">Guide</span> 日本語.” http://zotero.org/support/quick_start_guide.</div>+ <div class="csl-entry">Smith, John. <i>Book A</i>, 2000.</div>+ <div class="csl-entry">Smith, Steven. <i>Book A</i>, 2000.</div>+</div>+<<===== RESULT =====<<++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <title>Chicago Manual of Style (Full Note with Bibliography)</title>+ <id>http://www.zotero.org/styles/chicago-fullnote-bibliography</id>+ <link rel="self" href="http://www.zotero.org/styles/chicago-fullnote-bibliography" />+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation" />+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </contributor>+ <contributor>+ <name>Elena Razlogova</name>+ <email>elena.razlogova@gmail.com</email>+ </contributor>+ <summary>Chicago format with full notes and bibliography</summary>+ <category field="generic-base" />+ <category citation-format="numeric" />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="editor-translator">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <names delimiter=", " variable="editor">+ <label form="verb-short" suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names delimiter=", " variable="translator">+ <label form="verb-short" suffix=". " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="secondary-contributors-note">+ <choose>+ <if match="none" type="chapter">+ <text macro="editor-translator" />+ </if>+ </choose>+ </macro>+ <macro name="container-contributors-note">+ <choose>+ <if type="chapter">+ <text macro="editor-translator" />+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if match="none" type="chapter">+ <group delimiter=". ">+ <choose>+ <if variable="author">+ <names delimiter=". " variable="editor">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names delimiter=". " variable="translator">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter">+ <group delimiter=", ">+ <choose>+ <if variable="author">+ <names delimiter=", " variable="editor">+ <label form="verb" suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ <choose>+ <if match="any" variable="author editor">+ <names delimiter=", " variable="translator">+ <label form="verb" suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="editor-note">+ <names variable="editor">+ <name and="text" delimiter=", " sort-separator=", " />+ <label form="short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="translator-note">+ <names variable="translator">+ <name and="text" delimiter=", " sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="recipient-note">+ <names delimiter=", " variable="recipient">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="contributors-note">+ <names variable="author">+ <name and="text" delimiter=", " sort-separator=", " />+ <substitute>+ <text macro="editor-note" />+ <text macro="translator-note" />+ </substitute>+ </names>+ <text macro="recipient-note" />+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ </names>+ </macro>+ <macro name="recipient">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ <else>+ <text term="letter" text-case="capitalize-first" />+ </else>+ </choose>+ </if>+ </choose>+ <text macro="recipient-note" prefix=" " />+ </macro>+ <macro name="contributors">+ <names variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="first" sort-separator=", " />+ <substitute>+ <text macro="editor" />+ <text macro="translator" />+ </substitute>+ </names>+ <text macro="recipient" prefix=". " />+ </macro>+ <macro name="recipient-short">+ <names variable="recipient">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " form="short" />+ </names>+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name and="text" delimiter=", " form="short" />+ <substitute>+ <names variable="editor" />+ <names variable="translator" />+ </substitute>+ </names>+ <text macro="recipient-short" />+ </macro>+ <macro name="contributors-sort">+ <names variable="author">+ <name and="text" delimiter=", " delimiter-precedes-last="always" name-as-sort-order="all" sort-separator=", " />+ <label form="verb-short" prefix=", " suffix="." />+ <substitute>+ <names variable="editor" />+ <names variable="translator" />+ </substitute>+ </names>+ </macro>+ <macro name="interviewer-note">+ <names delimiter=", " variable="interviewer">+ <label form="verb" prefix=" " suffix=" " text-case="lowercase" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="interviewer">+ <names delimiter=", " variable="interviewer">+ <label form="verb" prefix=" " suffix=" " text-case="capitalize-first" />+ <name and="text" delimiter=", " />+ </names>+ </macro>+ <macro name="title-note">+ <choose>+ <if match="none" variable="title">+ <text variable="genre" />+ </if>+ <else-if type="book">+ <text font-style="italic" variable="title" />+ </else-if>+ <else>+ <text quotes="true" variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if match="none" variable="title">+ <choose>+ <if match="none" type="personal_communication">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ </if>+ <else-if type="book">+ <text font-style="italic" variable="title" />+ </else-if>+ <else>+ <text quotes="true" variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="title-short">+ <choose>+ <if match="none" variable="title">+ <choose>+ <if type="interview">+ <text term="interview" text-case="lowercase" />+ </if>+ <else-if match="any" type="manuscript speech">+ <text form="short" variable="genre" />+ </else-if>+ <else-if type="personal_communication">+ <text macro="issued" />+ </else-if>+ </choose>+ </if>+ <else-if type="book">+ <text font-style="italic" form="short" variable="title" />+ </else-if>+ <else>+ <text form="short" quotes="true" variable="title" />+ </else>+ </choose>+ </macro>+ <macro name="description-note">+ <group delimiter=", ">+ <text macro="interviewer-note" />+ <text variable="medium" />+ <choose>+ <if match="none" variable="title"/>+ <else-if match="any" type="thesis speech"/>+ <else>+ <text variable="genre" />+ </else>+ </choose>+ </group>+ </macro>+ <macro name="description">+ <group delimiter=", ">+ <group delimiter=". ">+ <text macro="interviewer" />+ <text text-case="capitalize-first" variable="medium" />+ </group>+ <choose>+ <if match="none" variable="title"/>+ <else-if match="any" type="thesis speech"/>+ <else>+ <text text-case="capitalize-first" variable="genre" />+ </else>+ </choose>+ </group>+ </macro>+ <macro name="container-title-note">+ <choose>+ <if type="chapter">+ <text suffix=" " term="in" text-case="lowercase" />+ </if>+ </choose>+ <text font-style="italic" variable="container-title" />+ </macro>+ <macro name="container-title">+ <choose>+ <if type="chapter">+ <text suffix=" " term="in" text-case="capitalize-first" />+ </if>+ </choose>+ <text font-style="italic" variable="container-title" />+ </macro>+ <macro name="collection-title">+ <text variable="collection-title" />+ <text prefix=" " variable="collection-number" />+ </macro>+ <macro name="edition-note">+ <choose>+ <if match="any" type="book chapter">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number form="ordinal" variable="edition" />+ <text form="short" suffix="." term="edition" />+ </group>+ </if>+ <else>+ <text suffix="." variable="edition" />+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if match="any" type="book chapter">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number form="ordinal" variable="edition" />+ <text form="short" suffix="." term="edition" />+ </group>+ </if>+ <else>+ <text suffix="." text-case="capitalize-first" variable="edition" />+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-note">+ <choose>+ <if type="article-journal">+ <text prefix=" " variable="volume" />+ <text prefix=", no. " variable="issue" />+ </if>+ <else-if match="any" type="book chapter">+ <group delimiter=", " prefix=", ">+ <group>+ <text form="short" suffix=". " term="volume" />+ <number form="numeric" variable="volume" />+ </group>+ <choose>+ <if match="none" variable="locator">+ <group>+ <number form="numeric" variable="number-of-volumes" />+ <text form="short" plural="true" prefix=" " suffix="." term="volume" />+ </group>+ </if>+ </choose>+ <text macro="edition-note" />+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <text prefix=" " variable="volume" />+ <text prefix=", no. " variable="issue" />+ </if>+ <else-if match="any" type="book">+ <group delimiter=". " prefix=". ">+ <group>+ <text form="short" suffix=". " term="volume" text-case="capitalize-first" />+ <number form="numeric" variable="volume" />+ </group>+ <group>+ <number form="numeric" variable="number-of-volumes" />+ <text form="short" plural="true" prefix=" " suffix="." term="volume" />+ </group>+ <text macro="edition" />+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-newspaper">+ <choose>+ <if type="article-newspaper">+ <group delimiter=", ">+ <group>+ <text suffix=" " variable="edition" />+ <text prefix=" " term="edition" />+ </group>+ <group>+ <text form="short" suffix=". " term="section" />+ <text variable="section" />+ </group>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="event">+ <group>+ <text suffix=" " term="presented at" />+ <text variable="event" />+ </group>+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place" />+ <text variable="publisher" />+ </group>+ </macro>+ <macro name="issued">+ <choose>+ <if match="any" type="graphic report">+ <date variable="issued">+ <date-part name="month" suffix=" " />+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </if>+ <else-if match="any" type="book chapter thesis">+ <date variable="issued">+ <date-part name="year" />+ </date>+ </else-if>+ <else>+ <date variable="issued">+ <date-part name="month" suffix=" " />+ <date-part name="day" suffix=", " />+ <date-part name="year" />+ </date>+ </else>+ </choose>+ </macro>+ <macro name="point-locators-subsequent">+ <group>+ <choose>+ <if locator="page" match="none">+ <label form="short" suffix=" " variable="locator" />+ </if>+ </choose>+ <text variable="locator" />+ </group>+ </macro>+ <macro name="point-locators">+ <choose>+ <if match="none" variable="locator">+ <text macro="pages" />+ </if>+ <else-if type="article-journal">+ <text prefix=": " variable="locator" />+ </else-if>+ <else>+ <text macro="point-locators-subsequent" prefix=", " />+ </else>+ </choose>+ </macro>+ <macro name="pages">+ <choose>+ <if type="article-journal">+ <text prefix=": " variable="page" />+ </if>+ <else-if type="chapter">+ <text prefix=", " variable="page" />+ </else-if>+ </choose>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter">+ <text suffix=":" variable="volume" />+ <text variable="page" />+ </if>+ </choose>+ </macro>+ <macro name="locators-journal">+ <choose>+ <if type="article-journal">+ <text prefix=": " variable="page" />+ </if>+ </choose>+ </macro>+ <macro name="archive-note">+ <group delimiter=", ">+ <text variable="archive_location" />+ <text variable="archive" />+ <text variable="archive-place" />+ </group>+ </macro>+ <macro name="archive">+ <group delimiter=". ">+ <text text-case="capitalize-first" variable="archive_location" />+ <text variable="archive" />+ <text variable="archive-place" />+ </group>+ </macro>+ <macro name="issue-note">+ <choose>+ <if type="article-journal">+ <text macro="issued" prefix=" (" suffix=")" />+ </if>+ <else-if match="any" variable="publisher-place publisher">+ <group delimiter=", " prefix=" (" suffix=")">+ <group delimiter=" ">+ <choose>+ <if match="none" variable="title"/>+ <else-if match="any" type="thesis speech">+ <text variable="genre" />+ </else-if>+ </choose>+ <text macro="event" />+ </group>+ <text macro="publisher" />+ <text macro="issued" />+ </group>+ </else-if>+ <else>+ <text macro="issued" prefix=", " />+ </else>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="article-journal">+ <text macro="issued" prefix=" (" suffix=")" />+ </if>+ <else-if type="speech">+ <choose>+ <if match="none" variable="title"> </if>+ <else>+ <text prefix=". " text-case="capitalize-first" variable="genre" />+ </else>+ </choose>+ <text macro="event" prefix=" " />+ <text prefix=", " variable="event-place" />+ <text macro="issued" prefix=", " />+ </else-if>+ <else-if match="any" variable="publisher-place publisher">+ <group delimiter=", " prefix=". ">+ <choose>+ <if type="thesis">+ <text text-case="capitalize-first" variable="genre" />+ </if>+ </choose>+ <text macro="publisher" />+ <text macro="issued" />+ </group>+ </else-if>+ <else>+ <text macro="issued" prefix=", " />+ </else>+ </choose>+ </macro>+ <macro name="access-note">+ <group delimiter=", ">+ <choose>+ <if match="any" type="graphic report">+ <text macro="archive-note" />+ </if>+ <else-if match="none" type="book thesis chapter article-journal article-newspaper article-magazine">+ <text macro="archive-note" />+ </else-if>+ </choose>+ <text prefix="doi:" variable="DOI" />+ <text variable="URL" />+ </group>+ </macro>+ <macro name="access">+ <group delimiter=". ">+ <choose>+ <if match="any" type="graphic report">+ <text macro="archive" />+ </if>+ <else-if match="none" type="book thesis chapter article-journal article-newspaper article-magazine">+ <text macro="archive" />+ </else-if>+ </choose>+ <text variable="URL" />+ </group>+ </macro>+ <macro name="sort-key">+ <text macro="contributors-sort" suffix=" " />+ <text suffix=" " variable="title" />+ <text variable="genre" />+ </macro>+ <macro name="legal-case-first">+ <group delimiter=", ">+ <text variable="title"/>+ <group delimiter=" ">+ <text variable="volume"/>+ <text variable="container-title"/>+ <text variable="page"/>+ <group prefix="(" suffix=")" delimiter=" ">+ <text variable="authority" form="short"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </group>+ </group>+ </macro>+ <citation + disambiguate-add-names="true"+ et-al-min="4"+ et-al-subsequent-min="4"+ et-al-subsequent-use-first="1"+ et-al-use-first="1">+ <layout delimiter="; " prefix="" suffix=".">+ <choose>+ <if type="legal_case">+ <text macro="legal-case-first"/>+ </if>+ <else-if position="ibid-with-locator">+ <group delimiter=", ">+ <text suffix="." term="ibid"/>+ <text macro="point-locators-subsequent" />+ </group>+ </else-if>+ <else-if position="ibid">+ <text suffix="." term="ibid"/>+ </else-if>+ <else-if position="subsequent">+ <group delimiter=", ">+ <text macro="contributors-short" />+ <text macro="title-short" />+ <text macro="point-locators-subsequent" />+ </group>+ </else-if>+ <else>+ <group delimiter=", ">+ <text macro="contributors-note" />+ <text macro="title-note" />+ <text macro="description-note" />+ <text macro="secondary-contributors-note" />+ <text macro="container-title-note" />+ <text macro="container-contributors-note" />+ </group>+ <text macro="locators-note" />+ <text macro="collection-title" prefix=", " />+ <text macro="issue-note" />+ <text macro="locators-newspaper" prefix=", " />+ <text macro="point-locators"/>+ <text macro="access-note" prefix=", " />+ </else>+ </choose>+ </layout>+ </citation>+ <bibliography + entry-spacing="0"+ et-al-min="11"+ et-al-use-first="7"+ hanging-indent="true"+ subsequent-author-substitute="---">+ <sort>+ <key macro="sort-key" />+ <key variable="issued" />+ </sort>+ <layout suffix=".">+ <choose>+ <if type="legal_case">+ <text macro="legal-case-first"/>+ </if>+ <else>+ <group delimiter=". ">+ <text macro="contributors" />+ <text macro="title" />+ <text macro="description" />+ <text macro="secondary-contributors" />+ <group delimiter=", ">+ <text macro="container-title" />+ <text macro="container-contributors" />+ <text macro="locators-chapter" />+ </group>+ </group>+ <text macro="locators" />+ <text macro="collection-title" prefix=". " />+ <text macro="issue" />+ <text macro="locators-newspaper" prefix=", " />+ <text macro="locators-journal" />+ <text macro="access" prefix=". " />+ </else>+ </choose>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<++>>===== INPUT =====>>+[+ {+ "URL": "http://zotero.org/support/quick_start_guide",+ "author": [+ {+ "family": "Center <sup>for</sup> History <sub>and</sub> New Media",+ "given": "",+ "isInstitution": 1+ }+ ],+ "id": 1,+ "title": "<b>Zotero</b> … \"Quick Start\" & <sc>Guide</sc> 日本語",+ "type": "webpage"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "id": 5,+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Smith",+ "given": "Steven"+ }+ ],+ "id": 9,+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ },+ "title": "Book A",+ "type": "book"+ }+]+<<===== INPUT =====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/textcase_AfterQuote.txt view
@@ -0,0 +1,43 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++>>===== RESULT =====>>+The “New Career” and Organizational Commitment+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" text-case="title"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "The “new Career” and Organizational Commitment",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/textcase_CapitalizeAll.txt view
@@ -0,0 +1,45 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+This IS A Pen That Is A SMITH Pencil+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" text-case="capitalize-all"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "This IS a Pen that is a <span class=\"nocase\">SMITH</span> Pencil",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/textcase_CapitalizeFirst.txt view
@@ -0,0 +1,45 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+This is a Pen that is a Smith Pencil+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" text-case="capitalize-first"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "this is a Pen that is a <span class=\"nocase\">Smith</span> Pencil",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/textcase_CapitalizeFirstWithDecor.txt view
@@ -0,0 +1,45 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+<i>This is a Pen that is a Smith Pencil</i>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" text-case="capitalize-first" font-style="italic"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "this is a Pen that is a <span class=\"nocase\">Smith</span> Pencil",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/textcase_CapitalsUntouched.txt view
@@ -0,0 +1,69 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+UK+Review of Book by A.N. Author+Writings on UK People and Places+All for One. For All.+OC 1+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="
">+ <text variable="title" text-case="title"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "UK",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "title": "Review of Book by A.N. Author",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "title": "Writings on UK people and places",+ "type": "book"+ },+ {+ "id": "ITEM-4",+ "title": "All for one. For all.",+ "type": "book"+ },+ {+ "id": "ITEM-5",+ "title": "OC 1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/textcase_ImplicitNocase.txt view
@@ -0,0 +1,74 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+My <span style="font-variant:small-caps;">small caps phrase</span> in a Title+My <sup>superscript phrase</sup> in a Title+My <sub>subscript phrase</sub> in a Title+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" text-case="title" />+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "My <sc>small caps phrase</sc> in a title",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "title": "My <sup>superscript phrase</sup> in a title",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "title": "My <sub>subscript phrase</sub> in a title",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/textcase_InQuotes.txt view
@@ -0,0 +1,52 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+From “Distance” to “Friction”: Substituting Metaphors and Redirecting Intercultural Research For+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; ">+ <text text-case="title" variable="title"/>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "from \"distance\" to \"friction\": substituting metaphors and redirecting intercultural research for",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/textcase_LastChar.txt view
@@ -0,0 +1,63 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+07-x+07-x Test+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" text-case="title" />+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "07-x",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "title": "07-x test",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/textcase_LocaleUnicode.txt view
@@ -0,0 +1,96 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++Details here:++https://forums.zotero.org/discussion/83567/uppercase-letter-problem-in-turkish+++>>===== RESULT =====>>+IA AND IB EN+IA AND IB EN+İC AND ID TR+BAD LANGUAGE CODE THAT PASSES IN NODE.JS BUT FAILS IN SOME BROWSERS+<<===== RESULT =====<<++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ],+ [+ {+ "id": "ITEM-4"+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ default-locale="en">+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" text-case="uppercase"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "ia and ıb EN",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "title": "ia and ıb EN",+ "type": "book",+ "language": "en"+ },+ {+ "id": "ITEM-3",+ "title": "ic and ıd TR",+ "type": "book",+ "language": "tr"+ },+ {+ "id": "ITEM-4",+ "title": "bad language code that passes in node.js but fails in some browsers",+ "type": "book",+ "language": "original-one hello"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<++
+ test/csl/textcase_Lowercase.txt view
@@ -0,0 +1,45 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++2017-01-27: "nocase" markup now recognized.++>>===== RESULT =====>>+this is a pen that is a Smith pencil+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" text-case="lowercase"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "This is a pen that is a <span class=\"nocase\">Smith</span> pencil",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/textcase_NoSpaceBeforeApostrophe.txt view
@@ -0,0 +1,93 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Marcus Shafi’i (ed.), Response to Shafi’i Comment+Marcus Shafi`i (ed.), Response to Shafi`i Comment+<<===== RESULT =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ]+]+<<===== CITATION-ITEMS =====<<++++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0" demote-non-dropping-particle="never">+ <info>+ <title>Chicago Manual of Style (full note, no Ibid.)</title>+ <id>http://www.zotero.org/styles/chicago-fullnote-bibliography-no-ibid</id>+ <link href="http://www.zotero.org/styles/chicago-fullnote-bibliography-no-ibid" rel="self"/>+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>+ <author>+ <name>anon</name>+ </author>+ <category citation-format="note"/>+ <category field="generic-base"/>+ <summary>Chicago format with full notes and bibliography</summary>+ <updated>2012-10-25T21:15:26+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <citation>+ <layout>+ <group delimiter=", ">+ <names variable="editor">+ <name/>+ <label prefix=" (" suffix=")" form="short"/>+ </names>+ <text variable="title" text-case="title"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "editor": [+ {+ "family": "Shafi'i",+ "given": "Marcus"+ }+ ],+ "title": "Response to Shafi'i comment",+ "type": "book"+ },+ {+ "id": "ITEM-2", + "editor": [+ {+ "family": "Shafi`i",+ "given": "Marcus"+ }+ ],+ "title": "Response to Shafi`i comment",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/textcase_NonEnglishChars.txt view
@@ -0,0 +1,63 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Saline Solution of β-Carotine+Saline Solution of Beta-Carotine+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" text-case="title"/>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Saline solution of β-carotine",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "title": "Saline solution of beta-carotine",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/textcase_RepeatedTitleBug.txt view
@@ -0,0 +1,720 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">Jenrich, R. I., & Bentler, P. M. (2012). Exploratory bi-factor analysis: The oblique case. <i>Psychometrika</i>, <i>77</i>(3), 442–454. https://doi.org/https://doi.org/10.1007/s11336-012-9269-1</div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="never">+ <info>+ <title>American Psychological Association 6th edition</title>+ <title-short>APA</title-short>+ <id>http://www.zotero.org/styles/apa</id>+ <link href="http://www.zotero.org/styles/apa" rel="self"/>+ <link href="http://owl.english.purdue.edu/owl/resource/560/01/" rel="documentation"/>+ <author>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </author>+ <contributor>+ <name>Bruce D'Arcus</name>+ </contributor>+ <contributor>+ <name>Curtis M. Humphrey</name>+ </contributor>+ <contributor>+ <name>Richard Karnesky</name>+ <email>karnesky+zotero@gmail.com</email>+ <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>+ </contributor>+ <contributor>+ <name>Sebastian Karcher</name>+ </contributor>+ <contributor>+ <name> Brenton M. Wiernik</name>+ <email>zotero@wiernik.org</email>+ </contributor>+ <category citation-format="author-date"/>+ <category field="psychology"/>+ <category field="generic-base"/>+ <updated>2016-09-28T13:09:49+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale xml:lang="en">+ <terms>+ <term name="editortranslator" form="short">+ <single>ed. & trans.</single>+ <multiple>eds. & trans.</multiple>+ </term>+ <term name="translator" form="short">+ <single>trans.</single>+ <multiple>trans.</multiple>+ </term>+ </terms>+ </locale>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference entry-dictionary entry-encyclopedia" match="any">+ <group delimiter=", ">+ <names variable="container-author" delimiter=", ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=" (" text-case="title" suffix=")"/>+ </names>+ <names variable="editor translator" delimiter=", ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=" (" text-case="title" suffix=")"/>+ </names>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if type="article-journal chapter paper-conference entry-dictionary entry-encyclopedia" match="none">+ <group delimiter=", " prefix=" (" suffix=")">+ <names variable="container-author" delimiter=", ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="title"/>+ </names>+ <names variable="editor translator" delimiter=", ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="title"/>+ </names>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=" (" suffix=")" text-case="capitalize-first"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <choose>+ <if type="report">+ <text variable="publisher"/>+ <text macro="title"/>+ </if>+ <else>+ <text macro="title"/>+ </else>+ </choose>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="symbol" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <choose>+ <if type="report">+ <text variable="publisher"/>+ <text variable="title" form="short" font-style="italic"/>+ </if>+ <else-if type="legal_case">+ <text variable="title" font-style="italic"/>+ </else-if>+ <else-if type="book graphic motion_picture song" match="any">+ <text variable="title" form="short" font-style="italic"/>+ </else-if>+ <else-if type="bill legislation" match="any">+ <text variable="title" form="short"/>+ </else-if>+ <else-if variable="reviewed-author">+ <choose>+ <if variable="reviewed-title" match="none">+ <text variable="title" form="short" font-style="italic" prefix="Review of "/>+ </if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </else-if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <choose>+ <if type="thesis report" match="any">+ <choose>+ <if variable="DOI" match="any">+ <text variable="DOI" prefix="https://doi.org/"/>+ </if>+ <else-if variable="archive" match="any">+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="archive" suffix="."/>+ <text variable="archive_location" prefix=" (" suffix=")"/>+ </group>+ </else-if>+ <else>+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </else>+ </choose>+ </if>+ <else>+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix="https://doi.org/"/>+ </if>+ <else>+ <choose>+ <if type="webpage">+ <group delimiter=" ">+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <group>+ <date variable="accessed" form="text" suffix=", "/>+ </group>+ <text term="from"/>+ <text variable="URL"/>+ </group>+ </if>+ <else>+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </else>+ </choose>+ </else>+ </choose>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if type="book graphic manuscript motion_picture report song speech thesis" match="any">+ <choose>+ <if variable="version" type="book" match="all">+ <!---This is a hack until we have a computer program type -->+ <text variable="title"/>+ </if>+ <else>+ <text variable="title" font-style="italic"/>+ </else>+ </choose>+ </if>+ <else-if variable="reviewed-author">+ <choose>+ <if variable="reviewed-title">+ <group delimiter=" ">+ <text variable="title"/>+ <group delimiter=", " prefix="[" suffix="]">+ <text variable="reviewed-title" font-style="italic" prefix="Review of "/>+ <names variable="reviewed-author" delimiter=", ">+ <label form="verb-short" suffix=" "/>+ <name and="symbol" initialize-with=". " delimiter=", "/>+ </names>+ </group>+ </group>+ </if>+ <else>+ <!-- assume `title` is title of reviewed work -->+ <group delimiter=", " prefix="[" suffix="]">+ <text variable="title" font-style="italic" prefix="Review of "/>+ <names variable="reviewed-author" delimiter=", ">+ <label form="verb-short" suffix=" "/>+ <name and="symbol" initialize-with=". " delimiter=", "/>+ </names>+ </group>+ </else>+ </choose>+ </else-if>+ <else>+ <text variable="title"/>+ </else>+ </choose>+ </macro>+ <macro name="title-plus-extra">+ <text macro="title"/>+ <choose>+ <if type="report thesis" match="any">+ <group prefix=" (" suffix=")" delimiter=", ">+ <group delimiter=" ">+ <choose>+ <if variable="genre" match="any">+ <text variable="genre"/>+ </if>+ <else>+ <text variable="collection-title"/>+ </else>+ </choose>+ <text variable="number" prefix="No. "/>+ </group>+ <group delimiter=" ">+ <text term="version" text-case="capitalize-first"/>+ <text variable="version"/>+ </group>+ <text macro="edition"/>+ </group>+ </if>+ <else-if type="post-weblog webpage" match="any">+ <text variable="genre" prefix=" [" suffix="]"/>+ </else-if>+ <else-if variable="version">+ <group delimiter=" " prefix=" (" suffix=")">+ <text term="version" text-case="capitalize-first"/>+ <text variable="version"/>+ </group>+ </else-if>+ </choose>+ <text macro="format" prefix=" [" suffix="]"/>+ </macro>+ <macro name="format">+ <choose>+ <if match="any" variable="medium">+ <text variable="medium" text-case="capitalize-first"/>+ </if>+ <else-if type="dataset" match="any">+ <text value="Data set"/>+ </else-if>+ </choose>+ </macro>+ <macro name="publisher">+ <choose>+ <if type="report" match="any">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </if>+ <else-if type="thesis" match="any">+ <group delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </else-if>+ <else-if type="post-weblog webpage" match="none">+ <group delimiter=", ">+ <choose>+ <if variable="event version" type="speech motion_picture" match="none">+ <!-- Including version is to avoid printing the programming language for computerProgram /-->+ <text variable="genre"/>+ </if>+ </choose>+ <choose>+ <if type="article-journal article-magazine" match="none">+ <group delimiter=": ">+ <choose>+ <if variable="publisher-place">+ <text variable="publisher-place"/>+ </if>+ <else>+ <text variable="event-place"/>+ </else>+ </choose>+ <text variable="publisher"/>+ </group>+ </if>+ </choose>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="event">+ <choose>+ <if variable="container-title" match="none">+ <choose>+ <if variable="event">+ <choose>+ <if variable="genre" match="none">+ <text term="presented at" text-case="capitalize-first" suffix=" "/>+ <text variable="event"/>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="genre" text-case="capitalize-first"/>+ <text term="presented at"/>+ <text variable="event"/>+ </group>+ </else>+ </choose>+ </if>+ <else-if type="speech">+ <text variable="genre" text-case="capitalize-first"/>+ </else-if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issued">+ <choose>+ <if type="bill legal_case legislation" match="none">+ <choose>+ <if variable="issued">+ <group prefix=" (" suffix=")">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="year-suffix"/>+ <choose>+ <if type="speech" match="any">+ <date variable="issued">+ <date-part prefix=", " name="month"/>+ </date>+ </if>+ <else-if type="article-journal bill book chapter graphic legal_case legislation motion_picture paper-conference report song dataset" match="none">+ <date variable="issued">+ <date-part prefix=", " name="month"/>+ <date-part prefix=" " name="day"/>+ </date>+ </else-if>+ </choose>+ </group>+ </if>+ <else-if variable="status">+ <group prefix=" (" suffix=")">+ <text variable="status"/>+ <text variable="year-suffix" prefix="-"/>+ </group>+ </else-if>+ <else>+ <group prefix=" (" suffix=")">+ <text term="no date" form="short"/>+ <text variable="year-suffix" prefix="-"/>+ </group>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issued-sort">+ <choose>+ <if type="article-journal bill book chapter graphic legal_case legislation motion_picture paper-conference report song dataset" match="none">+ <date variable="issued">+ <date-part name="year"/>+ <date-part name="month"/>+ <date-part name="day"/>+ </date>+ </if>+ <else>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </else>+ </choose>+ </macro>+ <macro name="issued-year">+ <choose>+ <if variable="issued">+ <group delimiter="/">+ <date variable="original-date" form="text"/>+ <group>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text variable="year-suffix"/>+ </group>+ </group>+ </if>+ <else-if variable="status">+ <text variable="status"/>+ <text variable="year-suffix" prefix="-"/>+ </else-if>+ <else>+ <text term="no date" form="short"/>+ <text variable="year-suffix" prefix="-"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short"/>+ </group>+ </if>+ <else>+ <text variable="edition"/>+ </else>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal article-magazine" match="any">+ <group prefix=", " delimiter=", ">+ <group>+ <text variable="volume" font-style="italic"/>+ <text variable="issue" prefix="(" suffix=")"/>+ </group>+ <text variable="page"/>+ </group>+ <choose>+ <!--for advanced online publication-->+ <if variable="issued">+ <choose>+ <if variable="page issue" match="none">+ <text variable="status" prefix=". "/>+ </if>+ </choose>+ </if>+ </choose>+ </if>+ <else-if type="article-newspaper">+ <group delimiter=" " prefix=", ">+ <label variable="page" form="short"/>+ <text variable="page"/>+ </group>+ </else-if>+ <else-if type="book graphic motion_picture report song chapter paper-conference entry-encyclopedia entry-dictionary" match="any">+ <group prefix=" (" suffix=")" delimiter=", ">+ <choose>+ <if type="report" match="none">+ <!-- edition for report is included in title-plus-extra /-->+ <text macro="edition"/>+ </if>+ </choose>+ <choose>+ <if variable="volume" match="any">+ <group>+ <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>+ <number variable="volume" form="numeric"/>+ </group>+ </if>+ <else>+ <group>+ <text term="volume" form="short" plural="true" text-case="capitalize-first" suffix=" "/>+ <number variable="number-of-volumes" form="numeric" prefix="1–"/>+ </group>+ </else>+ </choose>+ <group>+ <label variable="page" form="short" suffix=" "/>+ <text variable="page"/>+ </group>+ </group>+ </else-if>+ <else-if type="legal_case">+ <group prefix=" (" suffix=")" delimiter=" ">+ <text variable="authority"/>+ <choose>+ <if variable="container-title" match="any">+ <!--Only print year for cases published in reporters-->+ <date variable="issued" form="numeric" date-parts="year"/>+ </if>+ <else>+ <date variable="issued" form="text"/>+ </else>+ </choose>+ </group>+ </else-if>+ <else-if type="bill legislation" match="any">+ <date variable="issued" prefix=" (" suffix=")">+ <date-part name="year"/>+ </date>+ </else-if>+ </choose>+ </macro>+ <macro name="citation-locator">+ <group>+ <choose>+ <if locator="chapter">+ <label variable="locator" form="long" text-case="capitalize-first"/>+ </if>+ <else>+ <label variable="locator" form="short"/>+ </else>+ </choose>+ <text variable="locator" prefix=" "/>+ </group>+ </macro>+ <macro name="container">+ <choose>+ <if type="post-weblog webpage" match="none">+ <group>+ <choose>+ <if type="chapter paper-conference entry-encyclopedia" match="any">+ <text term="in" text-case="capitalize-first" suffix=" "/>+ </if>+ </choose>+ <group delimiter=", ">+ <text macro="container-contributors"/>+ <text macro="secondary-contributors"/>+ <text macro="container-title"/>+ </group>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-title">+ <choose>+ <if type="article article-journal article-magazine article-newspaper" match="any">+ <text variable="container-title" font-style="italic" text-case="title"/>+ </if>+ <else-if type="bill legal_case legislation" match="none">+ <text variable="container-title" font-style="italic"/>+ </else-if>+ </choose>+ </macro>+ <macro name="legal-cites">+ <choose>+ <if type="legal_case" match="any">+ <group prefix=", " delimiter=" ">+ <choose>+ <if variable="container-title">+ <text variable="volume"/>+ <text variable="container-title"/>+ <group delimiter=" ">+ <!--change to label variable="section" as that becomes available -->+ <text term="section" form="symbol"/>+ <text variable="section"/>+ </group>+ <text variable="page"/>+ </if>+ <else>+ <text variable="number" prefix="No. "/>+ </else>+ </choose>+ </group>+ </if>+ <else-if type="bill legislation" match="any">+ <group delimiter=", " prefix=", ">+ <choose>+ <if variable="number">+ <!--There's a public law number-->+ <text variable="number" prefix="Pub. L. No. "/>+ <group delimiter=" ">+ <!--change to label variable="section" as that becomes available -->+ <text term="section" form="symbol"/>+ <text variable="section"/>+ </group>+ <group delimiter=" ">+ <text variable="volume"/>+ <text variable="container-title"/>+ <text variable="page-first"/>+ </group>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="volume"/>+ <text variable="container-title"/>+ <!--change to label variable="section" as that becomes available -->+ <text term="section" form="symbol"/>+ <text variable="section"/>+ </group>+ </else>+ </choose>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="original-date">+ <choose>+ <if variable="original-date">+ <group prefix="(" suffix=")" delimiter=" ">+ <!---This should be localized-->+ <text value="Original work published"/>+ <date variable="original-date" form="text"/>+ </group>+ </if>+ </choose>+ </macro>+ <citation et-al-min="6" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" collapse="year" givenname-disambiguation-rule="primary-name">+ <sort>+ <key macro="author"/>+ <key macro="issued-sort"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <text macro="author-short"/>+ <text macro="issued-year"/>+ <text macro="citation-locator"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="8" et-al-use-first="6" et-al-use-last="true" entry-spacing="0" line-spacing="2">+ <sort>+ <key macro="author"/>+ <key macro="issued-sort" sort="ascending"/>+ <key macro="title"/>+ </sort>+ <layout>+ <group suffix=".">+ <group delimiter=". ">+ <text macro="author"/>+ <text macro="issued"/>+ <text macro="title-plus-extra"/>+ <text macro="container"/>+ </group>+ <text macro="legal-cites"/>+ <text macro="locators"/>+ <group delimiter=", " prefix=". ">+ <text macro="event"/>+ <text macro="publisher"/>+ </group>+ </group>+ <text macro="access" prefix=" "/>+ <text macro="original-date" prefix=" "/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "DOI": "https://doi.org/10.1007/s11336-012-9269-1",+ "author": [+ {+ "family": "Jenrich",+ "given": "R.I."+ },+ {+ "family": "Bentler",+ "given": "P.M."+ }+ ],+ "container-title": "Psychometrika",+ "id": "ITEM-1",+ "issue": "3",+ "issued": {+ "date-parts": [+ [+ 2012+ ]+ ]+ },+ "page": "442-454",+ "title": "Exploratory bi-factor analysis: The oblique case",+ "title-short": "Exploratory bi-factor analysis",+ "type": "article-journal",+ "volume": "77"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/textcase_SentenceCapitalization.txt view
@@ -0,0 +1,45 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+This is a pen that is a Smith pencil+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" text-case="sentence"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "This is a Pen that is a <span class=\"nocase\">Smith</span> Pencil",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/textcase_SkipNameParticlesInTitleCase.txt view
@@ -0,0 +1,60 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+John von Doe: An about up Life; John van Doe? A Life; John d’Doe! A Life; John de Doe a Life+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; ">+ <text variable="title" text-case="title"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "John von Doe: an about up life",+ "type": "book"+ },+ {+ "id": "ITEM-4",+ "title": "John van Doe? a life",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "title": "John d'Doe! a life",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "title": "John de Doe a life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/textcase_StopWordBeforeHyphen.txt view
@@ -0,0 +1,52 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Employee Pro-Environmental Behavior+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="container-title" text-case="title"/>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "container-title": "Employee pro-environmental behavior",+ "id": "ITEM-1",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/textcase_TitleCapitalization.txt view
@@ -0,0 +1,45 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+This IS a Pen That Is a smith Pencil+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" text-case="title"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "This IS a pen that is a <span class=\"nocase\">smith</span> pencil",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/textcase_TitleCapitalization2.txt view
@@ -0,0 +1,45 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+This IS a Pen That Is a Cat/Mouse smith Pencil+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" text-case="title"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "This IS a pen that is a cat/mouse <span class=\"nocase\">smith</span> pencil",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/textcase_TitleCaseNonEnglish.txt view
@@ -0,0 +1,46 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Review of book by A.N. author+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" text-case="title"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "language": "de",+ "title": "Review of book by A.N. author",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/textcase_TitleCaseNonEnglish2.txt view
@@ -0,0 +1,47 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Review of Book by A.N. Author+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ default-locale="de-DE"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" text-case="title"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "language": "en",+ "title": "Review of book by A.N. author",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/textcase_TitleCaseWithFinalNocase.txt view
@@ -0,0 +1,43 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++>>===== RESULT =====>>+The Mirror, the Window, and the Telescope: How Renaissance Linear Perspective Changed Our Vision of the Universe+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" text-case="title"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "The <span class=\"nocase\">Mirror</span>, the <span class=\"nocase\">Window</span>, and the <span class=\"nocase\">Telescope</span>: <span class=\"nocase\">How Renaissance Linear Perspective Changed Our Vision</span> of the <span class=\"nocase\">Universe</span>",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/textcase_TitleCaseWithHyphens.txt view
@@ -0,0 +1,43 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++>>===== RESULT =====>>+Out-of-Fashion Initiatives: A Second Story+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" text-case="title"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "Out-of-fashion initiatives: a second story",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/textcase_TitleCaseWithInitials.txt view
@@ -0,0 +1,45 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Review of Book by A.N. Author+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" text-case="title"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "Review of Book by A.N. Author",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/textcase_TitleCaseWithNonBreakSpace.txt view
@@ -0,0 +1,43 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++>>===== RESULT =====>>+The Physical Volcanology of the 1600 Eruption of Huaynaputina+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" text-case="title"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "The physical volcanology of the 1600 eruption of Huaynaputina",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/textcase_TitleWithCircumflex.txt view
@@ -0,0 +1,52 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+“About Arvâsî”+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" text-case="title" quotes="true"/>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "About arvâsî",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/textcase_TitleWithEmDash.txt view
@@ -0,0 +1,52 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Relationship of Core Self-Evaluation Traits—Self-Esteem, Generalized Self-Efficacy, Locus of Control, and Emotional Stability—with Job Satisfaction and Job Performance: A Meta-Analysis+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; ">+ <text variable="title" text-case="title"/>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Relationship of core self-evaluation traits—self-esteem, generalized self-efficacy, locus of control, and emotional stability—with job satisfaction and job performance: a meta-analysis",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/textcase_TitleWithEnDash.txt view
@@ -0,0 +1,52 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Closing the Scientist–Practitioner Gap: Studies from 2016 with Significant Practical Utility+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout delimiter="; ">+ <text variable="title" text-case="title"/>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Closing the scientist–practitioner gap: studies from 2016 with significant practical utility",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/textcase_Uppercase.txt view
@@ -0,0 +1,82 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++We're ignoring the "nocase" markup here, but no one is+likely to miss it.++2017-01-27: "nocase" markup now recognized.+++>>===== RESULT =====>>+SMITH, John: THIS IS A PEN THAT IS A Smith PENCIL+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="title-or-title-and-translator">+ <choose>+ <if type="webpage">+ <text macro="title"/>+ </if>+ <else>+ <text macro="title" suffix=", "/>+ <names variable="translator">+ <name/>+ </names>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <text variable="title"/>+ </macro>+ <citation>+ <layout>+ <group delimiter=": ">+ <names variable="author">+ <name name-as-sort-order="all">+ <name-part name="family" text-case="uppercase"/>+ </name>+ <substitute>+ <text macro="title-or-title-and-translator"/>+ </substitute>+ </names>+ <text variable="title" text-case="uppercase"/>+ </group>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Smith",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "title": "This is a pen that is a <span class=\"nocase\">Smith</span> pencil",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/textcase_UppercaseNumber.txt view
@@ -0,0 +1,45 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+XXIII+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <number variable="volume" form="roman" text-case="uppercase"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "type": "book",+ "volume": "23"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/unicode_NonBreakingSpace.txt view
@@ -0,0 +1,46 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+His Anonymous Life (postfix following non-breaking space)+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" suffix=" " />+ <text value="(postfix following non-breaking space)" />+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/variables_ContainerTitleShort.txt view
@@ -0,0 +1,435 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">+ <div class="csl-left-margin">1. </div><div class="csl-right-inline">Campbell DT, Fiske DW. Main title. In: Container: a title. (Series: a title).</div>+ </div>+ <div class="csl-entry">+ <div class="csl-left-margin">2. </div><div class="csl-right-inline">Campbell DT, Fiske DW. Main title. Container.</div>+ </div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" page-range-format="minimal">+ <info>+ <title>Vancouver</title>+ <id>http://www.zotero.org/styles/vancouver</id>+ <link href="http://www.zotero.org/styles/vancouver" rel="self"/>+ <link href="http://www.nlm.nih.gov/bsd/uniform_requirements.html" rel="documentation"/>+ <author>+ <name>Michael Berkowitz</name>+ <email>mberkowi@gmu.edu</email>+ </author>+ <contributor>+ <name>Sean Takats</name>+ <email>stakats@gmu.edu</email>+ </contributor>+ <contributor>+ <name>Sebastian Karcher</name>+ </contributor>+ <category citation-format="numeric"/>+ <category field="medicine"/>+ <summary>Vancouver style as outlined by International Committee of Medical Journal Editors Uniform Requirements for Manuscripts Submitted to Biomedical Journals: Sample References</summary>+ <updated>2014-09-06T16:03:01+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale xml:lang="en">+ <date form="text" delimiter=" ">+ <date-part name="year"/>+ <date-part name="month" form="short" strip-periods="true"/>+ <date-part name="day"/>+ </date>+ <terms>+ <term name="collection-editor" form="long">+ <single>editor</single>+ <multiple>editors</multiple>+ </term>+ <term name="presented at">presented at</term>+ <term name="available at">available from</term>+ <term name="section" form="short">sect.</term>+ </terms>+ </locale>+ <locale xml:lang="fr">+ <date form="text" delimiter=" ">+ <date-part name="day"/>+ <date-part name="month" form="short" strip-periods="true"/>+ <date-part name="year"/>+ </date>+ </locale>+ <macro name="author">+ <names variable="author">+ <name sort-separator=" " initialize-with="" name-as-sort-order="all" delimiter=", " delimiter-precedes-last="always"/>+ <label form="long" prefix=", "/>+ <substitute>+ <names variable="editor"/>+ </substitute>+ </names>+ </macro>+ <macro name="editor">+ <names variable="editor" suffix=".">+ <name sort-separator=" " initialize-with="" name-as-sort-order="all" delimiter=", " delimiter-precedes-last="always"/>+ <label form="long" prefix=", "/>+ </names>+ </macro>+ <macro name="chapter-marker">+ <choose>+ <if type="chapter paper-conference entry-dictionary entry-encyclopedia" match="any">+ <text term="in" text-case="capitalize-first"/>+ </if>+ </choose>+ </macro>+ <macro name="publisher">+ <choose>+ <!--discard publisher info for articles-->+ <if type="article-journal article-magazine article-newspaper" match="none">+ <group delimiter=": " suffix=";">+ <choose>+ <if type="thesis">+ <text variable="publisher-place" prefix="[" suffix="]"/>+ </if>+ <else-if type="speech"/>+ <else>+ <text variable="publisher-place"/>+ </else>+ </choose>+ <text variable="publisher"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="access">+ <choose>+ <if variable="URL">+ <group delimiter=": ">+ <text term="available at" text-case="capitalize-first"/>+ <text variable="URL"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="accessed-date">+ <choose>+ <if variable="URL">+ <group prefix="[" suffix="]" delimiter=" ">+ <text term="cited" text-case="lowercase"/>+ <date variable="accessed" form="text"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-title">+ <choose>+ <if type="article-journal article-magazine chapter paper-conference article-newspaper review review-book entry-dictionary entry-encyclopedia" match="any">+ <group suffix="." delimiter=" ">+ <choose>+ <if type="article-journal review review-book" match="any">+ <text variable="container-title" form="short" strip-periods="true"/>+ </if>+ <else>+ <text variable="container-title" strip-periods="true"/>+ </else>+ </choose>+ <choose>+ <if variable="URL">+ <text term="internet" prefix="[" suffix="]" text-case="capitalize-first"/>+ </if>+ </choose>+ </group>+ <text macro="edition" prefix=" "/>+ </if>+ <!--add event-name and event-place once they become available-->+ <else-if type="bill legislation" match="any">+ <group delimiter=", ">+ <group delimiter=". ">+ <text variable="container-title"/>+ <group delimiter=" ">+ <text term="section" form="short" text-case="capitalize-first"/>+ <text variable="section"/>+ </group>+ </group>+ <text variable="number"/>+ </group>+ </else-if>+ <else-if type="speech">+ <group delimiter=": " suffix=";">+ <group delimiter=" ">+ <text variable="genre" text-case="capitalize-first"/>+ <text term="presented at"/>+ </group>+ <text variable="event"/>+ </group>+ </else-if>+ <else>+ <group delimiter=", " suffix=".">+ <choose>+ <if variable="collection-title" match="none">+ <group delimiter=" ">+ <label variable="volume" form="short" text-case="capitalize-first"/>+ <text variable="volume"/>+ </group>+ </if>+ </choose>+ <text variable="container-title"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <text variable="title"/>+ <choose>+ <if type="article-journal article-magazine chapter paper-conference article-newspaper review review-book entry-dictionary entry-encyclopedia" match="none">+ <choose>+ <if variable="URL">+ <text term="internet" prefix=" [" suffix="]" text-case="capitalize-first"/>+ </if>+ </choose>+ <text macro="edition" prefix=". "/>+ </if>+ </choose>+ <choose>+ <if type="thesis">+ <text variable="genre" prefix=" [" suffix="]"/>+ </if>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <macro name="date">+ <choose>+ <if type="article-journal article-magazine article-newspaper review review-book" match="any">+ <group suffix=";" delimiter=" ">+ <date variable="issued" form="text"/>+ <text macro="accessed-date"/>+ </group>+ </if>+ <else-if type="bill legislation" match="any">+ <group delimiter=", ">+ <date variable="issued" delimiter=" ">+ <date-part name="month" form="short" strip-periods="true"/>+ <date-part name="day"/>+ </date>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ <else-if type="report">+ <date variable="issued" delimiter=" ">+ <date-part name="year"/>+ <date-part name="month" form="short" strip-periods="true"/>+ </date>+ <text macro="accessed-date" prefix=" "/>+ </else-if>+ <else-if type="patent">+ <group suffix=".">+ <group delimiter=", ">+ <text variable="number"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ <text macro="accessed-date" prefix=" "/>+ </group>+ </else-if>+ <else-if type="speech">+ <group delimiter="; ">+ <group delimiter=" ">+ <date variable="issued" delimiter=" ">+ <date-part name="year"/>+ <date-part name="month" form="short" strip-periods="true"/>+ <date-part name="day"/>+ </date>+ <text macro="accessed-date"/>+ </group>+ <text variable="event-place"/>+ </group>+ </else-if>+ <else>+ <group suffix=".">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text macro="accessed-date" prefix=" "/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="pages">+ <choose>+ <if type="article-journal article-magazine article-newspaper review review-book" match="any">+ <text variable="page" prefix=":"/>+ </if>+ <else-if type="book" match="any">+ <text variable="number-of-pages" prefix=" "/>+ <choose>+ <if is-numeric="number-of-pages">+ <label variable="number-of-pages" form="short" prefix=" " plural="never"/>+ </if>+ </choose>+ </else-if>+ <else>+ <group prefix=" " delimiter=" ">+ <label variable="page" form="short" plural="never"/>+ <text variable="page"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="journal-location">+ <choose>+ <if type="article-journal article-magazine review review-book" match="any">+ <text variable="volume"/>+ <text variable="issue" prefix="(" suffix=")"/>+ </if>+ </choose>+ </macro>+ <macro name="collection-details">+ <choose>+ <if type="article-journal article-magazine article-newspaper review review-book" match="none">+ <choose>+ <if variable="collection-title">+ <group delimiter=" " prefix="(" suffix=")">+ <names variable="collection-editor" suffix=".">+ <name sort-separator=" " initialize-with="" name-as-sort-order="all" delimiter=", " delimiter-precedes-last="always"/>+ <label form="long" prefix=", "/>+ </names>+ <group delimiter="; ">+ <text variable="collection-title"/>+ <group delimiter=" ">+ <label variable="volume" form="short"/>+ <text variable="volume"/>+ </group>+ </group>+ </group>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="report-details">+ <choose>+ <if type="report">+ <text variable="number" prefix="Report No.: "/>+ </if>+ </choose>+ </macro>+ <citation collapse="citation-number">+ <sort>+ <key variable="citation-number"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter=",">+ <text variable="citation-number"/>+ </layout>+ </citation>+ <bibliography et-al-min="7" et-al-use-first="6" second-field-align="flush">+ <layout>+ <text variable="citation-number" suffix=". "/>+ <group delimiter=". " suffix=". ">+ <text macro="author"/>+ <text macro="title"/>+ </group>+ <group delimiter=" " suffix=". ">+ <group delimiter=": ">+ <text macro="chapter-marker"/>+ <group delimiter=" ">+ <text macro="editor"/>+ <text macro="container-title"/>+ </group>+ </group>+ <text macro="publisher"/>+ <group>+ <text macro="date"/>+ <text macro="journal-location"/>+ <text macro="pages"/>+ </group>+ </group>+ <text macro="collection-details" suffix=". "/>+ <text macro="report-details" suffix=". "/>+ <text macro="access"/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Campbell",+ "given": "Donald T"+ },+ {+ "family": "Fiske",+ "given": "Donald W"+ }+ ],+ "collection-title": "Series: a title",+ "collection-title-short": "Series",+ "container-title": "Container: a title",+ "container-title-short": "Container",+ "id": "ITEM-1",+ "language": "en",+ "source": "Zotero",+ "title": "Main title",+ "type": "chapter"+ },+ {+ "author": [+ {+ "family": "Campbell",+ "given": "Donald T"+ },+ {+ "family": "Fiske",+ "given": "Donald W"+ }+ ],+ "collection-title": "Series: a title",+ "collection-title-short": "Series",+ "container-title": "Container: a title",+ "container-title-short": "Container",+ "id": "ITEM-2",+ "language": "en",+ "source": "Zotero",+ "title": "Main title",+ "type": "article-journal"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/variables_ContainerTitleShort2.txt view
@@ -0,0 +1,431 @@+>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">+ <div class="csl-left-margin">1. </div><div class="csl-right-inline">Campbell DT, Fiske DW. CONVERGENT AND DISCRIMINANT VALIDATION BY THE MULTITRAIT-MULTIMETHOD MATRIX. In: Container: a title. p. 25. (Series: a title).</div>+ </div>+ <div class="csl-entry">+ <div class="csl-left-margin">2. </div><div class="csl-right-inline">Campbell DT, Fiske DW. CONVERGENT AND DISCRIMINANT VALIDATION BY THE MULTITRAIT-MULTIMETHOD MATRIX. Container. :25.</div>+ </div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" page-range-format="minimal">+ <info>+ <title>Vancouver</title>+ <id>http://www.zotero.org/styles/vancouver</id>+ <link href="http://www.zotero.org/styles/vancouver" rel="self"/>+ <link href="http://www.nlm.nih.gov/bsd/uniform_requirements.html" rel="documentation"/>+ <author>+ <name>Michael Berkowitz</name>+ <email>mberkowi@gmu.edu</email>+ </author>+ <contributor>+ <name>Sean Takats</name>+ <email>stakats@gmu.edu</email>+ </contributor>+ <contributor>+ <name>Sebastian Karcher</name>+ </contributor>+ <category citation-format="numeric"/>+ <category field="medicine"/>+ <summary>Vancouver style as outlined by International Committee of Medical Journal Editors Uniform Requirements for Manuscripts Submitted to Biomedical Journals: Sample References</summary>+ <updated>2014-09-06T16:03:01+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale xml:lang="en">+ <date form="text" delimiter=" ">+ <date-part name="year"/>+ <date-part name="month" form="short" strip-periods="true"/>+ <date-part name="day"/>+ </date>+ <terms>+ <term name="collection-editor" form="long">+ <single>editor</single>+ <multiple>editors</multiple>+ </term>+ <term name="presented at">presented at</term>+ <term name="available at">available from</term>+ <term name="section" form="short">sect.</term>+ </terms>+ </locale>+ <locale xml:lang="fr">+ <date form="text" delimiter=" ">+ <date-part name="day"/>+ <date-part name="month" form="short" strip-periods="true"/>+ <date-part name="year"/>+ </date>+ </locale>+ <macro name="author">+ <names variable="author">+ <name sort-separator=" " initialize-with="" name-as-sort-order="all" delimiter=", " delimiter-precedes-last="always"/>+ <label form="long" prefix=", "/>+ <substitute>+ <names variable="editor"/>+ </substitute>+ </names>+ </macro>+ <macro name="editor">+ <names variable="editor" suffix=".">+ <name sort-separator=" " initialize-with="" name-as-sort-order="all" delimiter=", " delimiter-precedes-last="always"/>+ <label form="long" prefix=", "/>+ </names>+ </macro>+ <macro name="chapter-marker">+ <choose>+ <if type="chapter paper-conference entry-dictionary entry-encyclopedia" match="any">+ <text term="in" text-case="capitalize-first"/>+ </if>+ </choose>+ </macro>+ <macro name="publisher">+ <choose>+ <!--discard publisher info for articles-->+ <if type="article-journal article-magazine article-newspaper" match="none">+ <group delimiter=": " suffix=";">+ <choose>+ <if type="thesis">+ <text variable="publisher-place" prefix="[" suffix="]"/>+ </if>+ <else-if type="speech"/>+ <else>+ <text variable="publisher-place"/>+ </else>+ </choose>+ <text variable="publisher"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="access">+ <choose>+ <if variable="URL">+ <group delimiter=": ">+ <text term="available at" text-case="capitalize-first"/>+ <text variable="URL"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="accessed-date">+ <choose>+ <if variable="URL">+ <group prefix="[" suffix="]" delimiter=" ">+ <text term="cited" text-case="lowercase"/>+ <date variable="accessed" form="text"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-title">+ <choose>+ <if type="article-journal article-magazine chapter paper-conference article-newspaper review review-book entry-dictionary entry-encyclopedia" match="any">+ <group suffix="." delimiter=" ">+ <choose>+ <if type="article-journal review review-book" match="any">+ <text variable="container-title" form="short" strip-periods="true"/>+ </if>+ <else>+ <text variable="container-title" strip-periods="true"/>+ </else>+ </choose>+ <choose>+ <if variable="URL">+ <text term="internet" prefix="[" suffix="]" text-case="capitalize-first"/>+ </if>+ </choose>+ </group>+ <text macro="edition" prefix=" "/>+ </if>+ <!--add event-name and event-place once they become available-->+ <else-if type="bill legislation" match="any">+ <group delimiter=", ">+ <group delimiter=". ">+ <text variable="container-title"/>+ <group delimiter=" ">+ <text term="section" form="short" text-case="capitalize-first"/>+ <text variable="section"/>+ </group>+ </group>+ <text variable="number"/>+ </group>+ </else-if>+ <else-if type="speech">+ <group delimiter=": " suffix=";">+ <group delimiter=" ">+ <text variable="genre" text-case="capitalize-first"/>+ <text term="presented at"/>+ </group>+ <text variable="event"/>+ </group>+ </else-if>+ <else>+ <group delimiter=", " suffix=".">+ <choose>+ <if variable="collection-title" match="none">+ <group delimiter=" ">+ <label variable="volume" form="short" text-case="capitalize-first"/>+ <text variable="volume"/>+ </group>+ </if>+ </choose>+ <text variable="container-title"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <text variable="title"/>+ <choose>+ <if type="article-journal article-magazine chapter paper-conference article-newspaper review review-book entry-dictionary entry-encyclopedia" match="none">+ <choose>+ <if variable="URL">+ <text term="internet" prefix=" [" suffix="]" text-case="capitalize-first"/>+ </if>+ </choose>+ <text macro="edition" prefix=". "/>+ </if>+ </choose>+ <choose>+ <if type="thesis">+ <text variable="genre" prefix=" [" suffix="]"/>+ </if>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <macro name="date">+ <choose>+ <if type="article-journal article-magazine article-newspaper review review-book" match="any">+ <group suffix=";" delimiter=" ">+ <date variable="issued" form="text"/>+ <text macro="accessed-date"/>+ </group>+ </if>+ <else-if type="bill legislation" match="any">+ <group delimiter=", ">+ <date variable="issued" delimiter=" ">+ <date-part name="month" form="short" strip-periods="true"/>+ <date-part name="day"/>+ </date>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ <else-if type="report">+ <date variable="issued" delimiter=" ">+ <date-part name="year"/>+ <date-part name="month" form="short" strip-periods="true"/>+ </date>+ <text macro="accessed-date" prefix=" "/>+ </else-if>+ <else-if type="patent">+ <group suffix=".">+ <group delimiter=", ">+ <text variable="number"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ <text macro="accessed-date" prefix=" "/>+ </group>+ </else-if>+ <else-if type="speech">+ <group delimiter="; ">+ <group delimiter=" ">+ <date variable="issued" delimiter=" ">+ <date-part name="year"/>+ <date-part name="month" form="short" strip-periods="true"/>+ <date-part name="day"/>+ </date>+ <text macro="accessed-date"/>+ </group>+ <text variable="event-place"/>+ </group>+ </else-if>+ <else>+ <group suffix=".">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text macro="accessed-date" prefix=" "/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="pages">+ <choose>+ <if type="article-journal article-magazine article-newspaper review review-book" match="any">+ <text variable="page" prefix=":"/>+ </if>+ <else-if type="book" match="any">+ <text variable="number-of-pages" prefix=" "/>+ <choose>+ <if is-numeric="number-of-pages">+ <label variable="number-of-pages" form="short" prefix=" " plural="never"/>+ </if>+ </choose>+ </else-if>+ <else>+ <group prefix=" " delimiter=" ">+ <label variable="page" form="short" plural="never"/>+ <text variable="page"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="journal-location">+ <choose>+ <if type="article-journal article-magazine review review-book" match="any">+ <text variable="volume"/>+ <text variable="issue" prefix="(" suffix=")"/>+ </if>+ </choose>+ </macro>+ <macro name="collection-details">+ <choose>+ <if type="article-journal article-magazine article-newspaper review review-book" match="none">+ <choose>+ <if variable="collection-title">+ <group delimiter=" " prefix="(" suffix=")">+ <names variable="collection-editor" suffix=".">+ <name sort-separator=" " initialize-with="" name-as-sort-order="all" delimiter=", " delimiter-precedes-last="always"/>+ <label form="long" prefix=", "/>+ </names>+ <group delimiter="; ">+ <text variable="collection-title"/>+ <group delimiter=" ">+ <label variable="volume" form="short"/>+ <text variable="volume"/>+ </group>+ </group>+ </group>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="report-details">+ <choose>+ <if type="report">+ <text variable="number" prefix="Report No.: "/>+ </if>+ </choose>+ </macro>+ <citation collapse="citation-number">+ <sort>+ <key variable="citation-number"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter=",">+ <text variable="citation-number"/>+ </layout>+ </citation>+ <bibliography et-al-min="7" et-al-use-first="6" second-field-align="flush">+ <layout>+ <text variable="citation-number" suffix=". "/>+ <group delimiter=". " suffix=". ">+ <text macro="author"/>+ <text macro="title"/>+ </group>+ <group delimiter=" " suffix=". ">+ <group delimiter=": ">+ <text macro="chapter-marker"/>+ <group delimiter=" ">+ <text macro="editor"/>+ <text macro="container-title"/>+ </group>+ </group>+ <text macro="publisher"/>+ <group>+ <text macro="date"/>+ <text macro="journal-location"/>+ <text macro="pages"/>+ </group>+ </group>+ <text macro="collection-details" suffix=". "/>+ <text macro="report-details" suffix=". "/>+ <text macro="access"/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Campbell",+ "given": "Donald T"+ },+ {+ "family": "Fiske",+ "given": "Donald W"+ }+ ],+ "id": "ITEM-1",+ "language": "en",+ "note": "collection-title: Series: a title\ncollection-title-short: Series\ncontainer-title: Container: a title\ncontainer-title-short: Container",+ "page": "25",+ "source": "Zotero",+ "title": "CONVERGENT AND DISCRIMINANT VALIDATION BY THE MULTITRAIT-MULTIMETHOD MATRIX",+ "type": "chapter"+ },+ {+ "author": [+ {+ "family": "Campbell",+ "given": "Donald T"+ },+ {+ "family": "Fiske",+ "given": "Donald W"+ }+ ],+ "id": "ITEM-2",+ "language": "en",+ "note": "collection-title: Series: a title\ncollection-title-short: Series\ncontainer-title: Container: a title\ncontainer-title-short: Container",+ "page": "25",+ "source": "Zotero",+ "title": "CONVERGENT AND DISCRIMINANT VALIDATION BY THE MULTITRAIT-MULTIMETHOD MATRIX",+ "type": "article-journal"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/variables_TitleShortOnShortTitleNoTitle.txt view
@@ -0,0 +1,45 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+My Short Title+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title-short"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title-short": "My Short Title",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/variables_TitleShortOnShortTitleNoTitleCondition.txt view
@@ -0,0 +1,91 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+My Long Title 1 has title-short+My Long Title 2 does not have title-short+does not have title-short+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <choose>+ <if variable="title-short">+ <group delimiter=" ">+ <text variable="title"/>+ <group>+ <text value="has title-short"/>+ </group>+ </group>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="title"/>+ <group>+ <text value="does not have title-short"/>+ </group>+ </group>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "My Long Title 1",+ "title-short": "My Short Title",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "title": "My Long Title 2",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/variables_TitleShortOnShortTitleNoTitleGroup.txt view
@@ -0,0 +1,78 @@+>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Check this out: My Short Title is from title-short+Check this out:+Check this out:+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text value="Check this out:"/>+ <group delimiter=" " prefix=" ">+ <text variable="title-short"/>+ <text value="is from title-short"/>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "My Long Title 1",+ "title-short": "My Short Title",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "title": "My Long Title 2",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/csl/virtual_PageFirst.txt view
@@ -0,0 +1,49 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+12:12+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="page-first">+ <text variable="page-first"/>+ </macro>+ <citation>+ <layout>+ <text variable="page-first" suffix=":"/>+ <text macro="page-first"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "page": "12-20",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/extra/abbreviations_Basic.txt view
@@ -0,0 +1,53 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++>>===== RESULT =====>>+JoClSt/Journal of Classical Studies+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" form="short" suffix="/" />+ <text variable="title" form="long"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "Journal of Classical Studies",+ "type": "book"+ }+]+<<===== INPUT =====<<++>>===== ABBREVIATIONS =====>>+{ "default": {+ "title": {+ "Journal of Classical Studies": "JoClSt"+ }+ }+}+<<===== ABBREVIATIONS =====<<++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<++
+ test/extra/abbreviations_WithFormatting.txt view
@@ -0,0 +1,54 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++Here it's expected that the formatting will be lost.++>>===== RESULT =====>>+JoClSt+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title" form="short"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "title": "<i>Journal of Classical Studies</i>",+ "type": "book"+ }+]+<<===== INPUT =====<<++>>===== ABBREVIATIONS =====>>+{ "default": {+ "title": {+ "Journal of Classical Studies": "JoClSt"+ }+ }+}+<<===== ABBREVIATIONS =====<<++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<++
+ test/extra/name_issue10.txt view
@@ -0,0 +1,726 @@+>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Doe, John. 2020a. <i>An Anthology</i>.</div>+ <div class="csl-entry">———. 2020b. “Some Chapter.” In <i>An Anthology</i>, edited by John Doe, 63–79. A place: A publisher.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>++<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="display-and-sort" page-range-format="chicago">+ <info>+ <title>Chicago Manual of Style 17th edition (author-date)</title>+ <id>http://www.zotero.org/styles/chicago-author-date</id>+ <link href="http://www.zotero.org/styles/chicago-author-date" rel="self"/>+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Sebastian Karcher</name>+ </contributor>+ <contributor>+ <name>Richard Karnesky</name>+ <email>karnesky+zotero@gmail.com</email>+ <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>+ </contributor>+ <contributor>+ <name>Andrew Dunning</name>+ <email>andrew.dunning@utoronto.ca</email>+ <uri>https://orcid.org/0000-0003-0464-5036</uri>+ </contributor>+ <contributor>+ <name>Matthew Roth</name>+ <email>matthew.g.roth@yale.edu</email>+ <uri> https://orcid.org/0000-0001-7902-6331</uri>+ </contributor>+ <category citation-format="author-date"/>+ <category field="generic-base"/>+ <summary>The author-date variant of the Chicago style</summary>+ <updated>2018-01-24T12:00:00+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale xml:lang="en">+ <terms>+ <term name="editor" form="verb-short">ed.</term>+ <term name="container-author" form="verb">by</term>+ <term name="translator" form="verb-short">trans.</term>+ <term name="editortranslator" form="verb">edited and translated by</term>+ <term name="translator" form="short">trans.</term>+ </terms>+ </locale>+ <macro name="secondary-contributors">+ <choose>+ <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="none">+ <group delimiter=". ">+ <names variable="editor translator" delimiter=". ">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ <names variable="director" delimiter=". ">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">+ <group prefix=", " delimiter=", ">+ <names variable="container-author" delimiter=", ">+ <label form="verb" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ <names variable="editor translator" delimiter=", ">+ <label form="verb" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", "/>+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", "/>+ </names>+ </macro>+ <macro name="recipient">+ <choose>+ <if type="personal_communication">+ <choose>+ <if variable="genre">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ <else>+ <text term="letter" text-case="capitalize-first"/>+ </else>+ </choose>+ </if>+ </choose>+ <names variable="recipient" delimiter=", ">+ <label form="verb" prefix=" " text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="substitute-title">+ <choose>+ <if type="article-magazine article-newspaper review review-book" match="any">+ <text macro="container-title"/>+ </if>+ </choose>+ </macro>+ <macro name="contributors">+ <group delimiter=". ">+ <names variable="author">+ <name and="text" name-as-sort-order="first" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <names variable="director"/>+ <text macro="substitute-title"/>+ <text macro="title"/>+ </substitute>+ </names>+ <text macro="recipient"/>+ </group>+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name form="short" and="text" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <names variable="director"/>+ <text macro="substitute-title"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="interviewer">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" prefix=" " text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </macro>+ <macro name="archive">+ <group delimiter=". ">+ <text variable="archive_location" text-case="capitalize-first"/>+ <text variable="archive"/>+ <text variable="archive-place"/>+ </group>+ </macro>+ <macro name="access">+ <group delimiter=". ">+ <choose>+ <if type="graphic report" match="any">+ <text macro="archive"/>+ </if>+ <else-if type="article-journal bill book chapter legal_case legislation motion_picture paper-conference" match="none">+ <text macro="archive"/>+ </else-if>+ </choose>+ <choose>+ <if type="webpage post-weblog" match="any">+ <date variable="issued" form="text"/>+ </if>+ </choose>+ <choose>+ <if variable="issued" match="none">+ <group delimiter=" ">+ <text term="accessed" text-case="capitalize-first"/>+ <date variable="accessed" form="text"/>+ </group>+ </if>+ </choose>+ <choose>+ <if type="legal_case" match="none">+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix="https://doi.org/"/>+ </if>+ <else>+ <text variable="URL"/>+ </else>+ </choose>+ </if>+ </choose>+ </group>+ </macro>+ <macro name="title">+ <choose>+ <if variable="title" match="none">+ <choose>+ <if type="personal_communication" match="none">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ </choose>+ </if>+ <else-if type="bill book graphic legislation motion_picture song" match="any">+ <text variable="title" text-case="title" font-style="italic"/>+ <group prefix=" (" suffix=")" delimiter=" ">+ <text term="version"/>+ <text variable="version"/>+ </group>+ </else-if>+ <else-if variable="reviewed-author">+ <choose>+ <if variable="reviewed-title">+ <group delimiter=". ">+ <text variable="title" text-case="title" quotes="true"/>+ <group delimiter=", ">+ <text variable="reviewed-title" text-case="title" font-style="italic" prefix="Review of "/>+ <names variable="reviewed-author">+ <label form="verb-short" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </group>+ </if>+ <else>+ <group delimiter=", ">+ <text variable="title" text-case="title" font-style="italic" prefix="Review of "/>+ <names variable="reviewed-author">+ <label form="verb-short" text-case="lowercase" suffix=" "/>+ <name and="text" delimiter=", "/>+ </names>+ </group>+ </else>+ </choose>+ </else-if>+ <else-if type="legal_case interview patent" match="any">+ <text variable="title"/>+ </else-if>+ <else>+ <text variable="title" text-case="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" " prefix=". ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" text-case="capitalize-first" prefix=". "/>+ </else>+ </choose>+ </if>+ <else-if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" " prefix=", ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short"/>+ </group>+ </if>+ <else>+ <text variable="edition" prefix=", "/>+ </else>+ </choose>+ </else-if>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal">+ <choose>+ <if variable="volume">+ <text variable="volume" prefix=" "/>+ <group prefix=" (" suffix=")">+ <choose>+ <if variable="issue">+ <text variable="issue"/>+ </if>+ <else>+ <date variable="issued">+ <date-part name="month"/>+ </date>+ </else>+ </choose>+ </group>+ </if>+ <else-if variable="issue">+ <group delimiter=" " prefix=", ">+ <text term="issue" form="short"/>+ <text variable="issue"/>+ <date variable="issued" prefix="(" suffix=")">+ <date-part name="month"/>+ </date>+ </group>+ </else-if>+ <else>+ <date variable="issued" prefix=", ">+ <date-part name="month"/>+ </date>+ </else>+ </choose>+ </if>+ <else-if type="legal_case">+ <text variable="volume" prefix=", "/>+ <text variable="container-title" prefix=" "/>+ <text variable="page" prefix=" "/>+ </else-if>+ <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <group prefix=". " delimiter=". ">+ <group>+ <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>+ <number variable="volume" form="numeric"/>+ </group>+ <group>+ <number variable="number-of-volumes" form="numeric"/>+ <text term="volume" form="short" prefix=" " plural="true"/>+ </group>+ </group>+ </else-if>+ <else-if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">+ <choose>+ <if variable="page" match="none">+ <group prefix=". ">+ <text term="volume" form="short" text-case="capitalize-first" suffix=" "/>+ <number variable="volume" form="numeric"/>+ </group>+ </if>+ </choose>+ </else-if>+ </choose>+ </macro>+ <macro name="locators-chapter">+ <choose>+ <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">+ <choose>+ <if variable="page">+ <group prefix=", ">+ <text variable="volume" suffix=":"/>+ <text variable="page"/>+ </group>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="locators-article">+ <choose>+ <if type="article-newspaper">+ <group prefix=", " delimiter=", ">+ <group delimiter=" ">+ <text variable="edition"/>+ <text term="edition"/>+ </group>+ <group>+ <text term="section" form="short" suffix=" "/>+ <text variable="section"/>+ </group>+ </group>+ </if>+ <else-if type="article-journal">+ <choose>+ <if variable="volume issue" match="any">+ <text variable="page" prefix=": "/>+ </if>+ <else>+ <text variable="page" prefix=", "/>+ </else>+ </choose>+ </else-if>+ </choose>+ </macro>+ <macro name="point-locators">+ <choose>+ <if variable="locator">+ <choose>+ <if locator="page" match="none">+ <choose>+ <if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <choose>+ <if variable="volume">+ <group>+ <text term="volume" form="short" suffix=" "/>+ <number variable="volume" form="numeric"/>+ <label variable="locator" form="short" prefix=", " suffix=" "/>+ </group>+ </if>+ <else>+ <label variable="locator" form="short" suffix=" "/>+ </else>+ </choose>+ </if>+ <else>+ <label variable="locator" form="short" suffix=" "/>+ </else>+ </choose>+ </if>+ <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">+ <number variable="volume" form="numeric" suffix=":"/>+ </else-if>+ </choose>+ <text variable="locator"/>+ </if>+ </choose>+ </macro>+ <macro name="container-prefix">+ <text term="in" text-case="capitalize-first"/>+ </macro>+ <macro name="container-title">+ <choose>+ <if type="chapter entry-dictionary entry-encyclopedia paper-conference" match="any">+ <text macro="container-prefix" suffix=" "/>+ </if>+ </choose>+ <choose>+ <if type="webpage">+ <text variable="container-title" text-case="title"/>+ </if>+ <else-if type="legal_case" match="none">+ <group delimiter=" ">+ <text variable="container-title" text-case="title" font-style="italic"/>+ <choose>+ <if type="post-weblog">+ <text value="(blog)"/>+ </if>+ </choose>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="publisher">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </macro>+ <macro name="date">+ <choose>+ <if variable="issued">+ <group delimiter=" ">+ <date variable="original-date" form="text" date-parts="year" prefix="(" suffix=")"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </if>+ <else-if variable="status">+ <text variable="status" text-case="capitalize-first"/>+ </else-if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="date-in-text">+ <choose>+ <if variable="issued">+ <group delimiter=" ">+ <date variable="original-date" form="text" date-parts="year" prefix="[" suffix="]"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </if>+ <else-if variable="status">+ <text variable="status"/>+ </else-if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="day-month">+ <date variable="issued">+ <date-part name="month"/>+ <date-part name="day" prefix=" "/>+ </date>+ </macro>+ <macro name="collection-title">+ <choose>+ <if match="none" type="article-journal">+ <choose>+ <if match="none" is-numeric="collection-number">+ <group delimiter=", ">+ <text variable="collection-title" text-case="title"/>+ <text variable="collection-number"/>+ </group>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="collection-title" text-case="title"/>+ <text variable="collection-number"/>+ </group>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="collection-title-journal">+ <choose>+ <if type="article-journal">+ <group delimiter=" ">+ <text variable="collection-title"/>+ <text variable="collection-number"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="event">+ <group>+ <text term="presented at" suffix=" "/>+ <text variable="event"/>+ </group>+ </macro>+ <macro name="description">+ <choose>+ <if type="interview">+ <group delimiter=". ">+ <text macro="interviewer"/>+ <text variable="medium" text-case="capitalize-first"/>+ </group>+ </if>+ <else-if type="patent">+ <group delimiter=" " prefix=". ">+ <text variable="authority"/>+ <text variable="number"/>+ </group>+ </else-if>+ <else>+ <text variable="medium" text-case="capitalize-first" prefix=". "/>+ </else>+ </choose>+ <choose>+ <if variable="title" match="none"/>+ <else-if type="thesis personal_communication speech" match="any"/>+ <else>+ <group delimiter=" " prefix=". ">+ <text variable="genre" text-case="capitalize-first"/>+ <choose>+ <if type="report">+ <text variable="number"/>+ </if>+ </choose>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if type="legal_case">+ <text variable="authority" prefix=". "/>+ </if>+ <else-if type="speech">+ <group prefix=". " delimiter=", ">+ <group delimiter=" ">+ <text variable="genre" text-case="capitalize-first"/>+ <text macro="event"/>+ </group>+ <text variable="event-place"/>+ <text macro="day-month"/>+ </group>+ </else-if>+ <else-if type="article-newspaper article-magazine personal_communication" match="any">+ <date variable="issued" form="text" prefix=", "/>+ </else-if>+ <else-if type="patent">+ <group delimiter=", " prefix=", ">+ <group delimiter=" ">+ <!--Needs Localization-->+ <text value="filed"/>+ <date variable="submitted" form="text"/>+ </group>+ <group delimiter=" ">+ <choose>+ <if variable="issued submitted" match="all">+ <text term="and"/>+ </if>+ </choose>+ <!--Needs Localization-->+ <text value="issued"/>+ <date variable="issued" form="text"/>+ </group>+ </group>+ </else-if>+ <else-if type="article-journal" match="any"/>+ <else>+ <group prefix=". " delimiter=", ">+ <choose>+ <if type="thesis">+ <text variable="genre" text-case="capitalize-first"/>+ </if>+ </choose>+ <text macro="publisher"/>+ </group>+ </else>+ </choose>+ </macro>+ <citation et-al-min="4" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" givenname-disambiguation-rule="primary-name" collapse="year" after-collapse-delimiter="; ">+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <choose>+ <if variable="issued accessed" match="any">+ <group delimiter=" ">+ <text macro="contributors-short"/>+ <text macro="date-in-text"/>+ </group>+ </if>+ <!---comma before forthcoming and n.d.-->+ <else>+ <group delimiter=", ">+ <text macro="contributors-short"/>+ <text macro="date-in-text"/>+ </group>+ </else>+ </choose>+ <text macro="point-locators"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="11" et-al-use-first="7" subsequent-author-substitute="———" entry-spacing="0">+ <sort>+ <key macro="contributors"/>+ <key variable="issued"/>+ <key variable="title"/>+ </sort>+ <layout suffix=".">+ <group delimiter=". ">+ <text macro="contributors"/>+ <text macro="date"/>+ <text macro="title"/>+ </group>+ <text macro="description"/>+ <text macro="secondary-contributors" prefix=". "/>+ <text macro="container-title" prefix=". "/>+ <text macro="container-contributors"/>+ <text macro="edition"/>+ <text macro="locators-chapter"/>+ <text macro="collection-title-journal" prefix=", " suffix=", "/>+ <text macro="locators"/>+ <text macro="collection-title" prefix=". "/>+ <text macro="issue"/>+ <text macro="locators-article"/>+ <text macro="access" prefix=". "/>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "doe1",+ "issued": {+ "date-parts": [+ [+ 2020+ ]+ ]+ },+ "title": "An anthology",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "container-title": "An anthology",+ "editor": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "doe2",+ "issued": {+ "date-parts": [+ [+ 2020+ ]+ ]+ },+ "page": "63–79",+ "publisher": "A publisher",+ "publisher-place": "A place",+ "title": "Some chapter",+ "type": "chapter"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/overrides/bugreports_AccidentalAllCaps.txt view
@@ -0,0 +1,842 @@+The official result has ', , 1965' which is undesirable.++>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+J. Doe, <i>His Anonymous Life</i>, 1965.+<<===== RESULT =====<<+++>>===== CSL =====>>+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" default-locale="fr-FR" version="1.0" page-range-format="expanded">+ <info>+ <title>France Philo Theatre (Biblio et notes)</title>+ <id>http://www.zotero.org/styles/france-philo-theatre</id>+ <link href="http://www.zotero.org/styles/france-philo-theatre" rel="self"/>+ <author>+ <name>L. Lafitte</name>+ <email>l2lafitte@yahoo.fr</email>+ </author>+ <category field="humanities"/>+ <category citation-format="note"/>+ <category field="generic-base"/>+ <updated>2011-04-30T09:01:01+00:00</updated>+ </info>+ <locale xml:lang="fr-FR">+ <terms>+ <term name="editor" form="short">+ <single>éd.</single>+ <multiple>éds</multiple>+ </term>+ <term name="editor" form="verb-short">éd. par</term>+ <term name="translator" form="verb-short">trad. par</term>+ <term name="interviewer" form="verb">entretien réalisé par</term>+ <term name="in">in</term>+ <term name="edition">édition</term>+ <term name="accessed">consulté le </term>+ <term name="at">disponible sur : </term>+ <term name="et-al">[et al.]</term>+ <term name="sub verbo" form="short">+ <single></single>+ <multiple></multiple>+ </term>+ </terms>+ </locale>+<!-- UTILISATION D'espaces insécables   POUR EVITER DE MALENCONTREUX RETOURS A LA LIGNE -->+<!-- CODAGE < POUR SIGNE INFÉRIEUR ET > POUR SIGNE SUPÉRIEUR -->+<!-- SECTION DEFINITION DES MACROS -->+ <macro name="contributors">+ <names variable="author">+ <name name-as-sort-order="all" form="long" delimiter=", " delimiter-precedes-last="always" sort-separator=" ">+ <name-part name="family" font-variant="small-caps"/>+ </name>+ <label form="short" prefix=", (" suffix=".)" strip-periods="false"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="contributors-notes">+ <names variable="author">+ <name sort-separator=" " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", (" suffix=".)" strip-periods="false"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title-note"/>+ </substitute>+ </names>+ </macro>+ <macro name="contributors-short">+ <names variable="author">+ <name sort-separator=" " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", (" suffix=".)" strip-periods="false"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title-short"/>+ </substitute>+ </names>+ </macro>+ <macro name="translator">+ <names variable="translator">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name form="long" and="text" delimiter=", " delimiter-precedes-last="never"/>+ </names>+ </macro>+ <macro name="translator-note">+ <names variable="translator">+ <label form="verb-short" suffix=" " strip-periods="false"/>+ <name sort-separator=" " initialize-with=". " and="text" delimiter=", " delimiter-precedes-last="never"/>+ </names>+ </macro>+ <macro name="editor">+ <names variable="editor" delimiter=", ">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name form="long" and="text" delimiter=", " delimiter-precedes-last="never"/>+ </names>+ </macro>+ <macro name="editor-note">+ <names variable="editor" delimiter=", ">+ <label form="verb-short" suffix=" " strip-periods="false"/>+ <name sort-separator=" " initialize-with=". " and="text" delimiter=", " delimiter-precedes-last="never"/>+ </names>+ </macro>+ <macro name="container-contributors">+ <choose>+ <if variable="container-title">+ <text term="in" font-style="italic" suffix=" "/>+ <choose>+ <if variable="container-author">+ <names variable="container-author">+ <name form="long" delimiter=", " delimiter-precedes-last="always" suffix=". "/>+ </names>+ </if>+ <else-if variable="editor">+ <names variable="editor" suffix=". ">+ <name form="long" delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", (" suffix=".)" strip-periods="false"/>+ </names>+ </else-if>+ </choose>+ <text variable="container-title" font-style="italic"/>+ <choose>+ <if variable="title" match="any"/>+ <else>+ <choose>+ <if variable="URL DOI" match="any">+ <text value="en ligne" prefix=" [" suffix="]" text-case="capitalize-first"/>+ </if>+ </choose>+ </else>+ </choose>+ <choose>+ <if variable="container-author">+ <text macro="editor" prefix=", "/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="container-contributors-note">+ <choose>+ <if variable="container-title">+ <text term="in" font-style="italic" suffix=" "/>+ <choose>+ <if variable="container-author">+ <names variable="container-author">+ <name sort-separator=" " initialize-with=". " form="long" delimiter=", " delimiter-precedes-last="always" suffix=". "/>+ </names>+ </if>+ <else-if variable="editor">+ <names variable="editor" suffix=". ">+ <name sort-separator=" " initialize-with=". " form="long" delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=", (" suffix=".)" strip-periods="false"/>+ </names>+ </else-if>+ </choose>+ <text variable="container-title" font-style="italic"/>+ <choose>+ <if variable="container-author">+ <text macro="editor-note" prefix=", "/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song thesis" match="any">+ <text variable="title" text-case="capitalize-first" font-style="italic"/>+ </if>+ <else>+ <text variable="title" text-case="capitalize-first" quotes="true"/>+ </else>+ </choose>+ <choose>+ <if variable="title" match="none"/>+ <else>+ <choose>+ <if variable="URL DOI" match="any">+ <text value="en ligne" prefix=" [" suffix="]" text-case="capitalize-first"/>+ </if>+ </choose>+ </else>+ </choose>+ </macro>+ <macro name="title-note">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song thesis" match="any">+ <text variable="title" text-case="capitalize-first" font-style="italic"/>+ </if>+ <else>+ <text variable="title" text-case="capitalize-first" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="title-short">+ <choose>+ <if type="bill book graphic legal_case motion_picture report song thesis" match="any">+ <text variable="title" text-case="capitalize-first" font-style="italic" form="short"/>+ </if>+ <else>+ <text variable="title" text-case="capitalize-first" quotes="true" form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+<!-- PAS DE MENTION AUTOMATIQUE DE [s.l.] [s.n.] POUR EVITER INCOHERENCE AVEC MENTIONS DANS EDITION ET NOTES -->+ <choose>+ <if variable="publisher-place">+ <text variable="publisher-place"/>+ <choose>+ <if variable="publisher">+ <text variable="publisher" prefix=", "/>+ </if>+ </choose>+ </if>+ <else-if variable="publisher">+ <text variable="publisher"/>+ </else-if>+ </choose>+ </macro>+ <macro name="publisher-report">+ <text macro="publisher"/>+ <choose>+ <if variable="issued">+ <text macro="issued-long" prefix=", "/>+ </if>+ <else>+ <text value=", [s.d.]"/>+ </else>+ </choose>+<!-- ZOTERO NE PERMETTANT PAS DE DISTINGUER UNE PLAGE DE PAGES D'UN NOMBRE DE PAGES -->+<!-- SI LA CASE PAGES EST RENSEIGNEE, CE SERA TOUJOURS INTERPRETE COMME UNE PLAGE -->+ <choose>+ <if variable="number-of-pages">+ <text variable="number-of-pages" prefix=", " suffix=" p."/>+ </if>+ <else-if variable="page">+ <text variable="page" prefix=", p. "/>+ </else-if>+ </choose>+ </macro>+ <macro name="publisher-report-note">+ <text macro="publisher"/>+ <choose>+ <if variable="issued">+ <text macro="issued-long" prefix=", "/>+ </if>+ <else>+ <text value=", [s.d.]"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher-book">+ <text macro="publisher"/>+ <date variable="issued" prefix=", ">+ <date-part name="year"/>+ </date>+<!-- POUR OUVRAGE MULTI-VOLUMES, NBRE de VOLUMES RENSEIGNE et >1, NBRE de PAGES RAREMENT PRESENT -->+<!-- POUR OUVRAGE MONO-VOLUME, NBRE de PAGES RENSEIGNE, MAIS NBRE de VOLUMES PARFOIS VALORISE A 1 -->+<!-- ZOTERO NE PERMETTANT PAS DE TESTER VALEURS, ON TESTE PRESENCE DU NBRE de PAGES -->+ <choose>+ <if variable="number-of-pages">+ <text variable="number-of-pages" prefix=", " suffix=" p."/>+ </if>+ <else>+ <choose>+ <if variable="number-of-volumes">+ <group>+ <text variable="number-of-volumes" prefix=". " suffix=" "/>+ <text term="volume" form="short" suffix="." strip-periods="false"/>+ </group>+ </if>+ </choose>+ </else>+ </choose>+ </macro>+ <macro name="publisher-book-note">+ <text macro="publisher"/>+ <date variable="issued" prefix=", ">+ <date-part name="year"/>+ </date>+ </macro>+ <macro name="publisher-chapter">+ <text variable="event" prefix="Contribution à " font-style="italic" suffix=", "/>+ <group delimiter=", ">+ <text macro="publisher"/>+ <text macro="issued-long"/>+ <text variable="page" prefix="p. "/>+ </group>+ </macro>+ <macro name="publisher-chapter-note">+ <text variable="event" prefix=", contribution à " font-style="italic" suffix=", "/>+ <text macro="publisher"/>+ <text macro="issued-long" prefix=", "/>+ </macro>+ <macro name="broadcast">+ <choose>+ <if variable="container-title">+ <group suffix=". ">+ <text term="in" font-style="italic" suffix=" "/>+ <text variable="container-title" font-style="italic"/>+ <text variable="number" prefix=", "/>+ </group>+ </if>+ </choose>+ <text variable="medium" suffix=". "/>+ <group delimiter=", ">+ <text macro="publisher"/>+ <text macro="issued-long"/>+ </group>+ </macro>+ <macro name="webpage">+ <group delimiter=", ">+ <text variable="container-title" font-style="italic"/>+ <text variable="genre" text-case="capitalize-first"/>+ <choose>+ <if variable="issued" match="none">+ <text value="[s.d.]"/>+ </if>+ <else>+ <text macro="issued-long"/>+ </else>+ </choose>+ </group>+ </macro>+ <macro name="publication">+ <choose>+<!-- SI LA ZONE PUBLICATION EST LA PREMIERE RENSEIGNEE, L'ITEM EST UN PERIODIQUE, SINON C'EST UN ARTICLE DE PERIODIQUE ou UNE CARTE ... -->+ <if variable="author editor translator title" match="none">+ <text macro="journal"/>+ </if>+ <else>+ <group delimiter=", " suffix=", ">+ <text variable="container-title" font-style="italic"/>+ <text variable="genre" text-case="capitalize-first"/>+ <text variable="edition" text-case="capitalize-first"/>+ </group>+ <group delimiter=", ">+ <text macro="publisher"/>+ <text macro="issued-long"/>+ <text macro="volume"/>+ <text macro="issue"/>+ <text variable="collection-title" text-case="capitalize-first" prefix="(" suffix=")"/>+ <text macro="editor"/>+ <text variable="page" prefix="p. "/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="publication-note">+ <choose>+<!-- SI LA ZONE PUBLICATION EST LA PREMIERE RENSEIGNEE, C'EST UN PERIODIQUE, SINON C'EST UN ARTICLE DE PERIODIQUE -->+ <if variable="author editor translator title" match="none">+ <text macro="journal-note"/>+ </if>+ <else>+ <group delimiter=", " suffix=", ">+ <text variable="container-title" font-style="italic"/>+ <text variable="genre" text-case="capitalize-first"/>+ <text variable="edition" text-case="capitalize-first"/>+ </group>+ <group delimiter=", ">+ <text macro="publisher"/>+ <text macro="issued-long"/>+ <text macro="volume"/>+ <text macro="issue"/>+ <text variable="collection-title" text-case="capitalize-first" prefix="(" suffix=")"/>+ <text macro="editor-note"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="publication-short">+ <choose>+ <if variable="author editor translator title" match="none">+ <text variable="container-title" font-style="italic"/>+ <group delimiter=", " prefix=", ">+ <text macro="volume"/>+ <text macro="issue"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="journal">+ <group delimiter=", ">+ <text macro="journal-note"/>+ <text variable="page" prefix="p. "/>+ </group>+ </macro>+ <macro name="journal-note">+ <text variable="container-title" font-style="italic" suffix=", "/>+ <group delimiter=", ">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" " text-case="capitalize-first"/>+ <date-part name="year"/>+ </date>+ <text macro="volume"/>+ </if>+ <else>+ <text macro="volume" text-case="capitalize-first"/>+ </else>+ </choose>+ <text macro="issue"/>+ <text variable="collection-title" text-case="capitalize-first" prefix="(" suffix=")"/>+ </group>+ </macro>+ <macro name="volume">+ <choose>+ <if is-numeric="volume">+ <text term="volume" form="short" suffix=". " strip-periods="false"/>+ <text variable="volume"/>+ </if>+ <else>+ <text variable="volume"/>+ </else>+ </choose>+ </macro>+ <macro name="issue">+ <choose>+ <if is-numeric="issue">+ <text term="issue" form="short" suffix=" " strip-periods="false"/>+ <text variable="issue"/>+ </if>+ <else>+ <text variable="issue"/>+ </else>+ </choose>+ </macro>+ <macro name="issued-long">+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" " text-case="lowercase"/>+ <date-part name="year"/>+ </date>+ </macro>+ <macro name="article-newspaper">+ <text macro="publication-title"/>+ <group delimiter=", ">+ <text macro="publisher"/>+ <text macro="issued-long"/>+ <group>+ <text term="edition" suffix=" "/>+ <text variable="edition"/>+ </group>+ <text variable="section"/>+ <text macro="volume"/>+ <text macro="issue"/>+ <text variable="page" prefix="p. "/>+ </group>+ </macro>+ <macro name="article-newspaper-note">+ <text macro="publication-title"/>+ <group delimiter=", ">+ <text macro="publisher"/>+ <text macro="issued-long"/>+ <group>+ <text term="edition" suffix=" "/>+ <text variable="edition"/>+ </group>+ <text variable="section"/>+ <text macro="volume"/>+ <text macro="issue"/>+ </group>+ </macro>+ <macro name="article-newspaper-short">+ <text macro="publication-title" prefix=". "/>+ <group delimiter=", ">+ <text macro="publisher"/>+ <text macro="issued-long"/>+ </group>+ </macro>+ <macro name="interview">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name and="text" delimiter=", " delimiter-precedes-last="never"/>+ </names>+ <group delimiter=", " prefix=", ">+ <text macro="translator"/>+ <text variable="medium"/>+ <text macro="issued-long"/>+ </group>+ </macro>+ <macro name="interview-note">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" text-case="capitalize-first" suffix=" "/>+ <name sort-separator=" " and="text" initialize-with=". " delimiter=", " delimiter-precedes-last="never"/>+ </names>+ <group delimiter=", " prefix=", ">+ <text macro="translator-note"/>+ <text variable="medium"/>+ <text macro="issued-long"/>+ </group>+ </macro>+ <macro name="interview-short">+ <names variable="interviewer" delimiter=", ">+ <label form="verb" text-case="capitalize-first" prefix=". " suffix=" "/>+ <name sort-separator=" " and="text" initialize-with=". " delimiter=", " delimiter-precedes-last="never"/>+ </names>+ <group delimiter=", " prefix=", ">+ <text variable="medium"/>+ <text macro="issued-long"/>+ </group>+ </macro>+ <macro name="report">+ <choose>+ <if variable="genre" match="none">+ <choose>+ <if variable="number">+ <text variable="number" prefix="Rapport "/>+ </if>+ </choose>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="genre" text-case="capitalize-first"/>+ <text variable="number"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="collection">+ <group>+ <text variable="collection-title" text-case="capitalize-first" quotes="true" prefix="("/>+ <text variable="collection-number" prefix=", "/>+ <text value=")"/>+ </group>+ </macro>+ <macro name="url-doi">+ <group delimiter=", ">+ <group>+ <text term="at" text-case="capitalize-first"/>+ <text value="URL "/>+ <text variable="URL" prefix="< " suffix=" >"/>+ </group>+ <group>+ <text value="DOI "/>+ <text variable="DOI" prefix="< " suffix=" >"/>+ </group>+ </group>+ </macro>+ <macro name="access">+ <group>+ <text term="accessed" prefix="["/>+ <date variable="accessed">+ <date-part name="day" suffix=" "/>+ <date-part name="month" suffix=" " text-case="lowercase"/>+ <date-part name="year" suffix="]"/>+ </date>+ </group>+ </macro>+ <macro name="locator-refs">+ <group prefix=", ">+ <label variable="locator" form="short" suffix=" "/>+ <text variable="locator"/>+ </group>+ </macro>+ <macro name="publication-title">+<!-- SI LA ZONE PUBLICATION EST LA PREMIERE RENSEIGNEE, L'ITEM EST UN PERIODIQUE, SINON C'EST UN ARTICLE DE PERIODIQUE -->+ <choose>+ <if variable="author editor translator title" match="none">+ <text variable="container-title" font-style="italic" suffix=". "/>+ </if>+ <else>+ <text variable="container-title" font-style="italic" suffix=", "/>+ </else>+ </choose>+ </macro>+ <macro name="contributors-sort">+ <names variable="author">+ <name name-as-sort-order="all" form="long" delimiter=", " delimiter-precedes-last="always" sort-separator=" "/>+ <label form="short" prefix=", (" suffix=".)" strip-periods="false"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ <text macro="publication-title"/>+ </substitute>+ </names>+ </macro>+<!-- SECTION NOTES -->+ <citation et-al-min="3" et-al-use-first="3" et-al-subsequent-min="3" et-al-subsequent-use-first="3" disambiguate-add-names="true">+ <layout suffix=".">+ <choose>+ <if position="first">+ <text macro="contributors-notes" font-variant="normal" suffix=", "/>+ <choose>+ <if type="thesis">+ <group delimiter=", ">+ <text macro="title-note"/>+ <text variable="genre"/>+ <text macro="publisher-book-note"/>+ </group>+ </if>+ <else-if type="interview">+ <group delimiter=", ">+ <text macro="title-note"/>+ <text macro="interview-note"/>+ </group>+ </else-if>+ <else-if type="broadcast">+ <group delimiter=", ">+ <text macro="title-note"/>+ <text macro="broadcast"/>+ </group>+ </else-if>+ <else-if type="webpage">+ <group delimiter=", ">+ <text macro="title-note"/>+ <text macro="webpage"/>+ </group>+ </else-if>+ <else-if type="article-newspaper">+ <group delimiter=", ">+ <text macro="title-note"/>+ <text macro="translator-note" text-case="capitalize-first"/>+ <text macro="article-newspaper-note"/>+ </group>+ </else-if>+ <else-if type="article-journal article-magazine article-newspaper broadcast interview manuscript map patent personal_communication song speech thesis webpage" match="any">+ <group delimiter=", ">+ <text macro="title-note"/>+ <text macro="translator-note" text-case="capitalize-first"/>+ <text macro="publication-note"/>+ </group>+ </else-if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=", ">+ <text macro="title-note"/>+ <text macro="translator-note" text-case="capitalize-first"/>+ <text macro="container-contributors-note"/>+ <text macro="volume" text-case="capitalize-first"/>+ <text variable="edition" text-case="capitalize-first"/>+ <text macro="publisher-chapter-note"/>+ </group>+ </else-if>+ <else-if type="report">+ <group delimiter=", ">+ <text macro="title-note"/>+ <text macro="translator-note" text-case="capitalize-first"/>+ <text macro="publisher-report-note"/>+ <text macro="report"/>+ </group>+ </else-if>+<!-- LE TRAITEMENT CI-DESSOUS EST CELUI DES LIVRES -->+<!-- IL SERA APPLIQUE AUX TYPES NON TRAITES PAR LES CAS PRECEDENTS -->+ <else>+ <group delimiter=", ">+ <text macro="title-note"/>+ <text macro="volume" text-case="capitalize-first"/>+ <text macro="translator-note" text-case="capitalize-first"/>+ <text macro="editor-note" text-case="capitalize-first"/>+ <text variable="edition" text-case="capitalize-first"/>+ <text macro="publisher-book-note"/>+ </group>+ </else>+ </choose>+ <text macro="locator-refs"/>+ </if>+ <else-if position="ibid-with-locator">+ <group>+ <text term="ibid" form="short" font-style="italic"/>+ <text macro="locator-refs"/>+ </group>+ </else-if>+ <else-if position="ibid">+ <text term="ibid" form="short" font-style="italic" text-case="capitalize-first"/>+ </else-if>+ <else-if position="subsequent">+ <group delimiter=", ">+ <text macro="contributors-short" font-variant="normal"/>+ <text macro="title-short"/>+ </group>+ <group delimiter=". ">+ <choose>+ <if type="interview">+ <text macro="interview-short"/>+ </if>+ <else-if type="article-newspaper">+ <text macro="article-newspaper-short"/>+ </else-if>+ <else-if type="article-journal article-magazine article-newspaper broadcast interview manuscript map patent personal_communication song speech thesis webpage" match="any">+ <text macro="publication-short"/>+ </else-if>+ <else-if type="bill book graphic legal_case motion_picture report song" match="any">+ <text macro="volume"/>+ </else-if>+ </choose>+ </group>+<!-- AJOUT TRAITEMENT POUR EVITER opus cité POUR LES CITATIONS DE PARTIES DE LIVRES ABSENTES DE LA BIBLIOGRAPHIE --> + <choose>+ <if type="book" match="none"> + <text value=", op. cit." font-style="italic"/>+ </if>+ <else>+ <choose>+ <if variable="publisher-place publisher issued number-of-pages number-of-volumes" match="any"> + <text value=", op. cit." font-style="italic"/>+ </if>+ </choose>+ </else>+ </choose>+ <text macro="locator-refs"/>+ </else-if>+ </choose>+ </layout>+ </citation>+<!-- SECTION BIBLIOGRAPHIE -->+ <bibliography hanging-indent="true" et-al-min="3" et-al-use-first="3" subsequent-author-substitute="———" entry-spacing="1">+ <sort>+ <key macro="contributors-sort"/>+ <key variable="title"/>+ <key variable="issued"/>+ <key variable="issue"/>+ <key variable="volume"/>+ </sort>+ <layout suffix=".">+ <text macro="contributors" suffix=", "/>+ <choose>+ <if type="thesis">+ <group delimiter=", ">+ <text macro="title"/>+ <text variable="genre"/>+ <text macro="publisher-book"/>+ </group>+ </if>+ <else-if type="interview">+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="interview"/>+ </group>+ </else-if>+ <else-if type="broadcast">+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="broadcast"/>+ </group>+ </else-if>+ <else-if type="webpage">+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="webpage"/>+ </group>+ </else-if>+ <else-if type="article-newspaper">+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="translator" text-case="capitalize-first"/>+ <text macro="article-newspaper"/>+ </group>+ </else-if>+ <else-if type="article-journal article-magazine article-newspaper broadcast interview manuscript map patent personal_communication song speech thesis webpage" match="any">+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="translator" text-case="capitalize-first"/>+ <text macro="publication"/>+ </group>+ </else-if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="translator" text-case="capitalize-first"/>+ <text macro="container-contributors"/>+ <text macro="volume"/>+ <text variable="edition" text-case="capitalize-first"/>+ <text macro="publisher-chapter"/>+ <text macro="collection"/>+ </group>+ </else-if>+ <else-if type="report">+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="translator" text-case="capitalize-first"/>+ <text macro="publisher-report"/>+ <text macro="collection"/>+ <text macro="report"/>+ </group>+ </else-if><!-- LE TRAITEMENT CI-DESSOUS EST CELUI DES LIVRES --><!-- IL SERA APPLIQUE AUX TYPES NON TRAITES PAR LES CAS PRECEDENTS -->+ <else>+ <group delimiter=", ">+ <text macro="title"/>+ <text macro="volume"/>+ <text macro="translator" text-case="capitalize-first"/>+ <text macro="editor" text-case="capitalize-first"/>+ <text variable="edition" text-case="capitalize-first"/>+ <text macro="publisher-book"/>+ <text macro="collection"/>+ </group>+ </else>+ </choose>+ <group>+ <text variable="note" prefix=", " text-case="capitalize-first"/>+ <text macro="url-doi" prefix=", "/>+ <text macro="access" prefix=" "/>+ <text variable="ISBN" prefix=", ISBN "/>+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ "1965",+ "6",+ "1"+ ]+ ]+ },+ "title": "His Anonymous Life",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/overrides/bugreports_DoubleEncodedAngleBraces.txt view
@@ -0,0 +1,556 @@+The official result has ". ." at the end instead of ".".+This is an insignificant difference and neither would appear+in a better-designed style.++>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+<span style="font-variant:small-caps;">Center for History and New Media</span>, « Zotero Quick Start Guide », s.d., [En ligne]. <http://zotero.org/support/quick_start_guide>.+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "http://zotero.org/users/local/0rmqTjvx/items/ABCD2345"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="UTF-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" default-locale="fr-FR" version="1.0" demote-non-dropping-particle="never">+ <info>+ <title>Université libre de Bruxelles - Histoire (French)</title>+ <title-short>ULB-Hist</title-short>+ <id>http://www.zotero.org/styles/universite-libre-de-bruxelles-histoire</id>+ <link href="http://www.zotero.org/styles/universite-libre-de-bruxelles-histoire" rel="self"/>+ <link href="http://www.zotero.org/styles/infoclio-fr-smallcaps" rel="template"/>+ <link href="https://www.dropbox.com/s/5p4jzir9ie0n54q/Guide_presentation_travail_histoire_2011-2012.pdf" rel="documentation"/>+ <author>+ <name>Genki Takano</name>+ <email>Genki.Takano@ulb.ac.be</email>+ <uri>http://www.zotero.org/gtakano</uri>+ </author>+ <category citation-format="note"/>+ <category field="history"/>+ <updated>2014-08-28T01:36:46+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale xml:lang="fr">+ <terms>+ <term name="page" form="short">+ <single>p.</single>+ <multiple>pp.</multiple>+ </term>+ <term name="editor" form="short">+ <single>éd.</single>+ <multiple>éds.</multiple>+ </term>+ <term name="in">+ <single>dans</single>+ <multiple>dans</multiple>+ </term>+ <term name="cited">op. cit.</term>+ <term name="ordinal-01">ᵉ</term>+ <term name="ordinal-02">ᵉ</term>+ <term name="ordinal-03">ᵉ</term>+ <term name="ordinal-04">ᵉ</term>+ </terms>+ </locale>+ <macro name="author-or-editor">+ <choose>+ <if variable="author">+ <names variable="author">+ <name sort-separator=", " initialize-with="." delimiter=", " and="text" delimiter-precedes-last="never" name-as-sort-order="all">+ <name-part name="family" font-variant="small-caps"/>+ </name>+ <et-al font-style="italic"/>+ </names>+ </if>+ <else-if variable="editor">+ <text macro="editor"/>+ </else-if>+ </choose>+ </macro>+ <macro name="editor">+ <names variable="editor">+ <name sort-separator=", " initialize-with="." delimiter=", " and="text" delimiter-precedes-last="never" name-as-sort-order="all">+ <name-part name="family" font-variant="small-caps"/>+ </name>+ <et-al font-style="italic"/>+ <label form="short" prefix=" (" suffix=")"/>+ </names>+ </macro>+ <macro name="author-note">+ <choose>+ <if variable="author">+ <names variable="author">+ <name sort-separator=" " initialize-with="." delimiter=", " and="text" form="long">+ <name-part name="family" font-variant="small-caps"/>+ </name>+ <et-al font-style="italic"/>+ </names>+ </if>+ <else-if variable="editor">+ <text macro="editor-note"/>+ </else-if>+ </choose>+ </macro>+ <macro name="editor-note">+ <names variable="editor">+ <name sort-separator=" " initialize-with="." delimiter=", " and="text" form="long">+ <name-part name="family" font-variant="small-caps"/>+ </name>+ <et-al font-style="italic"/>+ <label form="short" prefix=" (" suffix=")"/>+ </names>+ </macro>+ <macro name="title">+ <choose>+ <if type="book manuscript thesis graphic motion_picture" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=" ">+ <text variable="title" quotes="true" suffix=","/>+ <text value="dans" font-style="normal"/>+ <text macro="editor" suffix=","/>+ <text variable="container-title" font-style="italic"/>+ </group>+ </else-if>+ <else-if type="article-journal">+ <group delimiter=", ">+ <text variable="title" quotes="true"/>+ <group>+ <text variable="container-title" font-style="italic"/>+ <choose>+ <if is-numeric="volume">+ <number variable="volume" prefix=", vol. "/>+ <choose>+ <if is-numeric="issue">+ <text value=""/>+ <number variable="issue" prefix=", n° "/>+ </if>+ </choose>+ </if>+ <else-if is-numeric="issue">+ <number variable="issue" prefix=", n° "/>+ </else-if>+ </choose>+ </group>+ </group>+ </else-if>+ <else-if type="article-newspaper article-magazine entry-encyclopedia entry-dictionary broadcast" match="any">+ <group delimiter=", ">+ <text variable="title" quotes="true"/>+ <text variable="container-title" font-style="italic"/>+ </group>+ </else-if>+ <else-if type="webpage post post-weblog" match="any">+ <group delimiter=", ">+ <text variable="title" quotes="true"/>+ <text variable="container-title" font-style="italic"/>+ </group>+ </else-if>+ <else-if type="report song" match="any">+ <group delimiter=", ">+ <text variable="title" quotes="true"/>+ <group delimiter=" ">+ <text variable="collection-title" font-style="italic"/>+ <number variable="number"/>+ </group>+ </group>+ </else-if>+ <else-if type="interview">+ <group delimiter=", ">+ <text variable="title" quotes="true"/>+ <names variable="interviewer" delimiter=", ">+ <label form="verb" prefix=" " suffix=" "/>+ <name sort-separator=" ">+ <name-part name="family" font-variant="small-caps"/>+ </name>+ <et-al font-style="italic"/>+ </names>+ </group>+ </else-if>+ <else>+ <text variable="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="title-note">+ <choose>+ <if type="book manuscript thesis graphic motion_picture" match="any">+ <text variable="title" font-style="italic"/>+ </if>+ <else-if type="chapter paper-conference" match="any">+ <group delimiter=" ">+ <text variable="title" quotes="true" suffix=","/>+ <text value="dans" font-style="normal"/>+ <text macro="editor-note" suffix=","/>+ <text variable="container-title" font-style="italic"/>+ </group>+ </else-if>+ <else-if type="article-journal">+ <group delimiter=", ">+ <text variable="title" quotes="true"/>+ <group>+ <text variable="container-title" font-style="italic"/>+ <choose>+ <if is-numeric="volume">+ <number variable="volume" prefix=", vol. "/>+ <choose>+ <if is-numeric="issue">+ <text value=""/>+ <number variable="issue" prefix=", n° "/>+ </if>+ </choose>+ </if>+ <else-if is-numeric="issue">+ <number variable="issue" prefix=", n° "/>+ </else-if>+ </choose>+ </group>+ </group>+ </else-if>+ <else-if type="article-newspaper article-magazine entry-encyclopedia entry-dictionary broadcast" match="any">+ <group delimiter=", ">+ <text variable="title" quotes="true"/>+ <text variable="container-title" font-style="italic"/>+ </group>+ </else-if>+ <else-if type="webpage post post-weblog" match="any">+ <group delimiter=", ">+ <text variable="title" quotes="true"/>+ <text variable="container-title" font-style="italic"/>+ </group>+ </else-if>+ <else-if type="report song" match="any">+ <group delimiter=", ">+ <text variable="title" quotes="true"/>+ <group delimiter=" ">+ <text variable="collection-title" font-style="italic"/>+ <number variable="number"/>+ </group>+ </group>+ </else-if>+ <else-if type="interview">+ <group delimiter=", ">+ <text variable="title" quotes="true"/>+ <names variable="interviewer" delimiter=", ">+ <label form="verb" prefix=" " suffix=" "/>+ <name sort-separator=" ">+ <name-part name="family" font-variant="small-caps"/>+ </name>+ <et-al font-style="italic"/>+ </names>+ </group>+ </else-if>+ <else>+ <text variable="title" quotes="true"/>+ </else>+ </choose>+ </macro>+ <macro name="volume-or-medium">+ <choose>+ <if type="book chapter entry-encyclopedia entry-dictionary" match="any">+ <choose>+ <if is-numeric="volume number-of-volumes" match="any">+ <text term="volume" form="short" suffix=". "/>+ <number variable="volume" suffix=""/>+ <number variable="number-of-volumes"/>+ </if>+ <else-if is-numeric="volume">+ <text term="volume" form="short" suffix=". "/>+ <number variable="volume"/>+ </else-if>+ <else-if is-numeric="number-of-volumes">+ <number variable="number-of-volumes"/>+ <text term="volume" form="short" prefix=" " suffix="."/>+ </else-if>+ </choose>+ </if>+ <else-if type="motion_picture song broadcast" match="any">+ <text variable="medium"/>+ </else-if>+ </choose>+ </macro>+ <macro name="place-and-publisher">+ <choose>+ <if type="book chapter paper-conference" match="any">+ <group delimiter=", ">+ <choose>+ <if variable="publisher-place">+ <text variable="publisher-place"/>+ </if>+ <else>+ <text value="s.l."/>+ </else>+ </choose>+ <text variable="publisher"/>+ </group>+ </if>+ <else-if type="report motion_picture broadcast song" match="any">+ <group delimiter=", ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </else-if>+ <else-if type="thesis">+ <group delimiter=", ">+ <text variable="genre"/>+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </else-if>+ <else-if type="speech">+ <group delimiter=", ">+ <text variable="genre"/>+ <text variable="event"/>+ <text variable="event-place"/>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="url">+ <choose>+ <if variable="URL">+ <text variable="URL" prefix="[En ligne]. <" suffix=">. "/>+ <group delimiter=" ">+ <text term="accessed" text-case="capitalize-first" prefix="("/>+ <date variable="accessed" form="text" date-parts="year-month-day" suffix=")"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="date-pages-and-collection">+ <group delimiter=", ">+ <text macro="date"/>+ <text macro="artwork-info"/>+ <text macro="locator-or-pages"/>+ </group>+ <text macro="collection"/>+ </macro>+ <macro name="date">+ <choose>+ <if type="book thesis chapter paper-conference motion_picture" match="any">+ <choose>+ <if variable="issued">+ <date variable="issued" form="text">+ <date-part name="year" range-delimiter="/"/>+ </date>+ </if>+ <else>+ <text value="s.d."/>+ </else>+ </choose>+ </if>+ <else-if type="article-journal" match="any">+ <choose>+ <if variable="issued">+ <date variable="issued" form="text" date-parts="year-month"/>+ </if>+ <else>+ <text value="s.d."/>+ </else>+ </choose>+ </else-if>+ <else-if type="article-newspaper article-magazine post post-weblog report broadcast entry-encyclopedia entry-dictionary speech" match="any">+ <group delimiter=", ">+ <choose>+ <if variable="issued">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ </if>+ <else>+ <text value="s.d."/>+ </else>+ </choose>+ </group>+ </else-if>+ <else-if type="song">+ <choose>+ <if variable="issued">+ <group delimiter=", ">+ <date variable="issued" form="text"/>+ <text macro="url"/>+ </group>+ </if>+ <else>+ <text macro="url"/>+ </else>+ </choose>+ </else-if>+ <else>+ <choose>+ <if variable="issued">+ <date variable="issued" form="text" date-parts="year-month-day"/>+ </if>+ <else-if variable="original-date">+ <date variable="original-date" form="text" date-parts="year-month-day"/>+ </else-if>+ <else-if variable="event-date">+ <date variable="event-date" form="text" date-parts="year-month-day"/>+ </else-if>+ <else>+ <text value="s.d."/>+ </else>+ </choose>+ </else>+ </choose>+ </macro>+ <macro name="artwork-info">+ <choose>+ <if type="graphic">+ <group delimiter=", ">+ <text variable="medium"/>+ <text variable="genre"/>+ <text variable="archive"/>+ <text variable="archive_location"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="locator">+ <group delimiter=" ">+ <label variable="locator" form="short"/>+ <text variable="locator"/>+ </group>+ </macro>+ <macro name="locator-or-pages">+ <choose>+ <if variable="locator">+ <text macro="locator"/>+ </if>+ <else>+ <group delimiter=" ">+ <label variable="page" form="short"/>+ <text variable="page"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="collection">+ <choose>+ <if type="book chapter paper-conference" match="any">+ <group prefix=" (" suffix=")" delimiter=" ">+ <text variable="collection-title"/>+ <choose>+ <if is-numeric="collection-number">+ <number variable="collection-number"/>+ </if>+ </choose>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if type="book chapter paper-conference" match="any">+ <choose>+ <if is-numeric="edition">+ <number variable="edition" form="ordinal"/>+ <text term="edition" prefix=" "/>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="complete-reference">+ <group delimiter=", ">+ <text macro="author-or-editor"/>+ <text macro="title"/>+ <text macro="volume-or-medium"/>+ <text macro="edition"/>+ <text macro="place-and-publisher"/>+ <text macro="date-pages-and-collection"/>+ <text macro="url"/>+ </group>+ </macro>+ <citation name-form="long" and="text" sort-separator=", " delimiter-precedes-last="never" et-al-min="4" et-al-use-first="1">+ <layout suffix="." delimiter=" ; ">+ <choose>+ <if position="ibid-with-locator">+ <group delimiter=", ">+ <text term="ibid" font-style="italic" suffix="."/>+ <text macro="locator"/>+ </group>+ </if>+ <else-if position="ibid">+ <text term="ibid" font-style="italic"/>+ </else-if>+ <else-if position="subsequent">+ <group delimiter=", ">+ <text macro="author-note"/>+ <choose>+ <if type="book thesis" match="any">+ <text variable="title" form="short" font-style="italic"/>+ </if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ <group font-style="italic" delimiter=" ">+ <choose>+ <if type="article article-magazine article-newspaper article-journal entry entry-dictionary entry-encyclopedia chapter" match="any">+ <text value="art. cit."/>+ </if>+ <else>+ <text value="op. cit."/>+ </else>+ </choose>+ </group>+ <text macro="locator"/>+ </group>+ </else-if>+ <else>+ <group delimiter=", ">+ <text macro="author-note"/>+ <text macro="title-note"/>+ <text macro="volume-or-medium"/>+ <text macro="edition"/>+ <text macro="place-and-publisher"/>+ <text macro="date-pages-and-collection"/>+ <text macro="url"/>+ </group>+ </else>+ </choose>+ </layout>+ </citation>+ <bibliography name-form="long" and="text" sort-separator=", " name-as-sort-order="all" delimiter-precedes-last="never" et-al-min="4">+ <sort>+ <key macro="author-or-editor" names-min="3" names-use-first="3"/>+ <key variable="issued" sort="descending"/>+ </sort>+ <layout suffix=".">+ <text macro="complete-reference"/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "URL": "http://zotero.org/support/quick_start_guide",+ "author": [+ {+ "literal": "Center for History and New Media"+ }+ ],+ "id": "http://zotero.org/users/local/0rmqTjvx/items/ABCD2345",+ "title": "Zotero Quick Start Guide",+ "type": "webpage"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/overrides/bugreports_NoTitle.txt view
@@ -0,0 +1,369 @@+The official results have '(n.d.). .' and we get '(n.d.).'.+This seems fine. The extra period is due to a bug in the+style which has since been fixed.++>>===== MODE =====>>+bibliography+<<===== MODE =====<<++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">ecs. (n.d.).</div>+ <div class="csl-entry">Family01, G. (n.d.). XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.</div>+</div>+<<===== RESULT =====<<++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0">+ <info>+ <title>American Psychological Association 6th Edition</title>+ <id>http://www.zotero.org/styles/apa</id>+ <link href="http://www.zotero.org/styles/apa" rel="self"/>+ <link href="http://owl.english.purdue.edu/owl/resource/560/01/" rel="documentation"/>+ <author>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </author>+ <contributor>+ <name>Bruce D'Arcus</name>+ </contributor>+ <contributor>+ <name>Curtis M. Humphrey</name>+ </contributor>+ <contributor>+ <name>Richard Karnesky</name>+ <email>karnesky+zotero@gmail.com</email>+ <uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>+ </contributor>+ <contributor>+ <name>Sebastian Karcher</name>+ </contributor>+ <category field="psychology"/>+ <category field="generic-base"/>+ <category citation-format="author-date"/>+ <updated>2010-01-27T20:08:03+00:00</updated>+ <rights>This work is licensed under a Creative Commons Attribution-Share Alike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>+ </info>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text term="in" text-case="capitalize-first" suffix=" "/>+ <names variable="editor translator" delimiter=", " suffix=", ">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=" (" text-case="capitalize-first" suffix=".)" strip-periods="true"/>+ </names>+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if type="chapter paper-conference" match="none">+ <names variable="editor translator" delimiter=", " prefix=" (" suffix=")">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="capitalize-first" suffix="." strip-periods="true"/>+ </names>+ </if>+ </choose>+ </macro>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with=". " delimiter=", " delimiter-precedes-last="always"/>+ <label form="short" prefix=" (" suffix=".)" text-case="capitalize-first" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <macro name="author-short">+ <names variable="author">+ <name form="short" and="symbol" delimiter=", " initialize-with=". "/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song" match="any">+ <text variable="title" form="short" font-style="italic"/>+ </if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </substitute>+ </names>+ </macro>+ <macro name="access">+ <choose>+ <if type="thesis">+ <choose>+ <if variable="archive" match="any">+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="archive" suffix="."/>+ <text variable="archive_location" prefix=" (" suffix=")"/>+ </group>+ </if>+ <else>+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </else>+ </choose>+ </if>+ <else>+ <choose>+ <if variable="DOI">+ <text variable="DOI" prefix="doi:"/>+ </if>+ <else>+ <choose>+ <if type="webpage">+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <date variable="accessed" suffix=", ">+ <date-part name="month" suffix=" "/>+ <date-part name="day" suffix=", "/>+ <date-part name="year"/>+ </date>+ <group>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </group>+ </if>+ <else>+ <group>+ <text term="retrieved" text-case="capitalize-first" suffix=" "/>+ <text term="from" suffix=" "/>+ <text variable="URL"/>+ </group>+ </else>+ </choose>+ </else>+ </choose>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <choose>+ <if type="report thesis" match="any">+ <text variable="title" font-style="italic"/>+ <group prefix=" (" suffix=")">+ <text variable="genre"/>+ <text variable="number" prefix=" No. "/>+ </group>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song manuscript speech" match="any">+ <text variable="title" font-style="italic"/>+ </else-if>+ <else>+ <text variable="title"/>+ </else>+ </choose>+ </macro>+ <macro name="publisher">+ <choose>+ <if type="report" match="any">+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </if>+ <else-if type="thesis" match="any">+ <group delimiter=", ">+ <text variable="publisher"/>+ <text variable="publisher-place"/>+ </group>+ </else-if>+ <else>+ <choose>+ <if variable="event" match="none">+ <text variable="genre" suffix=", "/>+ </if>+ </choose>+ <group delimiter=": ">+ <text variable="publisher-place"/>+ <text variable="publisher"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="event">+ <choose>+ <if variable="event">+ <choose>+ <if variable="genre" match="none">+ <text term="presented at" text-case="capitalize-first" suffix=" "/>+ <text variable="event"/>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="genre" text-case="capitalize-first"/>+ <text term="presented at"/>+ <text variable="event"/>+ </group>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="issued">+ <choose>+ <if variable="issued">+ <group prefix=" (" suffix=").">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <choose>+ <if type="bill book graphic legal_case motion_picture report song article-journal chapter paper-conference" match="none">+ <date variable="issued">+ <date-part prefix=", " name="month"/>+ <date-part prefix=" " name="day"/>+ </date>+ </if>+ </choose>+ </group>+ </if>+ <else>+ <text prefix=" (" term="no date" suffix=")." form="short"/>+ </else>+ </choose>+ </macro>+ <macro name="issued-year">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short" strip-periods="true"/>+ </else>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short" suffix="." strip-periods="true"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <macro name="locators">+ <choose>+ <if type="article-journal article-magazine article-newspaper" match="any">+ <group prefix=", " delimiter=", ">+ <group>+ <text variable="volume" font-style="italic"/>+ <text variable="issue" prefix="(" suffix=")"/>+ </group>+ <text variable="page"/>+ </group>+ </if>+ <else-if type="bill book graphic legal_case motion_picture report song chapter paper-conference" match="any">+ <group prefix=" (" suffix=")" delimiter=", ">+ <text macro="edition"/>+ <group>+ <text term="volume" form="short" plural="true" text-case="capitalize-first" suffix=". " strip-periods="true"/>+ <number variable="number-of-volumes" form="numeric" prefix="1-"/>+ </group>+ <group>+ <text term="volume" form="short" text-case="capitalize-first" suffix=". " strip-periods="true"/>+ <number variable="volume" form="numeric"/>+ </group>+ <group>+ <label variable="page" form="short" suffix=" "/>+ <text variable="page"/>+ </group>+ </group>+ </else-if>+ </choose>+ </macro>+ <macro name="citation-locator">+ <group>+ <label variable="locator" form="short"/>+ <text variable="locator" prefix=" "/>+ </group>+ </macro>+ <citation et-al-min="6" et-al-use-first="1" et-al-subsequent-min="3" et-al-subsequent-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" collapse="year">+ <sort>+ <key macro="author"/>+ <key macro="issued-year"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <group delimiter=", ">+ <text macro="author-short"/>+ <text macro="issued-year"/>+ <text macro="citation-locator"/>+ </group>+ </layout>+ </citation>+ <bibliography hanging-indent="true" et-al-min="8" et-al-use-first="7" entry-spacing="0" line-spacing="2">+ <sort>+ <key macro="author"/>+ <key macro="issued-year" sort="ascending"/>+ </sort>+ <layout>+ <group suffix=".">+ <text macro="author" suffix="."/>+ <text macro="issued" suffix=" "/>+ <group delimiter=". ">+ <text macro="title"/>+ <group>+ <text macro="container-contributors"/>+ <text macro="secondary-contributors"/>+ <group delimiter=", ">+ <text variable="container-title" font-style="italic"/>+ <text variable="collection-title"/>+ </group>+ </group>+ </group>+ <text macro="locators"/>+ <group delimiter=", " prefix=". ">+ <text macro="event"/>+ <text macro="publisher"/>+ </group>+ </group>+ <text macro="access" prefix=". "/>+ </layout>+ </bibliography>+</style>++<<===== CSL =====<<++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Family01",+ "given": "Given01"+ }+ ],+ "id": "ITEM-1",+ "title": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",+ "type": "article-journal"+ },+ {+ "id": "ITEM-2",+ "title": "ecs",+ "type": "article-journal"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/overrides/bugreports_UnisaHarvardInitialization.txt view
@@ -0,0 +1,85 @@+The test results include a trailing space, which we delete.++>>===== MODE =====>>+bibliography+<<===== MODE =====<<++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">Doe, JQ n.d.,</div>+</div>+<<===== RESULT =====<<+++Macros are from a private style "unisa-harvard", forwarded by a user.++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="in-text"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" and="symbol" sort-separator=", " initialize-with="" delimiter=", " delimiter-precedes-last="never"/>+ <label form="short" prefix=" (" suffix=")" strip-periods="true"/>+ <substitute>+ <names variable="editor"/>+ </substitute>+ </names>+ </macro>+ <macro name="year-date">+ <choose>+ <if variable="issued">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text term="no date" form="short"/>+ </else>+ </choose>+ </macro>+ <citation>+ <layout>+ <text value="BOGUS"/>+ </layout>+ </citation>+ <bibliography>+ <layout>+ <text macro="author"/>+ <text macro="year-date" prefix=" " suffix=", "/>+ </layout>+ </bibliography>+</style>+++<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John Quiggly"+ }+ ],+ "id": "ITEM-1",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/overrides/display_AuthorAsHeading.txt view
@@ -0,0 +1,176 @@+Adjusted indentation of divs in result.++>>===== MODE =====>>+bibliography+<<===== MODE =====<<++An illustration of how the class attribute could be used to support+the grouping of authors in the AAA style bibliography format.++++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">+ <div class="csl-block">John Aloysius Doe</div><div class="csl-left-margin">1999</div><div class="csl-right-inline">Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa</div>+ </div>+ <div class="csl-entry">+ <div class="csl-left-margin">2000</div><div class="csl-right-inline">Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb</div>+ </div>+ <div class="csl-entry">+ <div class="csl-block">Jane Henrietta Roe</div><div class="csl-left-margin">1999a</div><div class="csl-right-inline">Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc</div>+ </div>+ <div class="csl-entry">+ <div class="csl-left-margin">1999b</div><div class="csl-right-inline">Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd</div>+ </div>+ <div class="csl-entry">+ <div class="csl-left-margin">2000</div><div class="csl-right-inline">Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee</div>+ </div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation + disambiguate-add-year-suffix="true">+ <layout>+ <names variable="author">+ <name />+ </names>+ <date variable="issued">+ <date-part name="year" />+ </date>+ </layout>+ </citation>+ <bibliography + subsequent-author-substitute="">+ <layout>+ <group display="block">+ <names variable="author">+ <name and="text" />+ </names>+ </group>+ <group display="left-margin">+ <date variable="issued">+ <date-part name="year" />+ </date>+ <text variable="year-suffix" />+ </group>+ <group display="right-inline">+ <text variable="title" />+ </group>+ </layout>+ </bibliography>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "author": [+ {+ "family": "Doe",+ "given": "John Aloysius"+ }+ ],+ "id": "ITEM-1",+ "issued": {+ "date-parts": [+ [+ 1999+ ]+ ]+ },+ "title": "Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa Aaaaa",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Doe",+ "given": "John Aloysius"+ }+ ],+ "id": "ITEM-2",+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ },+ "title": "Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb Bbbbb",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane Henrietta"+ }+ ],+ "id": "ITEM-3",+ "issued": {+ "date-parts": [+ [+ 1999+ ]+ ]+ },+ "title": "Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc Ccccc",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane Henrietta"+ }+ ],+ "id": "ITEM-4",+ "issued": {+ "date-parts": [+ [+ 1999+ ]+ ]+ },+ "title": "Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd Ddddd",+ "type": "book"+ },+ {+ "author": [+ {+ "family": "Roe",+ "given": "Jane Henrietta"+ }+ ],+ "id": "ITEM-5",+ "issued": {+ "date-parts": [+ [+ 2000+ ]+ ]+ },+ "title": "Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee Eeeee",+ "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/overrides/flipflop_NumericField.txt view
@@ -0,0 +1,79 @@+Note: since the spec doesn't demand the strange output+expected by citeproc-js, and the output our library gives+seems clearly better, we treat this as passing.++>>===== MODE =====>>+citation+<<===== MODE =====<<+++That is to say, rich text markup is not parsed on numeric fields with+numeric content.++This is the result in citeproc-js, but the correct behavior under CSL+at large is TBD.++As of this writing (2018-05-05), citeproc-js DOES parse rich text+markup in numeric fields if the field contains no numeric value+(not demonstrated by this fixture, but it is so). This inconsistency,+at least, is not desirable.+++>>===== RESULT =====>>+1<sup>er</sup>+<<===== RESULT =====<<++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0" demote-non-dropping-particle="never">+ <info>+ <title>Chicago Manual of Style (full note, no Ibid.)</title>+ <id>http://www.zotero.org/styles/chicago-fullnote-bibliography-no-ibid</id>+ <link href="http://www.zotero.org/styles/chicago-fullnote-bibliography-no-ibid" rel="self"/>+ <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>+ <author>+ <name>Julian Onions</name>+ <email>julian.onions@gmail.com</email>+ </author>+ <contributor>+ <name>Simon Kornblith</name>+ <email>simon@simonster.com</email>+ </contributor>+ <contributor>+ <name>Elena Razlogova</name>+ <email>elena.razlogova@gmail.com</email>+ </contributor>+ <contributor>+ <name>Frank Bennett</name>+ <email>biercenator@gmail.com</email>+ </contributor>+ <category citation-format="note"/>+ <category field="generic-base"/>+ <summary>Chicago format with full notes and bibliography</summary>+ <updated>2012-10-25T21:15:26+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <citation>+ <layout>+ <number variable="number"/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1",+ "number": "1<sup>er</sup>",+ "type": ""+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/overrides/fullstyles_ABdNT.txt view
@@ -0,0 +1,716 @@+The expected output includes a trailing space which this+library deletes.++>>===== MODE =====>>+bibliography+<<===== MODE =====<<+++Note: Previously expected plain hyphen on issue number.+++>>===== RESULT =====>>+<div class="csl-bib-body">+ <div class="csl-entry">COLE, S. J.; MOORE, R. Hydrological modelling using raingauge- and radar-based estimators of areal rainfall. <b>Journal of Hydrology</b>, v. 358, n. 3–4, p. 159–181, 2008.</div>+</div>+<<===== RESULT =====<<+++>>===== CSL =====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" version="1.0" class="in-text" default-locale="pt-BR">+ <info>+ <title>Associação Brasileira de Normas Técnicas (ABNT)</title>+ <id>http://www.zotero.org/styles/associacao-brasileira-de-normas-tecnicas</id>+ <link href="http://www.zotero.org/styles/associacao-brasileira-de-normas-tecnicas" rel="self"/>+ <author>+ <name>Juliana Geyna Régis</name>+ <email>juliana.regis@ipea.gov.br</email>+ </author>+ <contributor>+ <name>Lucas Mation</name>+ <email>lucas.mation@ipea.gov.br</email>+ </contributor>+ <contributor>+ <name>Eduardo Michelotti Bettoni</name>+ <email>webtur@ufpr.br</email>+ </contributor>+ <contributor>+ <name>Paulo Augusto Nascimento</name>+ <email>paulo.nascimento@ipea.gov.br</email>+ </contributor>+ <contributor>+ <name>José Antonio Meira da Rocha</name>+ <email>joseantoniorocha@gmail.com</email>+ <uri>http://meiradarocha.jor.br</uri>+ </contributor>+ <contributor>+ <name>Mario José</name>+ <email>gnumario [at-mark] gmail [dot-mark] com</email>+ </contributor>+ <category citation-format="author-date"/>+ <category field="generic-base"/>+ <summary>The Brazilian standard style</summary>+ <updated>2012-12-11T02:56:15+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale xml:lang="pt-BR">+ <terms>+ <!--Abreviacoes meses "Forma Curta"-->+ <term name="month-01" form="short">jan.</term>+ <term name="month-02" form="short">fev.</term>+ <term name="month-03" form="short">mar.</term>+ <term name="month-04" form="short">abr.</term>+ <term name="month-05" form="short">maio</term>+ <term name="month-06" form="short">jun.</term>+ <term name="month-07" form="short">jul.</term>+ <term name="month-08" form="short">ago.</term>+ <term name="month-09" form="short">set.</term>+ <term name="month-10" form="short">out.</term>+ <term name="month-11" form="short">nov.</term>+ <term name="month-12" form="short">dez.</term>+ <!--Os termos abaixo serao utilizados quando houverem nomes de editores. Apos a citacao dos nomes, eles irao aparecer entre parenteses.-->+ <term name="editor" form="short">+ <single>ed</single>+ <multiple>eds</multiple>+ </term>+ <term name="container-author" form="short">+ <single>ed</single>+ <multiple>eds</multiple>+ </term>+ <term name="collection-editor" form="short">+ <single>ed</single>+ <multiple>eds</multiple>+ </term>+ </terms>+ </locale>+ <!--A macro 'container-contribuitor' e responsavel por mostrar os nomes dos editores, serao apresentados SOBRENOME, INICIAIS PRENOMES +tendo as inicias separadas por ponto.-->+ <macro name="container-contributors">+ <choose>+ <if type="chapter">+ <names variable="container-author" delimiter=", ">+ <name name-as-sort-order="all" sort-separator=", " initialize-with=". " delimiter="; " delimiter-precedes-last="always">+ <name-part name="family" text-case="uppercase"/>+ <name-part name="given" text-case="uppercase"/>+ </name>+ <et-al prefix=" " font-style="italic"/>+ <label form="short" prefix=" (" suffix=".). " text-case="capitalize-first"/>+ <substitute>+ <names variable="editor"/>+ <names variable="collection-editor"/>+ </substitute>+ </names>+ </if>+ </choose>+ </macro>+ <!--A macro 'secundary-contribuitor' e responsavel por mostrar os nomes dos organizadores, serao apresentados SOBRENOME, INICIAIS PRENOMES+tendo as inicias separadas por ponto.-->+ <macro name="secondary-contributors">+ <choose>+ <if type="chapter" match="none">+ <names variable="editor" delimiter=", " prefix=" (" suffix=")">+ <name and="symbol" initialize-with=". " delimiter=", "/>+ <label form="short" prefix=", " text-case="capitalize-first" suffix="."/>+ </names>+ </if>+ </choose>+ </macro>+ <!--A macro 'translator' e responsavel por mostrar os nomes dos tradutores, serao apresentados SOBRENOME, INICIAIS PRENOMES+tendo as inicias separadas por ponto. -->+ <macro name="translator">+ <text value="Traducao "/>+ <names variable="translator" delimiter=", ">+ <name delimiter="; " sort-separator=" " delimiter-precedes-last="always">+ <name-part name="given" text-case="capitalize-first"/>+ <name-part name="family" text-case="capitalize-first"/>+ </name>+ <et-al prefix=" " font-style="italic"/>+ </names>+ </macro>+ <!--A macro 'author' e responsavel por mostrar os nomes dos autores na bibliografia, serao no formato SOBRENOME, INICIAIS PRENOMES, tendo +as inicias separadas por ponto. Quando houver mais de tres autores, somente o primeiro sera mostrado e no lugar dos outros+aparecera a expess o 'et. al.'. Na regra da ABNT essa expressao deve aparecer em fonte normal, mas o IPEA utiliza ela em italico.-->+ <macro name="author">+ <names variable="author">+ <name name-as-sort-order="all" sort-separator=", " initialize-with=". " delimiter="; " delimiter-precedes-last="always">+ <name-part name="family" text-case="uppercase"/>+ <name-part name="given" text-case="uppercase"/>+ </name>+ <et-al prefix=" " font-style="italic"/>+ <label form="short" prefix=" (" suffix=".)" text-case="uppercase"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <text macro="title"/>+ </substitute>+ </names>+ </macro>+ <!--A macro 'author-short' e responsavel por mostrar os nomes dos autores na citacao (no meio do texto). Nela aparecera apenas o ultimo nome+do autor. Na regra da ABNT o sobrenome deve aparecer com todas as letras em caixa alta, mas o IPEA utiliza ele em caixa baixa tanto para os nomes,+quanto para as siglas "soletraveis". A regra do 'et. al.' tambem vale para a citacao-->+ <macro name="author-short">+ <names variable="author">+ <name form="short" name-as-sort-order="all" sort-separator=", " and="text" initialize-with=". " delimiter=", " delimiter-precedes-last="never">+ </name>+ <et-al prefix=" " font-style="italic"/>+ <substitute>+ <names variable="editor"/>+ <names variable="translator"/>+ <choose>+ <if type="book">+ <text variable="title" form="short"/>+ </if>+ <else>+ <text variable="title" form="short" quotes="true"/>+ </else>+ </choose>+ </substitute>+ </names>+ </macro>+ <!--A macro 'access' e utilizada em arquivos de paginas da web. Ela e responsavel por mostrar a URL do site pesquisado e a data do acesso-->+ <macro name="access">+ <text variable="URL" prefix="Disponível em: <" suffix=">"/>+ <date variable="accessed" prefix=". Acesso em: ">+ <date-part name="day" suffix=" "/>+ <date-part name="month" form="short" suffix=". " text-case="lowercase"/>+ <date-part name="year"/>+ </date>+ </macro>+ <!--A macro 'title' e responsavel por mostrar o titulo principal do arquivo. Em todos os tipos ele aparecera em negrito logo apos os nomes dos+autores, exceto em arquivos do tipo 'artigo de jornal, artigo de revista, artigo de periodico', nesses arquivos eles irao aparecer em fonte normal.-->+ <macro name="title">+ <choose>+ <if type="chapter bill" match="any">+ <text variable="title"/>+ </if>+ <else-if type="book thesis" match="any">+ <text variable="title" font-weight="bold"/>+ </else-if>+ <else-if type="article-newspaper article-magazine article-journal" match="any">+ <text variable="title"/>+ </else-if>+ <else>+ <text variable="title" font-weight="bold"/>+ </else>+ </choose>+ </macro>+ <!-- Titulo dos Anais-->+ <macro name="container-title">+ <choose>+ <if type="paper-conference" match="any">+ <text variable="container-title" suffix=". "/>+ <text value="Anais" font-weight="bold"/>+ <text value="..."/>+ </if>+ <else>+ <text variable="container-title" font-weight="bold"/>+ </else>+ </choose>+ </macro>+ <!--A macro 'publisher' e responsavel por mostrar o nome da editora responsavel pela publicacao-->+ <macro name="publisher">+ <choose>+ <if match="any" variable="publisher-place publisher">+ <choose>+ <if variable="publisher-place">+ <text variable="publisher-place" suffix=": "/>+ </if>+ <else-if type="entry-encyclopedia">+ </else-if>+ <else>+ <text value="[s.l.] "/>+ </else>+ </choose>+ <choose>+ <if variable="publisher">+ <text variable="publisher" suffix=", "/>+ <text macro="issued"/>+ </if>+ <else>+ <text value="[s.n.]"/>+ </else>+ </choose>+ </if>+ <else>+ <text value="[s.l: s.n.]"/>+ </else>+ </choose>+ </macro>+ <!--A macro 'event' sera utilizada em arquivos do tipo Evento/Conferencia. Ela e responsavel por mostrar o nome da conferencia, que tera formatacao+em caixa alta. Utiliza-se antes do nome da conferencia a expressao "In". Segundo a regra da ABNT ela deve ser em fonte normal, mas o IPEA +a ulitiliza em italico-->+ <macro name="event">+ <choose>+ <if variable="event">+ <choose>+ <if variable="genre" match="none">+ <text term="in" font-style="italic" text-case="capitalize-first" suffix=": "/>+ <text variable="event" text-case="uppercase"/>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="genre" text-case="capitalize-first"/>+ <text term="presented at"/>+ <text variable="event"/>+ </group>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <!--A macro 'issued' e utilizada quando devemos mostrar a data completa exemplo: 03 mar. 2011.-->+ <macro name="issued">+ <choose>+ <if variable="issued" match="any">+ <group>+ <choose>+ <if type="book chapter" match="none">+ <date variable="issued">+ <date-part name="day" suffix=" "/>+ <date-part name="month" form="short" suffix=". " strip-periods="true"/>+ </date>+ </if>+ </choose>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </if>+ <else>+ <text value="[s.d.]"/>+ </else>+ </choose>+ </macro>+ <!--A macro 'issued' e utilizada quando desejamos que apareca apenas o ano-->+ <macro name="issued-year">+ <choose>+ <if variable="issued" match="any">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </if>+ <else>+ <text value="[s.d.]"/>+ </else>+ </choose>+ </macro>+ <!--A macro 'edition' e responsavel por mostrar o numero da edicao.-->+ <macro name="edition">+ <choose>+ <!--Se for capitulo de livro aparecera somente o numero-->+ <if type="book chapter" match="any">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="numeric" suffix="."/>+ <text term="edition" form="short" suffix="."/>+ </group>+ </if>+ <else>+ <!--Se for outro tipo de documento aparera o numero e depois a descricao "ed."-->+ <text variable="edition" suffix=" ed."/>+ </else>+ </choose>+ </if>+ </choose>+ </macro>+ <!--A macro 'locators'tem como funcao mostrar os dados complementares do arquivo (paginas, secao, volume, etc)-->+ <macro name="locators">+ <choose>+ <!--Se for projeto de lei mostrara o dia, mes "forma curta", ano, secao "Sec." e pagina "p."-->+ <if type="bill">+ <group prefix=". " suffix="" delimiter=", ">+ <date variable="issued">+ <date-part name="day"/>+ <date-part prefix=" " name="month" form="short"/>+ <date-part prefix=" " name="year"/>+ </date>+ <text variable="section" prefix="Sec. "/>+ <text variable="page" prefix="p. " suffix="."/>+ </group>+ </if>+ <!--Se for artigos de jornal, revista, etc. Aparecera o volume "v.", edicao "n." e a pagina do artigo "p."-->+ <else-if match="any" type="article-journal article-magazine article-newspaper">+ <group delimiter=", ">+ <group delimiter=", ">+ <text variable="volume" prefix="v. "/>+ <text variable="issue" prefix="n. " suffix=""/>+ </group>+ <text variable="page" prefix="p. "/>+ </group>+ </else-if>+ <!--Se for capitulo de livro aparecera o volume "v." e a pagina "p."-->+ <else-if match="any" type="book chapter">+ <group delimiter=", ">+ <group>+ <text variable="volume" prefix="v. "/>+ <text variable="page" prefix="p. "/>+ </group>+ </group>+ </else-if>+ </choose>+ </macro>+ <!--Resumo-->+ <macro name="abstract">+ <text variable="abstract"/>+ </macro>+ <!--Mostra a ISBN-->+ <macro name="ISBN">+ <group>+ <text variable="ISBN" prefix="ISBN "/>+ </group>+ </macro>+ <macro name="collection-title">+ <text variable="collection-title"/>+ <text variable="collection-number" prefix=" "/>+ </macro>+ <!--Citacao-->+ <!--et al. aparece a partir de 04 autores-->+ <citation et-al-min="4" et-al-use-first="1" et-al-subsequent-min="4" et-al-subsequent-use-first="1" collapse="year">+ <sort>+ <key macro="author"/>+ <!--Puxa o autor primeiro-->+ <key variable="issued"/>+ <!--Depois o ano-->+ </sort>+ <layout prefix="(" suffix=")" delimiter="; ">+ <!--Entre parenteses separando os autores com ponto-e-virgula-->+ <group>+ <text suffix=", " macro="author-short"/>+ <!--Seperando os autores das datas usando virgula-->+ <text macro="issued-year"/>+ <text prefix=", " macro="citation-locator"/>+ </group>+ </layout>+ </citation>+ <!--Bibliografia-->+ <!--et al. aparece a partir de 04 autores-->+ <bibliography hanging-indent="false" et-al-min="4" et-al-use-first="1" entry-spacing="0">+ <sort>+ <key macro="author"/>+ <!--Puxa o autor primeiro-->+ <key variable="issued"/>+ <!--Depois o ano-->+ </sort>+ <layout>+ <choose>+ <!--Projeto de lei-->+ <if type="bill">+ <group>+ <text macro="author" suffix=". "/>+ <!--autor-->+ <text variable="number" suffix=". "/>+ <!--Numero da lei-->+ <text macro="title" suffix=". "/>+ <!--Titulo-->+ <text variable="references" font-weight="bold"/>+ <!--Historico em negrito-->+ <text variable="note"/>+ <!--Campo 'extra' caso queira colocar alguma observacao-->+ <text macro="locators" suffix=". "/>+ <!--Dados complementares "secao, pagina"-->+ </group>+ </if>+ <!--Mapa-->+ <else-if type="map">+ <group>+ <text macro="author" suffix=". "/>+ <!--autor-->+ <text macro="title" suffix=", "/>+ <!--Titulo-->+ <text macro="issued" suffix=". "/>+ <!--data-->+ <text variable="note" suffix=". "/>+ <!--Campo 'extra' caso queira colocar alguma observacao-->+ </group>+ </else-if>+ <!--Livro-->+ <else-if type="book">+ <group>+ <text macro="author" suffix=". "/>+ <!--autor-->+ <text macro="title" suffix=". "/>+ <!--Titulo-->+ <text macro="translator" suffix=". "/>+ <!--Traducao-->+ <text macro="edition" suffix=". "/>+ <!--Edicao-->+ <text macro="publisher" suffix=". "/>+ <!--Local, data, etc-->+ <text macro="locators"/>+ <!--Dados complementares "pagina, volume"-->+ </group>+ </else-if>+ <!--Conferencia-->+ <else-if type="chapter">+ <group>+ <text macro="author" suffix=". "/>+ <!--autor-->+ <text macro="title" suffix=". "/>+ <!--Titulo-->+ <text macro="secondary-contributors" suffix=". "/>+ <text term="in" font-style="italic" text-case="capitalize-first" suffix=": "/>+ <!--In:-->+ <text macro="container-contributors" suffix=". "/>+ <!--Nomes de editores-->+ <text macro="container-title" suffix=". "/>+ <!--Titulo da conferencia-->+ <text variable="collection-title" suffix=". "/>+ <text macro="translator" suffix=". "/>+ <!--Traducao-->+ <text macro="edition" suffix=". "/>+ <!--Edicao-->+ <group suffix=". ">+ <text macro="publisher" suffix=". "/>+ <!--Local, data, etc-->+ <text macro="locators"/>+ <!--Dados complementares "pagina, volume"-->+ </group>+ </group>+ </else-if>+ <!--Artigo de revista, jornal, etc-->+ <else-if type="article-newspaper article-magazine article-journal" match="any">+ <group>+ <text macro="author" suffix=". "/>+ <!--Autor-->+ <text macro="title" suffix=". "/>+ <!--Titulo do artigo-->+ <text macro="container-title" suffix=", "/>+ <!--Titulo da publicacao-->+ <text variable="collection-title" suffix=". "/>+ <!--Titulo da serie-->+ <text macro="edition" suffix=", "/>+ <!--Edicao-->+ <text macro="locators" suffix=", "/>+ <!--Dados complementares "pagina, volume"-->+ <text macro="issued" suffix=". "/>+ <!--Data-->+ </group>+ </else-if>+ <!--Tese-->+ <else-if type="thesis">+ <group>+ <text macro="author" suffix=". "/>+ <!--Autor-->+ <text macro="title" suffix=". "/>+ <!--Titulo-->+ <text macro="edition" suffix=". "/>+ <!--Edicao-->+ <text macro="publisher" suffix="."/>+ <!--Local, data, etc-->+ </group>+ </else-if>+ <!-- Nao ha norma ABNT para manuscritos -->+ <else-if type="manuscript">+ <group>+ <text macro="author" suffix=". "/>+ <!--Autor-->+ <text macro="title" suffix=". "/>+ <!--Titulo-->+ <text macro="edition" suffix=". "/>+ <!--Edicao-->+ <text macro="place" suffix=", "/>+ <text macro="issued" suffix=". "/>+ <!--Data-->+ <text macro="access" suffix=". "/>+ <!--URL, data do acesso-->+ <text macro="archive" suffix=". "/>+ <!--Arquive-->+ </group>+ </else-if>+ <!--Pagina da WEB-->+ <else-if type="webpage">+ <group>+ <text macro="author" suffix=". "/>+ <!--Autor-->+ <text macro="title" suffix=". "/>+ <!--Titulo-->+ <text macro="genre" suffix=". "/>+ <text macro="access" suffix=". "/>+ <!--URL, data do acesso-->+ </group>+ </else-if>+ <!--Relatorio-->+ <else-if type="report">+ <group>+ <text macro="author" suffix=". "/>+ <!--Autor-->+ <text macro="title"/>+ <!--Titulo-->+ <text macro="container-contributors"/>+ <!--Nomes de editores-->+ <text macro="secondary-contributors"/>+ <text macro="container-title"/>+ <!--Titulo da publicacao-->+ <text variable="collection-title" prefix=": " suffix=""/>+ <text macro="locators"/>+ <!--Dados complementares "pagina, volume"-->+ <text macro="event"/>+ <!--Nome do evento, conferencia-->+ <text macro="publisher" prefix=". " suffix=". "/>+ <!--Local, data, etc-->+ <text macro="access" suffix="."/>+ <!--URL, data do acesso-->+ </group>+ </else-if>+ <!--Texto para Discussao (Verbete de Dicionario)-->+ <else-if type="entry-dictionary">+ <group>+ <text macro="author" suffix=". "/>+ <!--Autor-->+ <text macro="title"/>+ <!--Titulo-->+ <text macro="container-contributors"/>+ <!--Nomes de editores-->+ <text macro="secondary-contributors"/>+ <text macro="container-title"/>+ <!--Titulo da publicacao-->+ <text variable="collection-title" prefix=": " suffix=". "/>+ <text macro="locators"/>+ <!--Dados complementares "pagina, volume"-->+ <text macro="event"/>+ <!--Nome do evento, conferencia-->+ <text macro="publisher" prefix=". " suffix=". "/>+ <!--Local, data, etc-->+ <text macro="collection-title" prefix="(Texto para discussao, n. " suffix=")."/>+ <text macro="access"/>+ <!--URL, data do acesso-->+ </group>+ </else-if>+ <!--Nota Tecnica (Verbete de Enciclopedia)-->+ <else-if type="entry-encyclopedia">+ <group>+ <text macro="author" suffix=". "/>+ <!--Autor-->+ <text macro="title"/>+ <!--Titulo-->+ <text variable="publisher-place" prefix=". " suffix=": "/>+ <!--Local-->+ <text variable="publisher" suffix=", "/>+ <!--Editor-->+ <text macro="issued" prefix=", " suffix=". (Nota técnica)."/>+ <!--Data-->+ </group>+ </else-if>+ <else-if type="paper-conference">+ <text macro="author" suffix=". "/>+ <!--Autor-->+ <text macro="title"/>+ <!--Titulo-->+ <text macro="container-contributors"/>+ <!--Nomes de editore-->+ <text macro="secondary-contributors"/>+ <text macro="container-title"/>+ <!--Titulo da publicacao-->+ <text variable="collection-title" prefix=": " suffix="."/>+ <text macro="locators"/>+ <!--Dados complementares "pagina, volume"-->+ <group delimiter=". " prefix=". " suffix=". ">+ <text macro="event"/>+ <!--Nome do evento, conferencia-->+ </group>+ <text variable="publisher-place" suffix=": "/>+ <!--Local-->+ <text variable="publisher" suffix=", "/>+ <!--Editor-->+ <text macro="issued"/>+ <!--Data-->+ <text macro="access"/>+ <!--URL, data do acesso-->+ </else-if>+ <else>+ <text macro="author" suffix=". "/>+ <!--Autor-->+ <text macro="title"/>+ <!--Titulo-->+ <text macro="container-contributors"/>+ <!--Nomes de editore-->+ <text macro="secondary-contributors"/>+ <text macro="container-title"/>+ <!--Titulo da publicacao-->+ <text variable="collection-title" prefix=": " suffix="."/>+ <text macro="locators"/>+ <!--Dados complementares "pagina, volume"-->+ <group delimiter=". " prefix=". " suffix=". ">+ <text macro="event"/>+ <!--Nome do evento, conferencia-->+ </group>+ <text variable="publisher-place"/>+ <!--Local-->+ <text variable="publisher" suffix=", "/>+ <!--Editor-->+ <text macro="issued" prefix=", " suffix=". "/>+ <!--Data-->+ <text macro="access"/>+ <!--URL, data do acesso-->+ </else>+ </choose>+ </layout>+ </bibliography>+ <!--As macros abaixo nao foram utilizadas na bibliografia-->+ <macro name="citation-locator">+ <group>+ <label variable="locator" form="short"/>+ <text variable="locator" prefix=" "/>+ </group>+ </macro>+ <macro name="genre">+ <text variable="genre"/>+ </macro>+ <macro name="place">+ <choose>+ <if match="any" variable="publisher-place">+ <text variable="publisher-place"/>+ </if>+ </choose>+ </macro>+ <macro name="archive">+ <group>+ <text variable="archive" prefix=" "/>+ </group>+ </macro>+</style>++<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "DOI": "10.1016/j.jhydrol.2008.05.025",+ "ISSN": "0022-1694",+ "author": [+ {+ "family": "Cole",+ "given": "Steven J."+ },+ {+ "family": "Moore",+ "given": "Robert"+ }+ ],+ "container-title": "Journal of Hydrology",+ "id": "ITEM-1",+ "issue": "3-4",+ "issued": {+ "date-parts": [+ [+ 2008+ ]+ ]+ },+ "page": "159-181",+ "title": "Hydrological modelling using raingauge- and radar-based estimators of areal rainfall",+ "type": "article-journal",+ "url": "http://www.sciencedirect.com/science/article/pii/S0022169408002394",+ "volume": "358"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/overrides/label_EditorTranslator2.txt view
@@ -0,0 +1,56 @@+The only difference in test output is that the period+is moved inside the quote, as it should be.++>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Some title, “Hello there.”+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1",+ "suffix": ", \"Hello there\"."+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title"/>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "Some title",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/overrides/number_PreserveDelimiter.txt view
@@ -0,0 +1,92 @@+The official result starts with '. ', which is not good.++>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+Pages 187–228 <i>in</i> C. S. Stephen and M. L. Brown, editors. Analysis and interpretation of freshwater fisheries data+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <macro name="container-contributors">+ <choose>+ <if type="chapter paper-conference" match="any">+ <text term="in" suffix=" " font-style="italic"/>+ <names variable="editor translator" delimiter=", ">+ <name and="text" initialize-with=". " delimiter=", "/>+ <label form="long" prefix=", " suffix="."/>+ </names>+ </if>+ </choose>+ </macro>+ <macro name="secondary-contributors">+ <choose>+ <if type="chapter paper-conference" match="none">+ <names variable="editor translator" delimiter=", ">+ <name and="text" initialize-with=". " delimiter=", "/>+ <label prefix=", "/>+ </names>+ </if>+ </choose>+ </macro>+ <citation>+ <layout>+ <group prefix=". " delimiter=" ">+ <label variable="page" form="long" text-case="capitalize-first"/>+ <text variable="page"/>+ <text macro="container-contributors"/>+ <text variable="container-title"/>+ <text macro="secondary-contributors"/>+ </group>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "container-title": "Analysis and interpretation of freshwater fisheries data",+ "editor": [+ {+ "family": "Stephen",+ "given": "Clarence Stephen"+ },+ {+ "family": "Brown",+ "given": "Michael Lawrence"+ }+ ],+ "id": "ITEM-1",+ "page": "187-228",+ "type": "chapter"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/overrides/page_ChicagoWeird.txt view
@@ -0,0 +1,82 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<+++>>===== RESULT =====>>+Example S, at 8n11564–68+Example T, at n11564–68+Example U, at n11564–1568+<<===== RESULT =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-19"+ }+ ],+ [+ {+ "id": "ITEM-20"+ }+ ],+ [+ {+ "id": "ITEM-21"+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ page-range-format="chicago">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title"/>+ <text variable="page" prefix=", at "/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-19", + "page": "8n11564-8n1568", + "title": "Example S", + "type": "book"+ }, + {+ "id": "ITEM-20", + "page": "n11564-n1568", + "title": "Example T", + "type": "book"+ }, + {+ "id": "ITEM-21", + "page": "n11564-1568", + "title": "Example U", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/overrides/page_Expand.txt view
@@ -0,0 +1,144 @@+>>===== MODE =====>>+citation+<<===== MODE =====<<++++>>===== RESULT =====>>+Example: minimal, at 110–115+Example: prefix on first number only, at N110–5+Example: same prefix on both numbers, at N110–N115+Example: prefix on last number only, at 110–N6+Example: different prefixes on both numbers, at N110–P5+Example: leading number before prefix, at 123N110–N5+Example: multiple ranges, at 123N110–N5, 456K200–99+Example: first less than second, at 123N110–N5, 000c23–22+<<===== RESULT =====<<+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "page": "110-5", + "title": "Example: minimal", + "type": "book"+ }, + {+ "id": "ITEM-2", + "page": "N110 - 5", + "title": "Example: prefix on first number only", + "type": "book"+ }, + {+ "id": "ITEM-3", + "page": "N110 - N5", + "title": "Example: same prefix on both numbers", + "type": "book"+ }, + {+ "id": "ITEM-4", + "page": "110 - N6", + "title": "Example: prefix on last number only", + "type": "book"+ }, + {+ "id": "ITEM-5", + "page": "N110 - P5", + "title": "Example: different prefixes on both numbers", + "type": "book"+ }, + {+ "id": "ITEM-6", + "page": "123N110 - N5", + "title": "Example: leading number before prefix", + "type": "book"+ }, + {+ "id": "ITEM-7", + "page": "123N110 - N5, 456K200 - 99", + "title": "Example: multiple ranges", + "type": "book"+ }, + {+ "id": "ITEM-8", + "page": "123N110 - N5, 000c23 - 22", + "title": "Example: first less than second", + "type": "book"+ }+]+<<===== INPUT =====<<++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ],+ [+ {+ "id": "ITEM-4"+ }+ ],+ [+ {+ "id": "ITEM-5"+ }+ ],+ [+ {+ "id": "ITEM-6"+ }+ ],+ [+ {+ "id": "ITEM-7"+ }+ ],+ [+ {+ "id": "ITEM-8"+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ page-range-format="expanded">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title"/>+ <text variable="page" prefix=", at "/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/overrides/page_ExpandWeirdComposite.txt view
@@ -0,0 +1,71 @@+This differs only in having an en dash in the range.++>>===== MODE =====>>+citation+<<===== MODE =====<<++++## This test currently produces this:++Example: weird composite, at 123N110–5, 456K200–99++## It used to expect this:++>>===== RESULT =====>>+Example: weird composite, at 123N110–N5, 456K200–99+<<===== RESULT =====<<++## Which is correct, do you think?++## Here is the data from which the results above are derived:++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "page": "123N110 - N5, 456K200 - 99", + "title": "Example: weird composite", + "type": "book"+ }+]+<<===== INPUT =====<<++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ page-range-format="expanded">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title"/>+ <text variable="page" prefix=", at "/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/overrides/page_Minimal.txt view
@@ -0,0 +1,294 @@+This differs from the official test in having an En+dash instead of a hyphen in Example T. I think that's+correct.++>>===== MODE =====>>+citation+<<===== MODE =====<<++>>===== RESULT =====>>+Example A, at 101–8+Example B, at 3–10+Example C, at 71–2+Example D, at 96–117+Example E, at 100–4+Example F, at 600–13+Example G, at 1100–23+Example H, at 107–8+Example I, at 505–17+Example J, at 1002–6+Example K, at 321–5+Example L, at 415–532+Example M, at 1536–8+Example N, at 11564–8+Example O, at 11564–78+Example P, at 13792–803+Example Q, at 1496–504+Example R, at 2787–816+Example S, at n11564–8+Example T, at n11564–1568+<<===== RESULT =====<<+++>>===== CITATION-ITEMS =====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ],+ [+ {+ "id": "ITEM-4"+ }+ ],+ [+ {+ "id": "ITEM-5"+ }+ ],+ [+ {+ "id": "ITEM-6"+ }+ ],+ [+ {+ "id": "ITEM-7"+ }+ ],+ [+ {+ "id": "ITEM-8"+ }+ ],+ [+ {+ "id": "ITEM-9"+ }+ ],+ [+ {+ "id": "ITEM-10"+ }+ ],+ [+ {+ "id": "ITEM-11"+ }+ ],+ [+ {+ "id": "ITEM-12"+ }+ ],+ [+ {+ "id": "ITEM-13"+ }+ ],+ [+ {+ "id": "ITEM-14"+ }+ ],+ [+ {+ "id": "ITEM-15"+ }+ ],+ [+ {+ "id": "ITEM-16"+ }+ ],+ [+ {+ "id": "ITEM-17"+ }+ ],+ [+ {+ "id": "ITEM-18"+ }+ ],+ [+ {+ "id": "ITEM-19"+ }+ ],+ [+ {+ "id": "ITEM-20"+ }+ ]+]+<<===== CITATION-ITEMS =====<<+++>>===== CSL =====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0"+ page-range-format="minimal">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <text variable="title"/>+ <text variable="page" prefix=", at "/>+ </layout>+ </citation>+</style>+<<===== CSL =====<<+++ * collapse(101, 108, "101-8")+ *+ * collapse(3,10, "3-10")+++>>===== INPUT =====>>+[+ {+ "id": "ITEM-1", + "page": "101-108", + "title": "Example A", + "type": "book"+ }, + {+ "id": "ITEM-2", + "page": "3-10", + "title": "Example B", + "type": "book"+ }, + {+ "id": "ITEM-3", + "page": "71-72", + "title": "Example C", + "type": "book"+ }, + {+ "id": "ITEM-4", + "page": "96-117", + "title": "Example D", + "type": "book"+ }, + {+ "id": "ITEM-5", + "page": "100-4", + "title": "Example E", + "type": "book"+ }, + {+ "id": "ITEM-6", + "page": "600-13", + "title": "Example F", + "type": "book"+ }, + {+ "id": "ITEM-7", + "page": "1100-23", + "title": "Example G", + "type": "book"+ }, + {+ "id": "ITEM-8", + "page": "107-108", + "title": "Example H", + "type": "book"+ }, + {+ "id": "ITEM-9", + "page": "505-17", + "title": "Example I", + "type": "book"+ }, + {+ "id": "ITEM-10", + "page": "1002-1006", + "title": "Example J", + "type": "book"+ }, + {+ "id": "ITEM-11", + "page": "321-325", + "title": "Example K", + "type": "book"+ }, + {+ "id": "ITEM-12", + "page": "415-532", + "title": "Example L", + "type": "book"+ }, + {+ "id": "ITEM-13", + "page": "1536-538", + "title": "Example M", + "type": "book"+ }, + {+ "id": "ITEM-14", + "page": "11564-11568", + "title": "Example N", + "type": "book"+ }, + {+ "id": "ITEM-15", + "page": "11564-11578", + "title": "Example O", + "type": "book"+ }, + {+ "id": "ITEM-16", + "page": "13792-13803", + "title": "Example P", + "type": "book"+ }, + {+ "id": "ITEM-17", + "page": "1496-504", + "title": "Example Q", + "type": "book"+ }, + {+ "id": "ITEM-18", + "page": "2787-816", + "title": "Example R", + "type": "book"+ }, + {+ "id": "ITEM-19", + "page": "n11564 - n1568", + "title": "Example S", + "type": "book"+ }, + {+ "id": "ITEM-20", + "page": "n11564 - 1568", + "title": "Example T", + "type": "book"+ }+]+<<===== INPUT =====<<+++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/overrides/variables_ContainerTitleShort.txt view
@@ -0,0 +1,437 @@+Note: the only difference here is one space in the closing div.++>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">+ <div class="csl-left-margin">1. </div><div class="csl-right-inline">Campbell DT, Fiske DW. Main title. In: Container: a title. (Series: a title).</div>+ </div>+ <div class="csl-entry">+ <div class="csl-left-margin">2. </div><div class="csl-right-inline">Campbell DT, Fiske DW. Main title. Container.</div>+ </div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" page-range-format="minimal">+ <info>+ <title>Vancouver</title>+ <id>http://www.zotero.org/styles/vancouver</id>+ <link href="http://www.zotero.org/styles/vancouver" rel="self"/>+ <link href="http://www.nlm.nih.gov/bsd/uniform_requirements.html" rel="documentation"/>+ <author>+ <name>Michael Berkowitz</name>+ <email>mberkowi@gmu.edu</email>+ </author>+ <contributor>+ <name>Sean Takats</name>+ <email>stakats@gmu.edu</email>+ </contributor>+ <contributor>+ <name>Sebastian Karcher</name>+ </contributor>+ <category citation-format="numeric"/>+ <category field="medicine"/>+ <summary>Vancouver style as outlined by International Committee of Medical Journal Editors Uniform Requirements for Manuscripts Submitted to Biomedical Journals: Sample References</summary>+ <updated>2014-09-06T16:03:01+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale xml:lang="en">+ <date form="text" delimiter=" ">+ <date-part name="year"/>+ <date-part name="month" form="short" strip-periods="true"/>+ <date-part name="day"/>+ </date>+ <terms>+ <term name="collection-editor" form="long">+ <single>editor</single>+ <multiple>editors</multiple>+ </term>+ <term name="presented at">presented at</term>+ <term name="available at">available from</term>+ <term name="section" form="short">sect.</term>+ </terms>+ </locale>+ <locale xml:lang="fr">+ <date form="text" delimiter=" ">+ <date-part name="day"/>+ <date-part name="month" form="short" strip-periods="true"/>+ <date-part name="year"/>+ </date>+ </locale>+ <macro name="author">+ <names variable="author">+ <name sort-separator=" " initialize-with="" name-as-sort-order="all" delimiter=", " delimiter-precedes-last="always"/>+ <label form="long" prefix=", "/>+ <substitute>+ <names variable="editor"/>+ </substitute>+ </names>+ </macro>+ <macro name="editor">+ <names variable="editor" suffix=".">+ <name sort-separator=" " initialize-with="" name-as-sort-order="all" delimiter=", " delimiter-precedes-last="always"/>+ <label form="long" prefix=", "/>+ </names>+ </macro>+ <macro name="chapter-marker">+ <choose>+ <if type="chapter paper-conference entry-dictionary entry-encyclopedia" match="any">+ <text term="in" text-case="capitalize-first"/>+ </if>+ </choose>+ </macro>+ <macro name="publisher">+ <choose>+ <!--discard publisher info for articles-->+ <if type="article-journal article-magazine article-newspaper" match="none">+ <group delimiter=": " suffix=";">+ <choose>+ <if type="thesis">+ <text variable="publisher-place" prefix="[" suffix="]"/>+ </if>+ <else-if type="speech"/>+ <else>+ <text variable="publisher-place"/>+ </else>+ </choose>+ <text variable="publisher"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="access">+ <choose>+ <if variable="URL">+ <group delimiter=": ">+ <text term="available at" text-case="capitalize-first"/>+ <text variable="URL"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="accessed-date">+ <choose>+ <if variable="URL">+ <group prefix="[" suffix="]" delimiter=" ">+ <text term="cited" text-case="lowercase"/>+ <date variable="accessed" form="text"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-title">+ <choose>+ <if type="article-journal article-magazine chapter paper-conference article-newspaper review review-book entry-dictionary entry-encyclopedia" match="any">+ <group suffix="." delimiter=" ">+ <choose>+ <if type="article-journal review review-book" match="any">+ <text variable="container-title" form="short" strip-periods="true"/>+ </if>+ <else>+ <text variable="container-title" strip-periods="true"/>+ </else>+ </choose>+ <choose>+ <if variable="URL">+ <text term="internet" prefix="[" suffix="]" text-case="capitalize-first"/>+ </if>+ </choose>+ </group>+ <text macro="edition" prefix=" "/>+ </if>+ <!--add event-name and event-place once they become available-->+ <else-if type="bill legislation" match="any">+ <group delimiter=", ">+ <group delimiter=". ">+ <text variable="container-title"/>+ <group delimiter=" ">+ <text term="section" form="short" text-case="capitalize-first"/>+ <text variable="section"/>+ </group>+ </group>+ <text variable="number"/>+ </group>+ </else-if>+ <else-if type="speech">+ <group delimiter=": " suffix=";">+ <group delimiter=" ">+ <text variable="genre" text-case="capitalize-first"/>+ <text term="presented at"/>+ </group>+ <text variable="event"/>+ </group>+ </else-if>+ <else>+ <group delimiter=", " suffix=".">+ <choose>+ <if variable="collection-title" match="none">+ <group delimiter=" ">+ <label variable="volume" form="short" text-case="capitalize-first"/>+ <text variable="volume"/>+ </group>+ </if>+ </choose>+ <text variable="container-title"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <text variable="title"/>+ <choose>+ <if type="article-journal article-magazine chapter paper-conference article-newspaper review review-book entry-dictionary entry-encyclopedia" match="none">+ <choose>+ <if variable="URL">+ <text term="internet" prefix=" [" suffix="]" text-case="capitalize-first"/>+ </if>+ </choose>+ <text macro="edition" prefix=". "/>+ </if>+ </choose>+ <choose>+ <if type="thesis">+ <text variable="genre" prefix=" [" suffix="]"/>+ </if>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <macro name="date">+ <choose>+ <if type="article-journal article-magazine article-newspaper review review-book" match="any">+ <group suffix=";" delimiter=" ">+ <date variable="issued" form="text"/>+ <text macro="accessed-date"/>+ </group>+ </if>+ <else-if type="bill legislation" match="any">+ <group delimiter=", ">+ <date variable="issued" delimiter=" ">+ <date-part name="month" form="short" strip-periods="true"/>+ <date-part name="day"/>+ </date>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ <else-if type="report">+ <date variable="issued" delimiter=" ">+ <date-part name="year"/>+ <date-part name="month" form="short" strip-periods="true"/>+ </date>+ <text macro="accessed-date" prefix=" "/>+ </else-if>+ <else-if type="patent">+ <group suffix=".">+ <group delimiter=", ">+ <text variable="number"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ <text macro="accessed-date" prefix=" "/>+ </group>+ </else-if>+ <else-if type="speech">+ <group delimiter="; ">+ <group delimiter=" ">+ <date variable="issued" delimiter=" ">+ <date-part name="year"/>+ <date-part name="month" form="short" strip-periods="true"/>+ <date-part name="day"/>+ </date>+ <text macro="accessed-date"/>+ </group>+ <text variable="event-place"/>+ </group>+ </else-if>+ <else>+ <group suffix=".">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text macro="accessed-date" prefix=" "/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="pages">+ <choose>+ <if type="article-journal article-magazine article-newspaper review review-book" match="any">+ <text variable="page" prefix=":"/>+ </if>+ <else-if type="book" match="any">+ <text variable="number-of-pages" prefix=" "/>+ <choose>+ <if is-numeric="number-of-pages">+ <label variable="number-of-pages" form="short" prefix=" " plural="never"/>+ </if>+ </choose>+ </else-if>+ <else>+ <group prefix=" " delimiter=" ">+ <label variable="page" form="short" plural="never"/>+ <text variable="page"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="journal-location">+ <choose>+ <if type="article-journal article-magazine review review-book" match="any">+ <text variable="volume"/>+ <text variable="issue" prefix="(" suffix=")"/>+ </if>+ </choose>+ </macro>+ <macro name="collection-details">+ <choose>+ <if type="article-journal article-magazine article-newspaper review review-book" match="none">+ <choose>+ <if variable="collection-title">+ <group delimiter=" " prefix="(" suffix=")">+ <names variable="collection-editor" suffix=".">+ <name sort-separator=" " initialize-with="" name-as-sort-order="all" delimiter=", " delimiter-precedes-last="always"/>+ <label form="long" prefix=", "/>+ </names>+ <group delimiter="; ">+ <text variable="collection-title"/>+ <group delimiter=" ">+ <label variable="volume" form="short"/>+ <text variable="volume"/>+ </group>+ </group>+ </group>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="report-details">+ <choose>+ <if type="report">+ <text variable="number" prefix="Report No.: "/>+ </if>+ </choose>+ </macro>+ <citation collapse="citation-number">+ <sort>+ <key variable="citation-number"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter=",">+ <text variable="citation-number"/>+ </layout>+ </citation>+ <bibliography et-al-min="7" et-al-use-first="6" second-field-align="flush">+ <layout>+ <text variable="citation-number" suffix=". "/>+ <group delimiter=". " suffix=". ">+ <text macro="author"/>+ <text macro="title"/>+ </group>+ <group delimiter=" " suffix=". ">+ <group delimiter=": ">+ <text macro="chapter-marker"/>+ <group delimiter=" ">+ <text macro="editor"/>+ <text macro="container-title"/>+ </group>+ </group>+ <text macro="publisher"/>+ <group>+ <text macro="date"/>+ <text macro="journal-location"/>+ <text macro="pages"/>+ </group>+ </group>+ <text macro="collection-details" suffix=". "/>+ <text macro="report-details" suffix=". "/>+ <text macro="access"/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Campbell",+ "given": "Donald T"+ },+ {+ "family": "Fiske",+ "given": "Donald W"+ }+ ],+ "collection-title": "Series: a title",+ "collection-title-short": "Series",+ "container-title": "Container: a title",+ "container-title-short": "Container",+ "id": "ITEM-1",+ "language": "en",+ "source": "Zotero",+ "title": "Main title",+ "type": "chapter"+ },+ {+ "author": [+ {+ "family": "Campbell",+ "given": "Donald T"+ },+ {+ "family": "Fiske",+ "given": "Donald W"+ }+ ],+ "collection-title": "Series: a title",+ "collection-title-short": "Series",+ "container-title": "Container: a title",+ "container-title-short": "Container",+ "id": "ITEM-2",+ "language": "en",+ "source": "Zotero",+ "title": "Main title",+ "type": "article-journal"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/overrides/variables_ContainerTitleShort2.txt view
@@ -0,0 +1,433 @@+Note: the only difference here is one space in the closing div.++>>==== MODE ====>>+bibliography+<<==== MODE ====<<++>>==== RESULT ====>>+<div class="csl-bib-body">+ <div class="csl-entry">+ <div class="csl-left-margin">1. </div><div class="csl-right-inline">Campbell DT, Fiske DW. CONVERGENT AND DISCRIMINANT VALIDATION BY THE MULTITRAIT-MULTIMETHOD MATRIX. In: Container: a title. p. 25. (Series: a title).</div>+ </div>+ <div class="csl-entry">+ <div class="csl-left-margin">2. </div><div class="csl-right-inline">Campbell DT, Fiske DW. CONVERGENT AND DISCRIMINANT VALIDATION BY THE MULTITRAIT-MULTIMETHOD MATRIX. Container. :25.</div>+ </div>+</div>+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ },+ {+ "id": "ITEM-2"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<?xml version="1.0" encoding="utf-8"?>+<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" page-range-format="minimal">+ <info>+ <title>Vancouver</title>+ <id>http://www.zotero.org/styles/vancouver</id>+ <link href="http://www.zotero.org/styles/vancouver" rel="self"/>+ <link href="http://www.nlm.nih.gov/bsd/uniform_requirements.html" rel="documentation"/>+ <author>+ <name>Michael Berkowitz</name>+ <email>mberkowi@gmu.edu</email>+ </author>+ <contributor>+ <name>Sean Takats</name>+ <email>stakats@gmu.edu</email>+ </contributor>+ <contributor>+ <name>Sebastian Karcher</name>+ </contributor>+ <category citation-format="numeric"/>+ <category field="medicine"/>+ <summary>Vancouver style as outlined by International Committee of Medical Journal Editors Uniform Requirements for Manuscripts Submitted to Biomedical Journals: Sample References</summary>+ <updated>2014-09-06T16:03:01+00:00</updated>+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>+ </info>+ <locale xml:lang="en">+ <date form="text" delimiter=" ">+ <date-part name="year"/>+ <date-part name="month" form="short" strip-periods="true"/>+ <date-part name="day"/>+ </date>+ <terms>+ <term name="collection-editor" form="long">+ <single>editor</single>+ <multiple>editors</multiple>+ </term>+ <term name="presented at">presented at</term>+ <term name="available at">available from</term>+ <term name="section" form="short">sect.</term>+ </terms>+ </locale>+ <locale xml:lang="fr">+ <date form="text" delimiter=" ">+ <date-part name="day"/>+ <date-part name="month" form="short" strip-periods="true"/>+ <date-part name="year"/>+ </date>+ </locale>+ <macro name="author">+ <names variable="author">+ <name sort-separator=" " initialize-with="" name-as-sort-order="all" delimiter=", " delimiter-precedes-last="always"/>+ <label form="long" prefix=", "/>+ <substitute>+ <names variable="editor"/>+ </substitute>+ </names>+ </macro>+ <macro name="editor">+ <names variable="editor" suffix=".">+ <name sort-separator=" " initialize-with="" name-as-sort-order="all" delimiter=", " delimiter-precedes-last="always"/>+ <label form="long" prefix=", "/>+ </names>+ </macro>+ <macro name="chapter-marker">+ <choose>+ <if type="chapter paper-conference entry-dictionary entry-encyclopedia" match="any">+ <text term="in" text-case="capitalize-first"/>+ </if>+ </choose>+ </macro>+ <macro name="publisher">+ <choose>+ <!--discard publisher info for articles-->+ <if type="article-journal article-magazine article-newspaper" match="none">+ <group delimiter=": " suffix=";">+ <choose>+ <if type="thesis">+ <text variable="publisher-place" prefix="[" suffix="]"/>+ </if>+ <else-if type="speech"/>+ <else>+ <text variable="publisher-place"/>+ </else>+ </choose>+ <text variable="publisher"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="access">+ <choose>+ <if variable="URL">+ <group delimiter=": ">+ <text term="available at" text-case="capitalize-first"/>+ <text variable="URL"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="accessed-date">+ <choose>+ <if variable="URL">+ <group prefix="[" suffix="]" delimiter=" ">+ <text term="cited" text-case="lowercase"/>+ <date variable="accessed" form="text"/>+ </group>+ </if>+ </choose>+ </macro>+ <macro name="container-title">+ <choose>+ <if type="article-journal article-magazine chapter paper-conference article-newspaper review review-book entry-dictionary entry-encyclopedia" match="any">+ <group suffix="." delimiter=" ">+ <choose>+ <if type="article-journal review review-book" match="any">+ <text variable="container-title" form="short" strip-periods="true"/>+ </if>+ <else>+ <text variable="container-title" strip-periods="true"/>+ </else>+ </choose>+ <choose>+ <if variable="URL">+ <text term="internet" prefix="[" suffix="]" text-case="capitalize-first"/>+ </if>+ </choose>+ </group>+ <text macro="edition" prefix=" "/>+ </if>+ <!--add event-name and event-place once they become available-->+ <else-if type="bill legislation" match="any">+ <group delimiter=", ">+ <group delimiter=". ">+ <text variable="container-title"/>+ <group delimiter=" ">+ <text term="section" form="short" text-case="capitalize-first"/>+ <text variable="section"/>+ </group>+ </group>+ <text variable="number"/>+ </group>+ </else-if>+ <else-if type="speech">+ <group delimiter=": " suffix=";">+ <group delimiter=" ">+ <text variable="genre" text-case="capitalize-first"/>+ <text term="presented at"/>+ </group>+ <text variable="event"/>+ </group>+ </else-if>+ <else>+ <group delimiter=", " suffix=".">+ <choose>+ <if variable="collection-title" match="none">+ <group delimiter=" ">+ <label variable="volume" form="short" text-case="capitalize-first"/>+ <text variable="volume"/>+ </group>+ </if>+ </choose>+ <text variable="container-title"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="title">+ <text variable="title"/>+ <choose>+ <if type="article-journal article-magazine chapter paper-conference article-newspaper review review-book entry-dictionary entry-encyclopedia" match="none">+ <choose>+ <if variable="URL">+ <text term="internet" prefix=" [" suffix="]" text-case="capitalize-first"/>+ </if>+ </choose>+ <text macro="edition" prefix=". "/>+ </if>+ </choose>+ <choose>+ <if type="thesis">+ <text variable="genre" prefix=" [" suffix="]"/>+ </if>+ </choose>+ </macro>+ <macro name="edition">+ <choose>+ <if is-numeric="edition">+ <group delimiter=" ">+ <number variable="edition" form="ordinal"/>+ <text term="edition" form="short"/>+ </group>+ </if>+ <else>+ <text variable="edition" suffix="."/>+ </else>+ </choose>+ </macro>+ <macro name="date">+ <choose>+ <if type="article-journal article-magazine article-newspaper review review-book" match="any">+ <group suffix=";" delimiter=" ">+ <date variable="issued" form="text"/>+ <text macro="accessed-date"/>+ </group>+ </if>+ <else-if type="bill legislation" match="any">+ <group delimiter=", ">+ <date variable="issued" delimiter=" ">+ <date-part name="month" form="short" strip-periods="true"/>+ <date-part name="day"/>+ </date>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ </else-if>+ <else-if type="report">+ <date variable="issued" delimiter=" ">+ <date-part name="year"/>+ <date-part name="month" form="short" strip-periods="true"/>+ </date>+ <text macro="accessed-date" prefix=" "/>+ </else-if>+ <else-if type="patent">+ <group suffix=".">+ <group delimiter=", ">+ <text variable="number"/>+ <date variable="issued">+ <date-part name="year"/>+ </date>+ </group>+ <text macro="accessed-date" prefix=" "/>+ </group>+ </else-if>+ <else-if type="speech">+ <group delimiter="; ">+ <group delimiter=" ">+ <date variable="issued" delimiter=" ">+ <date-part name="year"/>+ <date-part name="month" form="short" strip-periods="true"/>+ <date-part name="day"/>+ </date>+ <text macro="accessed-date"/>+ </group>+ <text variable="event-place"/>+ </group>+ </else-if>+ <else>+ <group suffix=".">+ <date variable="issued">+ <date-part name="year"/>+ </date>+ <text macro="accessed-date" prefix=" "/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="pages">+ <choose>+ <if type="article-journal article-magazine article-newspaper review review-book" match="any">+ <text variable="page" prefix=":"/>+ </if>+ <else-if type="book" match="any">+ <text variable="number-of-pages" prefix=" "/>+ <choose>+ <if is-numeric="number-of-pages">+ <label variable="number-of-pages" form="short" prefix=" " plural="never"/>+ </if>+ </choose>+ </else-if>+ <else>+ <group prefix=" " delimiter=" ">+ <label variable="page" form="short" plural="never"/>+ <text variable="page"/>+ </group>+ </else>+ </choose>+ </macro>+ <macro name="journal-location">+ <choose>+ <if type="article-journal article-magazine review review-book" match="any">+ <text variable="volume"/>+ <text variable="issue" prefix="(" suffix=")"/>+ </if>+ </choose>+ </macro>+ <macro name="collection-details">+ <choose>+ <if type="article-journal article-magazine article-newspaper review review-book" match="none">+ <choose>+ <if variable="collection-title">+ <group delimiter=" " prefix="(" suffix=")">+ <names variable="collection-editor" suffix=".">+ <name sort-separator=" " initialize-with="" name-as-sort-order="all" delimiter=", " delimiter-precedes-last="always"/>+ <label form="long" prefix=", "/>+ </names>+ <group delimiter="; ">+ <text variable="collection-title"/>+ <group delimiter=" ">+ <label variable="volume" form="short"/>+ <text variable="volume"/>+ </group>+ </group>+ </group>+ </if>+ </choose>+ </if>+ </choose>+ </macro>+ <macro name="report-details">+ <choose>+ <if type="report">+ <text variable="number" prefix="Report No.: "/>+ </if>+ </choose>+ </macro>+ <citation collapse="citation-number">+ <sort>+ <key variable="citation-number"/>+ </sort>+ <layout prefix="(" suffix=")" delimiter=",">+ <text variable="citation-number"/>+ </layout>+ </citation>+ <bibliography et-al-min="7" et-al-use-first="6" second-field-align="flush">+ <layout>+ <text variable="citation-number" suffix=". "/>+ <group delimiter=". " suffix=". ">+ <text macro="author"/>+ <text macro="title"/>+ </group>+ <group delimiter=" " suffix=". ">+ <group delimiter=": ">+ <text macro="chapter-marker"/>+ <group delimiter=" ">+ <text macro="editor"/>+ <text macro="container-title"/>+ </group>+ </group>+ <text macro="publisher"/>+ <group>+ <text macro="date"/>+ <text macro="journal-location"/>+ <text macro="pages"/>+ </group>+ </group>+ <text macro="collection-details" suffix=". "/>+ <text macro="report-details" suffix=". "/>+ <text macro="access"/>+ </layout>+ </bibliography>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "author": [+ {+ "family": "Campbell",+ "given": "Donald T"+ },+ {+ "family": "Fiske",+ "given": "Donald W"+ }+ ],+ "id": "ITEM-1",+ "language": "en",+ "note": "collection-title: Series: a title\ncollection-title-short: Series\ncontainer-title: Container: a title\ncontainer-title-short: Container",+ "page": "25",+ "source": "Zotero",+ "title": "CONVERGENT AND DISCRIMINANT VALIDATION BY THE MULTITRAIT-MULTIMETHOD MATRIX",+ "type": "chapter"+ },+ {+ "author": [+ {+ "family": "Campbell",+ "given": "Donald T"+ },+ {+ "family": "Fiske",+ "given": "Donald W"+ }+ ],+ "id": "ITEM-2",+ "language": "en",+ "note": "collection-title: Series: a title\ncollection-title-short: Series\ncontainer-title: Container: a title\ncontainer-title-short: Container",+ "page": "25",+ "source": "Zotero",+ "title": "CONVERGENT AND DISCRIMINANT VALIDATION BY THE MULTITRAIT-MULTIMETHOD MATRIX",+ "type": "article-journal"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+
+ test/overrides/variables_TitleShortOnShortTitleNoTitleCondition.txt view
@@ -0,0 +1,96 @@+This test is contrary to the spec. In the third citation+the whole group should be suppressed because it contains+variables but none are called. See+https://github.com/citation-style-language/test-suite/issues/29++>>==== MODE ====>>+citation+<<==== MODE ====<<++>>==== RESULT ====>>+My Long Title 1 has title-short+My Long Title 2 does not have title-short+[CSL STYLE ERROR: reference with no printed form.]+<<==== RESULT ====<<++>>==== CITATION-ITEMS ====>>+[+ [+ {+ "id": "ITEM-1"+ }+ ],+ [+ {+ "id": "ITEM-2"+ }+ ],+ [+ {+ "id": "ITEM-3"+ }+ ]+]+<<==== CITATION-ITEMS ====<<++>>==== CSL ====>>+<style + xmlns="http://purl.org/net/xbiblio/csl"+ class="note"+ version="1.0">+ <info>+ <id />+ <title />+ <updated>2009-08-10T04:49:00+09:00</updated>+ </info>+ <citation>+ <layout>+ <choose>+ <if variable="title-short">+ <group delimiter=" ">+ <text variable="title"/>+ <group>+ <text value="has title-short"/>+ </group>+ </group>+ </if>+ <else>+ <group delimiter=" ">+ <text variable="title"/>+ <group>+ <text value="does not have title-short"/>+ </group>+ </group>+ </else>+ </choose>+ </layout>+ </citation>+</style>+<<==== CSL ====<<++>>==== INPUT ====>>+[+ {+ "id": "ITEM-1",+ "title": "My Long Title 1",+ "title-short": "My Short Title",+ "type": "book"+ },+ {+ "id": "ITEM-2",+ "title": "My Long Title 2",+ "type": "book"+ },+ {+ "id": "ITEM-3",+ "type": "book"+ }+]+<<==== INPUT ====<<++++>>===== VERSION =====>>+1.0+<<===== VERSION =====<<+