Comments (20)
@darobin, @marcoscaceres, thoughts?
from specref.
Traditionally, we have made it so all references must much exactly. I think we should continue to do that (i.e., we should just fix the biblio for this one entry or the spec that incorrectly references rdf11-mt
should just be fixed).
My conclusion is that this bug is invalid.
from specref.
s/conclusion/opinion.
from specref.
So you anticipate a case where there are two different specs using the same short name but only differ in capitalization? I would consider that as a serious problem.
from specref.
No, that would never happen. I'm a bit confused about the problem here, maybe? I see the the identifier we use in the bilbio.js as only coincidentally related to the TR (or the URL conventions used by any standards organization).
from specref.
Argh... lets be clear on terminology - the "short name" of a spec is something we talk about at the W3C.... but I think you mean just the ids, which is what was confusing me.
So yes, it would be a (social) problem if we had "DOM" and "dom". But this has not been a problem in practice.
from specref.
I think that all of the IDs that are used in embedded spec references
(e.g., [[DOM]]) should be in upper case. Are there mixed case ones now?
Historically I feel like they have always been all upper case.
On Tue, Jul 9, 2013 at 5:22 PM, Marcos Caceres [email protected]:
Argh... lets be clear on terminology - the "short name" of a spec is
something we talk about at the W3C.... but I think you mean just the ids,
which is what was confusing me.So yes, it would be a (social) problem if we had "DOM" and "dom". But this
has not been a problem in practice.—
Reply to this email directly or view it on GitHubhttps://github.com//issues/22#issuecomment-20709810
.
Shane McCarron
[email protected]
from specref.
Yeah, I thought the same, but checking there are quite a few mixed case
ones.
On Tuesday, July 9, 2013, Shane McCarron wrote:
I think that all of the IDs that are used in embedded spec references
(e.g., [[DOM]]) should be in upper case. Are there mixed case ones now?
Historically I feel like they have always been all upper case.On Tue, Jul 9, 2013 at 5:22 PM, Marcos Caceres <[email protected]<javascript:_e({}, 'cvml', '[email protected]');>>wrote:
Argh... lets be clear on terminology - the "short name" of a spec is
something we talk about at the W3C.... but I think you mean just the
ids,
which is what was confusing me.So yes, it would be a (social) problem if we had "DOM" and "dom". But
this
has not been a problem in practice.—
Reply to this email directly or view it on GitHub<
https://github.com/tobie/specref/issues/22#issuecomment-20709810>
.Shane McCarron
[email protected] <javascript:_e({}, 'cvml', '[email protected]');>—
Reply to this email directly or view it on GitHubhttps://github.com//issues/22#issuecomment-20713276
.
Marcos Caceres
http://datadriven.com.au
from specref.
I introduced mixed-cased references after adding support for automatically pulling in /tr references. We discussed this with @darobin back then and agreed this was the way to go, notably to be able to use these references outside of Respec (e.g. for the testing effort).
We unfortunately now have cases where the uppercase and lowercase versions differ, e.g.: DOM vs dom.
from specref.
I can't say I have a strong opinion so long as existing content keeps working.
Can we sort out the few conflicting cases and make it case-insensitive?
from specref.
Can we sort out the few conflicting cases and make it case-insensitive?
WFM. Any volunteers?
from specref.
Ah, sh*t - @lanthaler is right (:bow:). There are 560 duplicates.
I think most are aliases - with case insensitive matching, all of the following go away:
ATAG-wombat, C14N-issues, CCPP-ra, CCPP-struct-vocab2, CCPP-ta, CCPP-trust, CDFReqs, CDRReqs, CSS-potential, Content-in-RDF, DDR-Simple-API, DDR-requirements, DOM-Level-1, DOM-Level-2-Core, DOM-Level-2-Events, DOM-Level-2-HTML, DOM-Level-2-Style, DOM-Level-2-Traversal-Range, DOM-Level-2-Views, DOM-Level-3-AS, DOM-Level-3-Core, DOM-Level-3-Events, DOM-Level-3-LS, DOM-Level-3-Val, DOM-Level-3-Views, DOM-Level-3-XPath, DOM-Requirements, DSig-label, DSig-usage, EARL10-Requirements, EARL10-Schema, EC-related-activities, EMMAreqs, ElementTraversal, HTTP-NG-testbed, HTTP-in-RDF, IndexedDB, InkML, MathML, MathML2, MathML3, MediaAccessEvents, P3P-preferences, P3P10-Protocols, P3P10-principles, PICS-labels, PICS-services, PICSRules, Pointers-in-RDF, S6Group2, SVG2Reqs, SVGFilter12, SVGFilterPrimer12, SVGFilterReqs12, SVGMobile, SVGMobile12, SVGMobileReqs, SVGPrint12, SVGPrintPrimer12, SVGPrintReqs, SVGReq, SVGTiny12, SVGTiny12Reqs, SYMM-modules, TVWeb-URI-Requirements, UAAG20-requirements, WICDFull, WebCGM, WebGL, WebIDL, Window, XForms-for-HTML, XHTMLplusMathMLplusSVG, XHTMLplusSMIL, XMLHttpRequest, XMLHttpRequest2, XSLReq, access-control, acdi, acss, animation-timing, app-uri, arabic-math, backplane, becss, call-control-reqs, ccxml, charmod, charmod-norm, charmod-resid, charreq, clipboard-apis, compositing, contacts-api, cooluris, cors, cpc-req, cselection, cselection-primer, cselection-xaf, css-masking, css-mobile, css-print, css-tv, css3-2d-transforms, css3-3d-transforms, css3-animations, css3-fonts, css3-hyperlinks, css3-images, css3-marquee, css3-mediaqueries, css3-preslev, css3-reader, css3-transforms, css3-transitions, css3-webfonts, css4-images, cssom, cssom-view, ct-guidelines, ct-landscape, curie, dap-privacy-reqs, dcontology, dd-ecosystem, dd-landscape, dd-structures, ddr-core-vocabulary, dfaui, di-atdi, di-dco, di-gloss, di-princ, dial, dial-primer, dom, egov-improving, emma, exi, exi-best-practices, exi-evaluation, exi-impacts, exi-measurements, exi-primer, file-upload, filter-effects, fullscreen, geolocation-API, grddl, grddl-primer, grddl-scenarios, grddl-tests, hash-in-uri, hcls-kb, hcls-senselab, hlink, html, html-design-principles, html-lan, html-rdfa, html40, html40-mobile, html401, html5, html5-diff, html5-pubnotes, i18n-guide-framework, i18n-html-tech-bidi, i18n-html-tech-char, i18n-html-tech-lang, ilu-requestor, inkreqs, its, itsreq, jlreq, json-ld, json-ld-api, lbase, leiri, lexicon-reqs, ltli, mathml-bvar, mathml-for-css, mathml-types, mathml-units, media-annot-reqs, media-frags, messaging-api, microdata, microdata-rdf, mmi-arch, mmi-auth, mmi-dev-feedback, mmi-framework, mmi-reqs, mmi-suggestions, mmi-use-cases, mobile-bp, mobile-bp-scope, mobileOK, mobileOK-basic10-tests, modality-interface, multimodal-reqs, mwabp, mwbp-wcag, namespaceState, navigation-timing, ngram-spec, nl-spec, offline-webapps, owl-features, owl-guide, owl-parsing, owl-ref, owl-semantics, owl-test, owl-time, owl-xmlsyntax, owl2-conformance, owl2-direct-semantics, owl2-manchester-syntax, owl2-mapping-to-rdf, owl2-new-features, owl2-overview, owl2-primer, owl2-profiles, owl2-quick-reference, owl2-rdf-based-semantics, owl2-syntax, owl2-xml-serialization, p3p-rdfschema, p3pdeployment, page-visibility, positioning, powder-dr, powder-formal, powder-grouping, powder-primer, powder-test, powder-use-cases, powder-voc, powder-xsd, print, proc-model-req, progress-events, pronunciation-lexicon, qa-handbook, qaframe-ops-extech, qaframe-spec, qaframe-test, quota-api, rdf-concepts, rdf-dawg-uc, rdf-mt, rdf-primer, rdf-schema, rdf-sparql-XMLres, rdf-sparql-json-res, rdf-sparql-protocol, rdf-sparql-query, rdf-syntax-grammar, rdf-testcases, rdf-uml, rdfa-core, rdfa-lite, rdfa-primer, rdfa-syntax, rdfcal, rdftm-survey, reusable-dialog-reqs, rex, rex-reqs, rif-bld, rif-core, rif-dtb, rif-fld, rif-overview, rif-prd, rif-rdf-owl, rif-test, rif-ucr, role-attribute, ruby, sXBL, sawsdl, sawsdl-guide, schema-arch, screen-orientation, scxml, selectors-api, selectors-api2, semantic-interpretation, shadow-dom, skos-primer, skos-reference, skos-ucr, smil, smil-animation, smil20, sml, sml-if, soap11-ror-httpbinding, soap12-af, soap12-email, soap12-mtom, soap12-mtom-policy, soap12-n11n, soap12-os-ucr, soap12-part0, soap12-part1, soap12-part2, soap12-part3, soap12-rep, soap12-testcollection, soapjms, spec-variability, speech-grammar, speech-synthesis, speech-synthesis11, sprot11, ssml-sayas, ssml11reqs, streams-api, sw-oosd-primer, swbp-classes-as-values, swbp-n-aryRelations, swbp-skos-core-guide, swbp-skos-core-spec, swbp-specified-values, swbp-thesaurus-pubguide, swbp-vocab-pub, swbp-xsch-datatypes, test-metadata, timesheets, timezone, touch-events, tracking-compliance, tracking-dnt, ttaf1-dfxp, ttaf1-req, turingtest, turtle, unicode-xml, uri-clarification, url, vbi-reqs, voice, voice-architecture, voice-dialog-reqs, voice-grammar-reqs, voice-intro, voice-nlu-reqs, voice-tts-reqs, voicexml20, voicexml21, voicexml30, vxml30reqs, wai-age-literature, wai-aria, wai-aria-implementation, wai-aria-practices, wai-aria-primer, wai-aria-roadmap, wcag2-req, wcag2-tech-req, web-forms-2, webarch, webcgm20, webcgm21, webgl, webont-req, webstorage, widgets, widgets-apis, widgets-digsig, widgets-land, widgets-reqs, widgets-updates, widgets-uri, wordnet-rdf, ws-addr-core, ws-addr-metadata, ws-addr-soap, ws-arch, ws-arch-scenarios, ws-cdl-10, ws-cdl-10-primer, ws-chor-model, ws-chor-reqs, ws-desc-reqs, ws-desc-usecases, ws-enumeration, ws-eventing, ws-fragment, ws-gloss, ws-i18n, ws-i18n-req, ws-i18n-scenarios, ws-metadata-exchange, ws-policy, ws-policy-attach, ws-policy-guidelines, ws-policy-primer, ws-resource-transfer, ws-transfer, wsa-reqs, wsc-threats, wsc-ui, wsc-usecases, wsc-xit, wsdl11elementidentifiers, wsdl20, wsdl20-additional-meps, wsdl20-adjuncts, wsdl20-altschemalangs, wsdl20-primer, wsdl20-rdf, wsdl20-soap11-binding, wslc, xag, xbc-characterization, xbc-measurement, xbc-properties, xbc-use-cases, xbl, xbl-primer, xforms-11-req, xforms-basic, xforms11, xframes, xh, xhtml-access, xhtml-basic, xhtml-forms-req, xhtml-media-types, xhtml-modularization, xhtml-print, xhtml-prof-req, xhtml-rdfa, xhtml-rdfa-primer, xhtml-rdfa-scenarios, xhtml-roadmap, xhtml-role, xhtml1-schema, xhtml11, xhtml2, xinclude, xkms-pgp, xkms-wsdl, xkms2, xkms2-bindings, xkms2-req, xlink-principles, xlink-req, xlink10-ext, xlink11, xlink2rdf, xml-blueberry-req, xml-c14n, xml-c14n11, xml-canonical-req, xml-encryption-req, xml-entity-names, xml-events, xml-exc-c14n, xml-fragid, xml-fragment, xml-i18n-bp, xml-id, xml-id-req, xml-infoset, xml-infoset-rdfs, xml-infoset-req, xml-link-style, xml-media-types, xml-names, xml-names11, xml-names11-req, xml-schema-req, xml-stylesheet, xml11, xml11schema10, xmlbase, xmldsig-bestpractices, xmldsig-core, xmldsig-core1, xmldsig-core1-interop, xmldsig-core2, xmldsig-properties, xmldsig-requirements, xmldsig-simplify, xmldsig-xpath, xmldsig2ed-tests, xmlenc-core, xmlenc-core1, xmlenc-core1-interop, xmlenc-decrypt, xmlp-reqs, xmlp-scenarios, xmlschema-0, xmlschema-1, xmlschema-11-req, xmlschema-2, xmlschema-formal, xmlschema-guide2versioning, xmlschema-patterns, xmlschema-patterns-advanced, xmlschema-ref, xmlschema11-1, xmlschema11-2, xmlsec-algorithms, xmlsec-derivedkeys, xop10, xopinc-FAQ, xpath, xpath-datamodel, xpath-full-text-10, xpath-full-text-10-requirements, xpath-full-text-10-use-cases, xpath-functions, xpath20, xpath20req, xproc, xproc-requirements, xptr-element, xptr-framework, xptr-infoset-liaison, xptr-req, xptr-xmlns, xptr-xpointer, xquery, xquery-11, xquery-11-requirements, xquery-11-use-cases, xquery-30, xquery-30-requirements, xquery-30-use-cases, xquery-requirements, xquery-semantics, xquery-sx-10, xquery-sx-10-requirements, xquery-sx-10-use-cases, xquery-update-10, xquery-update-10-requirements, xquery-update-10-use-cases, xquery-use-cases, xquery-xpath-parsing, xqueryx, xqueryx-11, xqupdateusecases, xsl11, xsl11-req, xslfo20-req, xslt, xslt-xquery-serialization, xslt11, xslt11req, xslt20, xslt20req
from specref.
Looks like all of those (or at least most) come from @tobie’s import. I’m pretty sure, e.g., that “json-ld” (lowercase) isn’t used anywhere but as for most other specs, the /tr URL contains the lowercase “json-ld” short name. @marcoscaceres, can you confirm that by looking at the source property?
from specref.
@lanthaler yes, all short names for are in lower case. I've also updated the list above to show the actual duplicate ids as they appear in the biblio.js file.
This is the simple script I used:
var dups = [],
set = new Set();
for(var i in biblio){
var entry = i.toUpperCase();
if(!set.has(entry)){
set.add(entry);
continue;
}
dups.push(i);
}
from specref.
There are a number of ways of doing this... and I'm not sure what the best way is... one is to remove redundancy (most of the duplicate aliasOf entries), canonicalize all the keys to "UPPERCASE" (to allow fast lookup), and update the Web service code to convert query params to uppercase in the comparison. I don't know how the tests we currently have work, but I'm sure those will break too.
from specref.
There are a number of ways of doing this... and I'm not sure what the
best way is... one is to remove redundancy (most of the duplicate
aliasOf entries), canonicalize all the keys to "UPPERCASE" (to allow
fast lookup), and update the Web service code to convert query params
to uppercase in the comparison.
Yeah, that's exactly what I initially suggested to Tobie on Twitter as well.
from specref.
How the data is stored is orthogonal to whether queries are case sensitive or not. For various reasons, I'd rather keep W3C-related keys exactly as the short names.
In effect, we'd still need to remove duplicates and/or consolidate data where necessary (e.g. DOM
and dom
).
Happy to merge a patch that does this.
from specref.
@tobie ok, let's deal with the cleanup first (DOM and dom is probably my fault).
from specref.
Ok, so there was only 3 (according to code below):
HTML, DOM, WebGL
var dups = [],
set = new Set();
for(var i in biblio){
var entry = i.toUpperCase();
if(!set.has(entry)){
set.add(entry);
continue;
}else{
if(!!biblio[i].aliasOf){console.log(entry)}
}
dups.push(i);
}
from specref.
OK, took me a while but here's finally a PR which cleans up the db and makes the queries case-insensitive.
I have a couple of specs that suffer from this issue so it would be great if you could merge this PR or whether there's anything you want to see to be changed before merging it.
from specref.
Related Issues (20)
- Validating linked URLs HOT 2
- Fix CI pipeline HOT 2
- Define TypeScript schema for responses HOT 6
- BCP 47 alias HOT 5
- Make [WEBSOCKETS] point to WHATWG spec, not dead W3C spec HOT 2
- the schema for `pages` should allow colon (`:`) HOT 1
- W3C Process doc missing from W3C data HOT 3
- Unable to reference new mediaqueries-3 REC HOT 5
- OpenID Connect refs HOT 1
- [IAccessible2] resolved to an unknown page HOT 5
- Man(ual) pages HOT 1
- Where was manifest-incubations pulled from? HOT 2
- wg21 diff thrashing
- Consider Upgrading Node.js Version HOT 1
- Specref might be stuck? HOT 4
- Querying both dependencies and dependents HOT 5
- Browserspec script is removing entries HOT 6
- Portable Network Graphics (PNG) still refers to old version (2003) HOT 1
- Referencing authors in Specref HOT 9
- Iso output missing ISO/IEC 18013-5:2021 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from specref.