Media type for RELAX NG Compact Syntax

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Henri Sivonen

    Media type for RELAX NG Compact Syntax

    I have written a servlet wrapper and a custom entity resolver for
    Jing.[1] My code needs to decide whether to instantiate a compact syntax
    schema reader or an XML syntax schema reader. I would very much like to
    do the Right Thing. Currently, my code does the following;

    1. If the HTTP Content-Type of the schema is
    application/vnd.relax-ng.rnc, the schema is treated as a compact syntax
    schema.

    2. If the HTTP Content-Type of the schema is application/octet-stream,
    the UA may guess. The implemented guess is that the schema is treated as
    a compact syntax schema if its URL ends with ".rnc".

    3. If the user has requested lax treatment of HTTP Content-Type and the
    HTTP Content-Type is text/plain, the schema is treated as a compact
    syntax schema if its URL ends with ".rnc".

    In all cases, the charset parameter is supported for overriding the RNC
    default UTF-16/UTF-8 sniffing. (I consider the charset parameter
    harmful, but the RNC spec specifically blesses it.)

    However, it seems the registration of application/vnd.relax-ng.rnc went
    nowhere and the type is not official. Can anyone suggest a more correct
    way of deciding if a schema acquired via HTTP should be treated as a
    compact syntax schema?

    (I'm inclined the consider the media type system in general and the
    registration procedure in particular dysfunctional.. . It seems to me
    that most .rng and .rnc schemas out there are served as text/plain.)

    [1] http://hsivonen.iki.fi/validator/

    --
    Henri Sivonen
    hsivonen@iki.fi

Working...