Skip to content
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

on altIdent #2049

Closed
sydb opened this issue Oct 29, 2020 · 24 comments
Closed

on altIdent #2049

sydb opened this issue Oct 29, 2020 · 24 comments

Comments

@sydb
Copy link
Member

sydb commented Oct 29, 2020

(Note: This issue wraps in the problem initially posted in #1859, the problem later discovered in #1859, and one of the last comments of #1919, namely that “there are some TD elements that probably should not have <altIdent>, either; <modelGrp>, e.g.”.)

Problems

The problems with <altIdent> are:

  • It is still allowed in some places where perhaps it should not be.
  • Its content model is silly: it should be <dataRef key="teidata.xmlName"/>.
  • If the content model is changed, it could no longer be used is as a child of <moduleSpec> (with @type of "FPI"). Which would be a good thing, as its use there is simply incorrect — it does not match the definition of <altIdent> at all. But we need to find another way to represent the FPI of each module (which is needed for DTD support). Towards the end of this comment please find a table of the identifier of each module along with the heading of its chapter and its FPI.

Plan

So my suggested plan of action is, roughly, as follows.

  1. Decide on an alternate encoding of FPIs. My current favorite is to use an <idno type="FPI"> exactly where we currently use <altIdent type="FPI">.
  2. Decide which elements should, and should not, have <altIdent> in their content model.
  3. Write Schematron constraint to manually deprecate use of <altIdent> in places identified in step 2 as no-nos.
  4. Write another Schematron constraint to ensure that all <altIdent>s are xsd:NCName (the equivalent of teidata.xmlName) EXCEPT those that are a child of <moduleSpec> and (or or?) have a @type of "FPI".
  5. Wait 6 months to a year.
  6. During this time, if even 1 person asks for it, write a stylesheet to convert moduleSpec/altIdent to whatever we decided in step 1.
  7. During this time modify all Stylesheets so that they can read and process both the method agreed in step 1 and the current method for finding the FPI. (That is, either will work. There are 62 occurrences of "altIdent\b" in 10 Stylesheet files, although a few of those are comments.)
  8. Modify content models, classes, etc., so that <altIdent> is not allowed in the silly places identified in step 2.
  9. Remove manual deprecation Schematron.
  10. Modify content model of <altIdent> itself (to <dataRef key="teidata.xmlName" minOccurs="1" maxOccurs="1"/>)
  11. Remove constrain-to-xsd:NCName Schematron.
  12. Change our own use of moduleSpec/altIdent to whatever we decided in step 1.
  13. Wait another 6 months to a year.
  14. Remove the Stylesheets’ capability to handle the old <altIdent> method for indicating the FPI of a module.

So, presuming Council agrees with this overall plan, the main issues that would need discussion and decision are discussed in the next 2 sections.

Where should <altIdent> be allowed?

The list of elements where it is currently allowed is: <attDef>, <classSpec>, <constraintSpec>, <dataSpec>, <elementSpec>, <macroSpec>, <model>, <modelGrp>, <modelSequence>, <moduleSpec>, <paramSpec>, <schemaSpec>, and <valItem>.

It is clear (to me, at least) that it is required for use in <elementSpec> and <attDef>, and I believe that the Stylesheets will do the right thing in those cases (although I have not recently tested). I do not know what the Stylesheets do for valItem/altIdent, but I can certainly imagine uses. At the moment (way past my bedtime), I am having trouble imagining what <altIdent> as a child of any of the others would mean.

The basic idea, I think, is that use of <altIdent> allows you to separate the name as used in the ODD (e.g., as the value of @key) and RELAX NG schema (as the pattern name) from the name of the construct in the schema and instances. Is that ever helpful for <dataSpec> or <paramSpec>?

How should we encode the FPI of a module?

As mentioned above, my instinct is to use <idno type="FPI">. Other possibilities include:

  • <label>
  • @n
  • a new attribute, e.g. @fpi
  • <head>
  • <ident>
  • <name>
  • a new element, e.g. <fpi>
  • <gloss>
  • <rs>

Addendum

@ident heading FPI
tei The TEI Infrastructure TEI Infrastructure
header The TEI Header Common Metadata
core Elements Available in All TEI Documents Common Core
textstructure Default Text Structure Default Text Structure
gaiji Characters, Glyphs, and Writing Modes Character and Glyph Documentation
verse Verse Verse
drama Performance Texts Performance Texts
spoken Transcriptions of Speech Transcribed Speech
dictionaries Dictionaries Dictionaries
msdescription Manuscript Description Manuscript Description
transcr Representation of Primary Sources Transcription of Primary Sources
textcrit Critical Apparatus Text Criticism
namesdates Names, Dates, People, and Places Names, dates, persons and places
figures Tables, Formulæ, Graphics and Notated Music Tables, Formulæ, Notated Music, Figures
corpus Language Corpora Metadata for Language Corpora
linking Linking, Segmentation, and Alignment Linking, Segmentation, and Alignment
analysis Simple Analytic Mechanisms Analysis and Interpretation
iso-fs Feature Structures Feature Structures
nets Graphs, Networks, and Trees Graphs, networks, and trees
certainty Certainty, Precision, and Responsibility Certainty and Uncertainty
tagdocs Documentation Elements Documentation Elements
@sydb
Copy link
Member Author

sydb commented Nov 11, 2020

Instructions for Council subgroup (@sydb, @ebeshero, @npcole, and special guest @martindholmes):

Fill in “1” (favorite), “2” (second favorite), “3” (third favorite) in your three favorite methods for encoding what we currently encode as <altIdent type="FPI"> in the column under your initials.

Instructions for anyone else who would like to express an opinion:

Edit the table adding a column for yourself, and let us know your preferred method(s) using the same numbering system.

encoding SB EBB NC MH
a new element, e.g. <fpi>
a new attribute, e.g. @fpi (on the <moduleSpec>)
<gloss>
<gloss type="FPI">
<head type="FPI">
<ident>
<idno type="FPI"> 1 1 1
<label type="FPI"> 2 3 2
@n (on the <moduleSpec>) 3 2 3
<name>
<rs>
Council has already expressed distaste for those below here
<ident type="FPI">
<name type="FPI">
<rs type="FPI">

@sydb
Copy link
Member Author

sydb commented Nov 11, 2020

Instructions for Council subgroup (@sydb, @ebeshero, @npcole, and special guests @jamescummings and @martindholmes):

In the column under your initials fill in a checkmark (‘✓’, U+2713) for those elements for which you think <altIdent> should be allowed as a child; fill in a ballot X (‘✗’, U+2717) for those elements for which you think <altIdent> should not be allowed as a child; fill in a question mark for those for which you think more discussion is required; and leave blank those for which you are ambivalent, uncertain, or just don’t give a hoot. If there is an element which you think should permit a child <altIdent> but is not in the table (because currently it is neither allowed an <altIdent> child nor has an @ident attribute), please add a new row for it to the end of the table.

Instructions for anyone else who would like to express an opinion:

Edit the table adding a column for yourself, and let us know where you think <altIdent> should and should not be allowed using the same system.

Explanation of columns:

  1. parent: name of element that should or should not have a child <altIdent>; if in italics this element is not in the tagdocs module, and thus an <altIdent> child is or would be ill-defined (unless definition of <altIdent> is updated).
  2. @ident: indicates if this element has an @ident attribute via the att.identified class, as a direct attribute defined for this element, or not at all.
  3. child <altIdent>: indicates if this element currently allows a child <altIdent> or not; if it does, it is via the model.glossLike class.
parent has
@ident?
has
child
<altIdent>
?
SB EBB NC JC MH
application direct NO ? X ?
attDef att.identified yes
category NO yes X
classSpec att.identified yes
constraintSpec att.identified yes
dataSpec att.identified yes
elementSpec att.identified yes
joinGrp NO yes X X
language direct NO X
macroSpec att.identified yes
model NO yes ? X X
modelGrp NO yes ? X X
modelSequence NO yes ? X X
moduleSpec att.identified yes ?
paramSpec att.identified yes ?
prefixDef direct NO X X
remarks direct NO X X
schemaSpec att.identified yes ? ? ?
taxonomy NO yes X X
transcriptionDesc direct NO X X
valItem direct yes
new places go be- low here (-: :-)

@martindholmes
Copy link
Contributor

I'm sure this was covered in the Council discussion, but I wasn't there so I'm going to ask: Aren't we confusing a human-readable title with a Formal Public Identifier here? "Names and Dates" is a heading or a title; an FPI should presumably be some sort of unique identifier such as a URI, shouldn't it? We would expect "Names and Dates" to be translated into another language when the schema is not expressed in English, but would we want the FPI to change?

@sydb
Copy link
Member Author

sydb commented Nov 12, 2020

No, I don’t think we are confusing the title (e.g. “The TEI Header”, which is found at ./ancestor::div[not(ancestor::div)]/head in p5.xml, where . is the <moduleSpec> in question) with the FPI (e.g. “-//TEI P5//ELEMENTS Common Metadata//EN”, of which only the “Common Metadata” bit is stored as encoded information in p5.xml, at ./altIdent[@type eq 'FPI']). While an FPI provides a mechanism for translation into other languages (hence the ending “//EN”), I do not think I have ever seen it used. (The only place I expected to find one in TEI-land is in P5/Source/Guidelines/fr/HD-Header.xml, but it does not even have a <moduleSpec> in which to have a child <altIdent type="FPI">!)

HOWEVER, I believe I have just discovered that I have the “FPI” and “heading” columns reversed in the table in the Addendum of the initial post. I have a meeting in 1 min, but after that plan to check & fix if needed.

@sydb
Copy link
Member Author

sydb commented Nov 12, 2020

Worth mentioning there is an FPI → URI methodology:

urn:publicid:-:TEI P5:ELEMENTS Common Metadata:EN

@sydb
Copy link
Member Author

sydb commented Nov 12, 2020

Yeah, I had the columns in the Addendum above reversed. Fixed now.

@sydb
Copy link
Member Author

sydb commented Mar 12, 2021

Plan, #2: where should <altIdent> be allowed?

Instructions for Council and other interested parties:

Edit the table adding a column for yourself, and let us know where you think <altIdent> should and should not be allowed using the following system. (Note: it is much easier to edit the table if you use an editor with a monospace or fixed-width font.)

In the column under your initials fill in a checkmark (‘✓’, U+2713) for those elements for which you think <altIdent> should be allowed as a child; fill in a ballot X (‘✗’, U+2717) for those elements for which you think <altIdent> should not be allowed as a child; fill in a question mark for those for which you think more discussion is required; and leave blank those for which you are ambivalent, uncertain, or just don’t give a hoot. If there is an element which you think should permit a child <altIdent> but is not in the table (because currently it is neither allowed an <altIdent> child nor has an @ident attribute), please add a new row for it to the end of the table.

Note that this table only includes entries for those places about which the sub-group (SB, EB, JC, MH) had some internal disagreement. I have also removed <moduleSpec>, as we have agreed to replace moduleSpec/altIdent[@type='FPI'] with moduleSpec/ident[@type='FPI'] (see above1). You can see the complete list above2.

Explanation of columns:

  1. parent: name of element that should or should not have a child <altIdent>; if in italics this element is not in the tagdocs module, and thus an <altIdent> child is or would be ill-defined (unless definition of <altIdent> is updated).
  2. @ident: indicates if this element has an @ident attribute via the att.identified class, as a direct attribute defined for this element, or not at all.
  3. child <atIdent>: indicates if this element currently allows a child <altIdent> or not; if it does, it is via the model.glossLike class.
parent has
@ident?
has
child
<altIdent>
?
SB EBB JC MH MS HC RV HBS
application direct NO ? ?
category NO NO
language direct NO
paramSpec att.identified yes ? ?
schemaSpec att.identified yes ? ? ? ?
transcriptionDesc direct NO
new places go be- low here (-: :-)

@sydb
Copy link
Member Author

sydb commented Apr 11, 2021

summary of step (2) results so far

uncontroversial

That is, subgroup agreed in 1st round of voting.

per step (1)

<moduleSpec> loses (by deprecation) its <altIdent> child, to be replaced with <idno> in our ODDs

do not already have <altIdent>, and stay that way

<prefixDef>, <remarks>, and <transcriptionDesc>

already do have <altIdent>, and stay that way

<attDef>, <classSpec>, <constraintSpec>, <dataSpec>, <elementSpec>, <macroSpec>, and <valItem>

lose their current child <altIdent>

<joinGrp>, <model>, <modelGrp>, <modelSequence>, and <taxonomy>

gain a child <altIdent>

[none]

comparatively controversial

That is, went to 2nd round of voting.

do not already have an <altIdent> child and are not in the tagdocs module

  • <application>
    • votes: 6 ✗, 2 ?, 0 ✓
    • result: no change (does not get a new <altIdent> child)
  • <category>
    • votes: 7✗, 0 ?, 1 ✓
    • result: no change (does not get a new <altIdent> child; EBB is welcome to open a new ticket to argue that it should)
  • <language>
    • votes: 4✗, 0 ?, 4 ✓
    • result: NEEDS DISCUSSION, although if no consensus can be reached I will make no change on this ticket; we can open a new ticket if desired
  • <transcriptionDesc>
    • votes: 8✗, 0 ?, 0 ✓
    • result: no change (does not get a new <altIdent> child; JC has changed his mind.)

already have an <altIdent> child and are in the tagdocs module

  • <paramSpec>
    • votes: 2 ✗, 3 ?, 3 ✓
    • result: NEEDS DISCUSSION, although if no consensus can be reached I will (begrudgingly) leave <altIdent> in the content model of <paramSpec>
  • <schemaSpec>
    • votes: 4 ✗, 4 ?, 0 ✓
    • result: no change (does not get a new <altIdent> child)

@sydb
Copy link
Member Author

sydb commented Apr 12, 2021

So, there are 2 elements left to discuss for step (2), <language> and <paramSpec>.

on <language>

(With apologies to William Safire.)

Left to my own devices, I am very much against adding <altIdent> to the content model of <language>. That said, it is quite possible that @martindholmes, @hcayless, @raffazizzi, or @HelenaSabel have arguments in favor that will convince me.

My first thought is “what would it mean?”. The value of @ident is “a language code constructed as defined in BCP 47 which is used to identify the language documented by this element, and which is referenced by the global xml:lang attribute”. But <altIdent> “supplies the recommended XML name for an element, class, attribute, etc. in some language” (not in some <language> :-) I am hard pressed to think of languages as part of the “etc.”, there.

Even if we were to change the semantics of <altIdent> to allow it to be useful in the context of <language>, the syntax would likely be too constraining. (And remember, a large part of this ticket is about reinforcing and properly constraining the syntax of <altIdent>).

Besides, how would it be helpful to encode an alternate identifier? If it is just to say “Ellen encoded this unusual language with "x-kn" and Anne encoded it with "x-kr", so here we use both identifiers for one <language>” as a way of avoiding a duplicate <language>, I have no sympathy. If you are thinking it is the way to tuck in the equivalent ISO 639 (or whatever) code, again, I have no sympathy. (I would say that should be encoded with an <idno> with type="ISO639" (or whatever), which is already allowed inside <language>.)

My second thought is that <language> is currently the only element being considered as a possible parent of <altIdent> that is not from the tagdocs module. That means that if we allow <altIdent> as a child of <language> we need to have a floppy and vague or dual-tracked definition. If we reject this notion, the description gets to remain precise.

on <paramSpec>

Left to my own devices, I am moderately in favor of removing <altIdent> from the content model of <paramSpec>. That said, it is quite possible that @ebeshero , @martindholmes, or @hcayless have arguments against that will convince me.

I note that there is no occurrence of paramSpec/altIdent in the Guidelines, including in any example, nor is <altIdent> mentioned at all in 22.5.4 Processing Models. I doubt anyone has any system that uses a paramSpec/altIdentifier or knows how to process one. (@jamescummings? @tuurma?)

I presume that an alternate identifier of a parameter means that the parameter could be invoked with either the main (@ident) or one of the alternate (<altIdent>) identifiers. Does anyone know any other system in which parameters can have multiple names? Well, yes, we all do. E.g.,

$ diff --text --ignore-space-change

is the same as

$ diff -a -b

Even for those who think this is a good thing, is it helpful enough to be worth adding this complexity?

@martindholmes
Copy link
Contributor

martindholmes commented Apr 12, 2021

On <language>, @sydb says:

I would say that [iso-639 identifiers etc.] should be encoded with , which is already allowed inside .

I presume that should be "allowed inside <language>.

Other than that, I think I find your argument convincing. My reason for voting for here was that I'm constantly aware that languages (especially endangered or extinct languages) are frequently described, identified and referred to in many different ways by different communities, but of course this really has no bearing on <altIdent> in its strict definition as a component of ODD schema specifications, so I hereby change my vote.

@sydb
Copy link
Member Author

sydb commented Apr 12, 2021

Yes, @martindholmes, the MarkDown source of that snippet says

(I would say that should be encoded with an `<idno>` with  `type="ISO639"` (or whatever), which is already allowed inside `<altIdent>`.)

so it seems very odd that you are not seeing the backticks. (Even your copied quote from my post has the tags in it without the backticks.)

Anyway, <language> now has 5 ✗ and 3 ✓. Anyone (calling @hcayless, @raffazizzi, and @HelenaSabel) want to argue strongly in favor of putting <altIdent> inside <language>?

@martindholmes
Copy link
Contributor

@sydb I wasn't talking about the backticks; I was talking about the element name "altIdent", which I think is a typo for "language", You wanted to say (I think) that you can use idno inside language, so you don't need altIdent. Instead you implied that you can use idno inside altIdent, which isn't true.

@hcayless
Copy link
Member

My motivation was identical to Martin's, as was my mistake in not realizing that <altIdent> only works in tandem with the @ident in att.identified. Not going to argue in favor :-).

As for <paramSpec>, I'm afraid I don't have the bandwidth to explain the Processing Model to myself again, but wouldn't its use be analogous to that of other tagdoc elements? Namely, to provide an alternate name to use in some data structure derived from the ODD? Maybe that's not something you'd ever want to do though...

@sydb
Copy link
Member Author

sydb commented Apr 13, 2021

Right! Thank you, @martindholmes. I have just fixed that, which means that future readers of this exchange will be quite confused. :-)

@sydb
Copy link
Member Author

sydb commented Apr 13, 2021

OK, @hcayless, that makes it 6:2 against putting <altIdent> into <language>. So I think that settles it, I won’t be doing that on this ticket. If someone wants to create another special-purpose ticket for that, so be it.

As for <paramSpec> I think your analysis is correct, it provides an alternate name to use in the ODD to refer to the parameter. But I cannot (off the top of my head, which like yours is not really in processing-model-space) see a reason one would want to refer to the same parameter with more than 1 name. (I do not think the parameter gets expressed in RELAX NG or other outputs, does it?)

@sydb
Copy link
Member Author

sydb commented May 8, 2021

more on <paramSpec>

Realizing that one of the ‘?’ votes was mine, I changed it to ✗, leaving us with a vote tally of 3 ✗, 2 ?, and 3 ✓. So IMHO it is sorta up to MH or HC to come up with a compelling reason as to why <altIdent> should be left as a child of <paramSpec>.

@jamescummings
Copy link
Member

jamescummings commented May 8, 2021

re: <paramSpec>

@sydb / @hcayless : I think that your understanding of <paramSpec> is correct; it would be an alternative ident for the parameter name. Of all the other strange places that we're getting rid of <altIdent> from, this is the one where it makes most sense to remain. But I don't have a particular use-case for it. Having aliasing of parameters might be useful where <paramSpec> is being used in a different contexts where an existing vocabulary of parameters exists in a particular coding framework. That's the only use-case I can imagine to be honest. I've no strong feelings about keeping or removing it, but it makes more sense there (since it is a tagDocs Spec at least) than places like <language> or <category> or <transcriptionDesc>.

@lb42
Copy link
Member

lb42 commented May 8, 2021

In general it seems perfectly plausible to have alternative forms of a parameter name. Look at the spec for any Unix command.

@martindholmes
Copy link
Contributor

Also @sydb you did say before "if no consensus can be reached I will (begrudgingly) leave <altIdent> in the content model of <paramSpec>".

@sydb
Copy link
Member Author

sydb commented May 9, 2021

Yes, @lb42, it is completely plausible. And yes, @martindholmes, I did say that. But (with the possible exception of you) we have just reached consensus in that all of Council (including HC and EB, and also JC) have agreed to dropping it. We (including MT) believe, BTW, that there is no software in the world that would have any idea what to do with paramSpec/altIdent.

The Unix-command switch duality that both @lb42 and I brought up is (in my mind) a reasonable but misleading analogy. After all (JC pointed out), the @ident to which <altIdent> would provide an alternate is already going to be the long, human-readable version. Not much of a benefit in having a shorter name for something that is only used in your ODD.

We could all think of use cases; none of us could come up with any compelling use cases.

@ebeshero
Copy link
Member

ebeshero commented May 9, 2021

@martindholmes @sydb Here is what persuaded me toward consensus on removing <altIdent> from <paramSpec>: I asked if there might be another way to indicate an alternative to a parameter. The answer seems to be yes, and on closer inspection of the content model we have, I think <equiv> would satisfy if needed.

@sydb
Copy link
Member Author

sydb commented May 9, 2021

Or just having a 2nd <paramSpec>, identical save the @ident.

sydb added a commit that referenced this issue Oct 11, 2021
Add deprecation constraint to `<altIdent>` — flag as error if content is anything other than a teidata.xmlName (i.e., an xs:NCName), except if it is an FPI
sydb added a commit that referenced this issue Oct 11, 2021
Change Guidelines to use `<idno>` instead of `<altIdent>` for FPIs.
sydb added a commit that referenced this issue Oct 11, 2021
Make use of `<idno>` for FPIs of modules valid.
@sydb
Copy link
Member Author

sydb commented Apr 7, 2022

Where we are so far — Or, Plan Reduex

Here are the steps from the original post on this ticket, annotated with what has been done so far.

  1. Decide on an alternate encoding of FPIs. My current favorite is to use an <idno type="FPI"> exactly where we currently use <altIdent type="FPI">. — DONE, we have agreed to <idno type="FPI">
  2. Decide which elements should, and should not, have <altIdent> in their content model. — DONE, <altIdent> is to be limited to being a child of <attDef>, <classSpec>, <constraintSpec>, <dataSpec>, <elementSpec>, <macroSpec>, or <valItem>;
  3. Write Schematron constraint to manually deprecate use of <altIdent> in places identified in step 2 as no-nos. —DONE, deprecate <altIdent> in bizarre places #2193 deprecates them everywhere else, but see [1]
  4. Write another Schematron constraint to ensure that all <altIdent>s are xsd:NCName (the equivalent of teidata.xmlName) EXCEPT those that are a child of <moduleSpec> and (or or?) have a @type of "FPI". — DONE, but see [1]
  5. Wait 6 months to a year. — Ongoing, as it were.
  6. During this time, if even 1 person asks for it, write a stylesheet to convert moduleSpec/altIdent to whatever we decided in step 1. — DONE. One person did ask for it: me, to perform step 12. (I have not committed the code, yet, it is just on my local system as altIdent2idno4FPIs.xslt. It is pretty simple, with a totoal of 34 elements + attributes.)
  7. During this time modify all Stylesheets so that they can read and process both the method agreed in step 1 and the current method for finding the FPI. (That is, either will work. There are 62 occurrences of "altIdent\b" in 10 Stylesheet files, although a few of those are comments.) — I think this is DONE with add a correspondence module and elements for capturing correspondence specific meta data #510.
  8. Modify content models, classes, etc., so that <altIdent> is not allowed in the silly places identified in step 2.
  9. Remove manual deprecation Schematron.
  10. Modify content model of <altIdent> itself (to <dataRef key="teidata.xmlName" minOccurs="1" maxOccurs="1"/>)
  11. Remove constrain-to-xsd:NCName Schematron.
  12. Change our own use of moduleSpec/altIdent to whatever we decided in step 1. DONE in 792a126.
  13. Wait another 6 months to a year.
  14. Remove the Stylesheets’ capability to handle the old <altIdent> method for indicating the FPI of a module.

So I think there is nothing else to do for this ticket now except to change the end-deprecation date to mid-October. Then, in mid-October we do steps 8, 9, 10, & 11. (Then, in 2023 we do step 14.)

Notes

[1] I set the valid-until date to 2022-07-14 back when I did this (2021-10-11), in order to have a date that was at least 6 months in the future and perhaps even 6 months after the next release. However, the PR was not merged until 2022-04-02, a mere ~3.2 months before the valid-until date. I think we should reset the valid-until date to 2022-10-21, and plan to just do so soon.

hcayless pushed a commit that referenced this issue Jun 26, 2022
Add deprecation constraint to `<altIdent>` — flag as error if content is anything other than a teidata.xmlName (i.e., an xs:NCName), except if it is an FPI
hcayless pushed a commit that referenced this issue Jun 26, 2022
Change Guidelines to use `<idno>` instead of `<altIdent>` for FPIs.
hcayless pushed a commit that referenced this issue Jun 26, 2022
Make use of `<idno>` for FPIs of modules valid.
sydb added a commit that referenced this issue Sep 9, 2022
Change model.glossLike into 2 new classes: model.identInfo [gloss euqiv] and modelidentInformation [altIdent and model.identInfo]. Change all references to model.glossLike (whether on <memberOf> or <classRef> or in prose) to one of the two new classes.
sydb added a commit that referenced this issue Sep 9, 2022
Oops. I forgot to actually add the new files to the repo. Note that previous commit was most of the work of step 8.
sydb added a commit that referenced this issue Sep 9, 2022
@sydb
Copy link
Member Author

sydb commented Mar 19, 2023

TTD?

Revisiting this after months of inattention.

So I think there is nothing else to do for this ticket now except to change the end-deprecation date to mid-October. Then, in mid-October we do steps 8, 9, 10, & 11. (Then, in 2023 we do step 14.)

Checking now:

  • Step 8: done
  • Step 9: done
  • Step 10: BLOCKED by S#569
  • Step 11: done
  • Step 13: what we are doing right now
  • Step 14: should be done in late 2023 at the earliest, IMHO.

Therefore I think we should (right now):

  1. Add a comment to S#569 reminding us to fix the content model of <altIdent> when the Stylesheets are fixed. — DONE
  2. Close this ticket as (essentially) finished. — DONE
  3. optional: Create a Stylesheets ticket to remind ourselves to “Remove the Stylesheets’ capability to handle the old <altIdent> method for indicating the FPI of a module.”. — DONE

@ebeshero ebeshero added this to the Guidelines 4.7.0 milestone Mar 19, 2023
@sydb sydb closed this as completed Mar 20, 2023
@ebeshero ebeshero modified the milestones: Guidelines 4.7.0, Guidelines 4.6.0 Mar 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment