RFC 4708
CellML Media Type
RFC 4708: CellML Media Type π
okay so the title block first π this is RFC 4708, from the Network Working Group, and it's an Informational doc (so it shares info, it doesn't set an Internet standard π). It was written by Andrew Miller at The University of Auckland and dated October 2006. The title block doesn't list anything it obsoletes or updates, so no drama there β¨
Status of This Memo β¨
bestie, this memo is just here to inform the Internet community. It is NOT a standard of any kind π distribution is unlimited, so share it with everyone π
Copyright Notice πΈ
Copyright (C) The Internet Society (2006).
Abstract π¦
this doc standardises a brand new media type, application/cellml+xml, for swapping mathematical models that are written in a CellML Umbrella 1.0 compliant markup language π§
1. Introduction π
okay so the CellML Umbrella format is a standardised markup meta-language for trading mathematical models around π«Ά it's a shared base that a bunch of specific formats are built on, and it's giving "I can tell you exactly which specific language your model is written in" energy. The syntax and semantics are defined in [CELLML-UMBRELLA], so go there for the full tea β
the Umbrella is an actual media format, not just a pile of stuff borrowed from elsewhere. Yes, CellML Umbrella docs use elements from namespaces defined by [RDF] and [MATHML], but those elements alone can't define a mathematical model π so CellML adds the info needed to connect the different CellML components together, plus the info that links components to their metadata. That's why a new media type is needed to identify CellML: it's more than a collection of stuff defined somewhere else β¨
every well-formed CellML Umbrella doc is also a well-formed XML doc, so the convention in Section 7 of [RFC3023] was followed by using the +xml suffix π
and lowkey important: you can't interpret CellML Umbrella info without understanding what the XML elements marking up the model structure actually mean. So the application top-level type is used instead of the text top-level type π
2. Notational Conventions π
the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be read as described in [RFC2119] π«Ά
"element" and "document element" mean what they mean in [XML], and "XML namespace" means what it means in [NAMESPACES] π§
3. Media Type Registration for CellML Umbrella π§
here's the registration info, the official paperwork for the type π the core fields are:
MIME media type name: application
MIME subtype name: cellml+xml
Mandatory parameters: none
Optional parameters: charset
the only optional parameter is charset, and it's handled the same way as for application/xml, as specified in Section 3.2 of [RFC3023]. BUT, per conformance rule 4 of [CELLML-UMBRELLA], valid CellML Umbrella docs MUST be in the UTF-8 character set. So if charset is there, it MUST take the value "utf-8" π CellML processing software SHOULD check the charset field, and if it's present but not equal to "utf-8", it MAY try to recover from the error by processing the doc in the specified character set. the fix-it era is real π«
next up, the rest of the fields:
Encoding considerations: As per Section 3.2 of [RFC3023].
Security considerations: As per Section 5 of this document.
Interoperability considerations: As per Section 4.1 of this document.
Published specification:
CellML Umbrella Specification [CELLML-UMBRELLA].
Applications that use this media type: As per Section 4.2 of this
document.
Additional information:
Magic number(s): None.
so there are no magic numbers, but XML processing software can still spot a CellML Umbrella doc as an XML doc that has a document element with the local name "model" β¨ that's the vibe check π
for the file extension, the RECOMMENDED file extension is .cellml π some older software uses .xml, and vendors have also used the non-standard .cml π where the MIME type is available, or the type's already been figured out as CellML, implementations SHOULD let files open regardless of extension. And if you're transferring models to an environment that uses file extensions, you SHOULD use .cellml π
File extension(s):
.cellml (RECOMMENDED; see above)
Macintosh File Type Code(s): "TEXT"
Person & email address to contact for further information:
See the Author's Address section of this document.
Intended usage: COMMON
the author/change controller situation is giving "the spec is locked in but the process isn't" π the CellML Umbrella 1.0 specification was authored by Andrew Miller, and the spec itself will not change. BUT the umbrella spec defines how new specific formats get registered. The Bioengineering Institute at The University of Auckland, with input from the CellML Community via the cellml-discussion@cellml.org mailing list, controls the CellML Umbrella Format Registry π
...continued in part 2 with Section 4 and beyond π¦
Intellectual Property β¨
Okay bestie, time for the legal bit π . The IETF takes no position on whether any Intellectual Property Rights (IPR) or other rights that someone might claim over the technology in this document are valid or in scope π«Ά. It also doesn't say whether any license under those rights might or might not be available. And it hasn't made any independent effort to find out what rights exist π. If you want the details on how rights work for RFC documents, check out BCP 78 and BCP 79 π.
Copies of IPR disclosures sent to the IETF Secretariat are available, along with any assurances of licenses that have been promised. You can also find out what happens when someone tries to get a general license or permission to use proprietary rights as an implementer or user of this spec. All of that lives in the IETF online IPR repository at http://www.ietf.org/ipr π.
The IETF also invites anyone who knows about copyrights, patents, patent applications, or other proprietary rights that might cover technology needed to implement this standard to speak up π£. Send that info to the IETF at ietf-ipr@ietf.org π. It's giving transparency, periodt π.
Acknowledgement πΈ
Shoutout to the people keeping the lights on for the RFC Editor function! π Its funding comes from the IETF Administrative Support Activity (IASA) β¨. Without that support, none of these specs would make it out into the world π¦.
π¦ where this page comes from
- ietf: rfc4708 2006-10
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms