OGCMetOceanDWG / WorldWeatherSymbols

A complete set of WMO weather symbols in SVG with full metadata.
https://github.com/OGCMetOceanDWG/WorldWeatherSymbols
Other
84 stars 34 forks source link

Clarify that SVG best practice is followed #50

Open chris-little opened 3 months ago

chris-little commented 3 months ago

These symbols were originally designed when SVG1.0 was current. V1.0 is now out of date, and the current W3C Recommendation is SVG V1.1, which is a modularisation of V1.0. V1.1 also follows the guidance at https://www.w3.org/TR/SVG11/intro.html . Some of this guidance is definitely followed. Confirmation that the symbols are compatible with the other W3C guidance is needed. In particular:

  1. The symbols are defined using SVG V1.1 [DONE]
  2. The MIME type for SVG is image/svg+xml [W3C have not registered this yet!]
  3. SVG File extensions are ".svg", and ".svgz" for gzipped files. [DONE]
  4. On the Macintosh HFS file systems, the file types are "svg " and "svgz". Note the trailing blank.
  5. The SVG Namespace is http://www.w3.org/2000/svg . [DONE]
  6. DTDs and XML DOCTYPE declarations are not used. [DONE]
  7. SVG is compatible with the Extensible Markup Language (XML) 1.0 Recommendation [XML10] [DONE]
  8. SVG is compatible with the Namespaces in XML Recommendation [XML-NS] [DONE]
  9. SVG utilizes XML Linking Language (XLink) [XLINK] for IRI referencing and requires support for base IRI specifications defined in XML Base [XML-BASE]. [DONE, though XLink is deprecated in SVG2]
  10. SVG is compatible with W3C work on internationalization. References include: [UNICODE] and [CHARMOD]. Also, see Internationalization Support. [DONE]
  11. SVG is compatible with W3C work on Web Accessibility. Also, see Accessibility Support. [DONE]
  12. SVG incorporates some features and approaches of the Synchronized Multimedia Integration Language (SMIL) 3.0 Specification [SMIL], including the ‘switch’ element and the ‘systemLanguage’ attribute. [NOT NEEDED]
  13. SVG's animation features (see Animation) were developed in collaboration with the Synchronized Multimedia Integration Language (SMIL) 3.0 Specification [SMIL] and incorporate and extend the general-purpose XML animation capabilities of SMIL Animation specification [SMILANIM]. [NOT NEEDED]
  14. SVG has been designed to allow SMIL to use animated or static SVG content as media components. [NOT NEEDED]
  15. SVG content can be styled by either CSS (see Cascading Style Sheets (CSS) level 2 [CSS2]) or XSLT (see XSL Transformations (XSLT) Version 1.0 [XSLT] and XSL Transformations (XSLT) Version 2.0 [XSLT2]). See Styling with CSS and Styling with XSL for details.
  16. SVG supports properties and approaches common to CSS and XSL, plus selected semantics and features of CSS (see SVG's styling properties and SVG's Use of Cascading Style Sheets).
  17. External style sheets are referenced according to Associating Style Sheets with XML documents Version 1.0 [XML-SS].
  18. SVG conforms to the Document Object Model (DOM) Level 1 Recommendation [DOM1]. The SVG DOM has compatibility and consistency with the HTML DOM defined in the DOM Level 1 specification. The SVG DOM also supports and incorporates many facilities described in DOM Level 2, including the CSS object model and event handling [DOM2] [DOM2STYLE] [DOM2EVENTS].
  19. SVG attempts to achieve maximum compatibility with both HTML 4 [HTML4] and XHTML™ 1.0 [XHTML], including its use of CSS [CSS2], its approach to event handling, and its approach to its Document Object Model [DOM2].
  20. In environments which support DOM 2 Core [DOM2] for other XML grammars (e.g., XHTML [XHTML]) and which also support SVG and the SVG DOM, a single scripting approach can be used simultaneously for both XML documents and SVG graphics, in which case interactive and dynamic effects will be possible on multiple XML namespaces using the same set of scripts.
chris-little commented 3 months ago

Points 15 to 20 are the only issues that need input from real world experience, and these are two areas: 15, 16, 17 refer to styling and stylesheet handling. Is CCS or XSLT more dominant in the real world? 18, 19, 20 refer to Document Object Model (DOM) handling. Can HTML 4 be ignored because XHTML is ubiquitous? Is DOM2 handling common or is everything still at the DOM1 level?

chris-little commented 3 months ago

@tomkralidis As XLink is deprecated in SVG2 (though SVG V2 is not yet a recommendation, and may not be), this suggestes that XSLT is probably not popular either, so CSS is probably the style approach of choice.

chris-little commented 3 months ago

Several browsers seem to have implemented some but not all aspects of SVG V2, which is still a Candidate Recommendation, dated 2018, but others aspects still adhere to SVG v1.1 (2nd Edition) which is a full Recommendation, dated 2011. One important "feature" is the differing inheritance of style attributes from surrounding/parent containers, whether SVG containers or HTML or XHTML, when using the use container. ALso, I think that I took the minimal SVG V1.2 "Tiny" Recommendation, dated 2008 as my base. This does not require support for CSS2 selectors. So nothing fancy envisaged.