Error checks that the PHP Cite extension does are not performed in Parsoid's Cite implementation. Here is the list of i18n keys in the Cite extension that serve as proxies for error handling that Parsoid needs to support. As we add support, they will be X'd out.
- "cite_error_ref_invalid_dir": "Invalid <code>dir=\"$1\"</code>, must be <code>ltr</code> or <code>rtl</code>",
- "cite_error_ref_numeric_key": "Invalid <ref> tag; name cannot be a simple integer. Use a descriptive title",
- "cite_error_ref_no_key": "The opening <ref> tag is malformed or has a bad name",
- "cite_error_ref_too_many_keys": "Invalid <ref> tag; invalid names, e.g. too many",
- "cite_error_ref_no_input": "Invalid <ref> tag; refs with no name must have content",
- "cite_error_references_duplicate_key": "Invalid <ref> tag; name \"$1\" defined multiple times with different content",
- "cite_error_references_invalid_parameters": "Invalid parameter in <references> tag",
- "cite_error_references_no_text": "Invalid <ref> tag; no text was provided for refs named <code>$1</code>",
- "cite_error_group_refs_without_references": "<ref> tags exist for a group named \"$1\", but no corresponding <references group=\"$1\"/> tag was found",
- "cite_error_references_group_mismatch": "<ref> tag in <references> has conflicting group attribute \"$1\".",
- "cite_error_references_missing_key": "<ref> tag with name \"$1\" defined in <references> is not used in prior text.",
- "cite_error_references_no_key": "<ref> tag defined in <references> has no name attribute.",
- "cite_error_empty_references_define": "<ref> tag defined in <references> with name \"$1\" has no content.",
The following error types won't be supported by Parsoid:
- "cite_error_references_no_backlink_label": "Ran out of custom backlink labels. Define more in the [[MediaWiki:Cite references link many format backlink labels]] message.", [Parsoid uses CSS counters]
- "cite_error_no_link_label_group": "Ran out of custom link labels for group \"$1\". Define more in the [[MediaWiki:$2]] message." [Parsoid uses CSS counters]
- "cite_error_ref_nested_extends": "Extending <ref> tags more than one level deep is not allowed", [not supported currently by parsoid tokenizer]
- "cite_error_included_ref": "Closing </ref> missing for <ref> tag", [not supported currently by parsoid tokenizer],
- "cite_error_included_references": "Closing tag missing for <references>", [not supported currently by parsoid tokenizer],
- "cite_error_references_missing_group": "<ref> tag defined in <references> has group attribute \"$1\" which does not appear in prior text.", [this error is unlikely to ever occur and not worth implementing],
Besides that, Parsoid also needs to address the following missing features.
- Parsoid does not support the follow arg on ref tags
- Parsoid doesn't know about special group names like "lower-alpha" etc. and treats them like other group names like "xyz", "books", etc.
The second issue has been split off into T272097.
One possible new error that might be worth reporting is a references section with group which has no preceding refs defined in that group. That is a similar but different error than 'cite_error_references_missing_group'.
Also, please check T221489, T221490, T221491 for additional changes to core Cite that needs to be reflected in Parsoid.
Version: unspecified
Severity: normal