Citation Style Language

CSL features required by China's standard style

I’ve just examined styles/china-national-standard-gb-t-7714-2015-numeric.csl at master · citation-style-language/styles · GitHub with all examples from the official style but I failed to implement three specified features.

  1. CSL always uses sort-separator as the delimiter of suffix and other name parts for inverted names. The china’s style specified a name format like PEEBLES P Z, Jr where the delimiter before suffix is different from other name parts. I guess a new option like suffix-separator may be added.

  2. The style uses different affixes for full dates and partial dates. If the issued variable has all three date-parts it is formatted like (2021-10-01) otherwise the parentheses are omitted for dated like 2021. Is it possible to check if a variable is complete?

  3. The style specifies a rule that the DOI should be omitted if it’s part of the URL. An example is http://onlinelibrary.wiley.com/doi/10.1002/9781444305036.ch2/summary with DOI 10.1002/9781444305036.ch2.

For (1), could you check to see if these features are implemented in the CSL-M extension, which currently has better support for East Asian languages than standard CSL?
CSL-M Docs (juris-m.github.io)

For (2), this will be possible in CSL 1.1, when testing for date parts will be possible.

For (3), it will not be possible to do this in CSL. A better approach to this idea than the stated rule there would be to always prefer a URL-formatted DOI over any other URL. For example, this is used in APA style:

<choose>
  <if variable="DOI">
    <text variable="DOI" prefix="https://doi.org/"/>
  </if>
  <else>
    <text variable="URL"/>
  </else>
</choose>

Thanks for the suggestions! For (1), the name format is for European names with no relation to East Asian names. I checked the code of citeproc-js and find comma-suffix in the input data. If it is set to true, ", " is used as the separator between suffix and other name parts (see an example in https://github.com/citation-style-language/test-suite/blob/3be4027034e6e3affa604caaaffbb14e7fbb856d/processor-tests/humans/name_ArticularWithCommaNameAsSortOrder.txt). This attribute is in the CSL schema but not documented yet.