-
-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Description
Summary
The citationMark schema in semantic.schema.json defines a locator field but has no corresponding locatorType field to indicate what the locator refers to (page, chapter, section, etc.).
Current schema
"locator": {
"type": "string",
"description": "Page, chapter, section, or other locator (CSL-compatible, more general than pages)"
}Proposed addition
Add a locatorType property alongside locator:
"locatorType": {
"type": "string",
"description": "Type of locator (CSL-compatible). Defaults to \"page\" if omitted.",
"enum": [
"page", "chapter", "section", "paragraph", "line",
"verse", "volume", "issue", "part", "book",
"figure", "table", "note", "opus", "sub-verbo"
]
}Rationale
- CSL compatibility: The Citation Style Language distinguishes
locator(the value, e.g., "42-45") fromlocator-type(the kind, e.g., "page"). Without the type, renderers must guess or default to "page". - Existing usage: The cdx-core reference implementation already emits
locatorTypein itscitation_with_page()constructor. The field passes validation today only becauseadditionalProperties: true, but it should be an explicit part of the schema. - Renderer clarity: A citation like
locator: "III"is ambiguous without knowing whether it refers to chapter III, volume III, or part III.
Impact
Non-breaking — this adds an optional property. Existing documents without locatorType remain valid.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels