-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Termbase entry reference: linking a term to an internal/external term ID #154
Comments
(((electron,IEV:135-13-13))) (((electrode,urn:...iso:12345:ed-1:terms:3.2))) (((geodetic,Geolexica(id: 123)))) Something like this |
Implement in this order:
We will need to consider how to link a term from an external MN XML document.
|
This means a new Metanorma element, which links to a termbase (or to a term within the current document, or to an external document), and which is rendered like a normal word—but with a definition accompanying it in markup. |
This shall be concept. The attributes of concepts are:
We have three different interpretations of source and id depending on the class of source, which will be a nightmare to process. Better to break the attributes up by class of source. So:
We can further compact the representation by using eref within the concept for sourcetype = citation, xref for sourcetype = this, and a new termbaseref for sourcetype = termbase. And have the three be mutually exclusive. So:
These will be marked up as a "concept" macro, parameterised in case of termbases:
As is currently already being done with cross-references vs citations, Standoc will determine whether the macro is referring to the current document or an external document, based on whether the id is listed among the references of the document. The distinct term attribute is optional. The macro recognises localities, and keeps them with the "word" term, so that they can be processed just as erefs are. |
Uh oh. Can't have a macro that optionally takes a target: concept:[X,Y] and concept:T[X,Y] are mutually exclusive. But I've cleverly overruled the built in behaviour of Asciidoctor, because the alternative is just too messy. It would be nice if the Asciidoctor Macro DSL was documented... |
How about just:
? |
Agreed to change to (or attempt it):
For rendering, if neither term nor text is supplied, render as "[Term defined in (citation)]". |
* master: (66 commits) namespace: metanorma/metanorma-iso#307 root and namespace variables: #155 refactor section names: closes metanorma/metanorma-iso#313 landscape/portrait page breaks: #173 bug version bump caller location: #197 version bump empty attributes refinement smart quotes on boilerplate boilerplate refactor boilerplate file refactor boilerplate functionality: #157 user supplied labels in autofetch references: #159 version bump plantuml robust under Windows: closes #187 #154 concept: #154 rspec grammar ...
This syntax proposal aims to solve two problems.
a. Referring to within this clause.
e.g.
b. Referring to a term in another clause.
e.g.
a. Referring to a supported termbase.
e.g.
a. Referring words to another termbase
e.g.
== Content This content is about a <<termbase:IEV 1234,special concept>>.
The text was updated successfully, but these errors were encountered: