Ethan Davis wrote:
Hi Benno,
I've updated our main static catalogs to include xlink:type="simple".
Haven't dealt with our generated catalogs yet.
Since all the uses of xlink in the InvCatalog schema at this point are
simple xlinks, I was thinking it would be a convenience to provide a
default value for xlink:type. That way all existing catalogs would
automatically be complient with the XLink spec. At least they would
look that way if the application was paying attention to the DTD/XSD.
As with most default values in XML docs, I think explicitly including
xlink:type="simple" in our catalog documents is the way to go. Just
hoping to buy us some pain free complience.
My knowledge of XML is very limited, so please help me out here. My
understanding of namespaces was that the href in the namespace was just
a URI, i.e. an unique identifier, not a file to be read. In other
words, a program can sort out the different name spaces without ever
actually reading the files referenced. If one can put default values
in a DTD (and presumably in a schema), then that would have to be read
before the file could be "understood". So you are saying that Mozilla
is required to read the dtd and/or schema before parsing the document?
and if we put in default values for the xlink:type, the Xlink aware code
would use that default value even though it does not understand much
else in the thredds schem(a)? If so, that would be pretty interesting.
I was just looking at your catalog at
http://iridl.ldeo.columbia.edu/SOURCES/thredds.xml
I see the xlink:type attributes but not the CSS stuff
(<?xml-stylesheet type="text/css" href="threddsstyle.css" ?>). Do you
have an example that does include that? Also, can you point me to your
threddsstyle.css so I can take a look at it?
Yes, it is not there yet. css is pretty limited -- probably cannot do
anything really useful with it (i.e. my current version mostly messes
things up), but it is interesting because it handles namespaces. And
because it shows that mozilla "understands" xlink. Here is my example
(which should appear on the site tomorrow when I can install a new version).
@namespace threddsv06 url(http://www.unidata.ucar.edu/thredds);
@namespace thredds
url(http://www.unidata.ucar.edu/namespaces/thredds/InvCatalog/v1.0);
@namespace xlink url(http://www.w3.org/1999/xlink);
@namespace mods url(http://www.loc.gov/mods/v3);
thredds|dataset {display:block; padding-left: 40px; list-style-type:
disc;}
thredds|dataset:before {display:block; text-indent: -40px;
font-weight:bold; content: attr(name)}
thredds|catalogRef:before {display:block; text-indent: -40px;
font-weight:bold; content: attr(xlink|title)}
thredds|catalogRef {display:block; padding-left: 40px; font-weight:bold;}
thredds|dataset documentation{ display:list-item; font-weight:normal;
color:green;}
thredds|dataset *{display:listitem; font-weight:normal;}
thredds|catalogRef documentation{ display:list-item;
font-weight:normal; color:brown;}
thredds|catalogRef *{display:inline}
threddsv06|dataset {display:block; padding-left: 40px;
list-style-type: disc;}
threddsv06|dataset:before {display:block; text-indent: -40px;
font-weight:bold; content: attr(name)}
threddsv06|catalogRef:before {display:block; text-indent: -40px;
font-weight:bold; content: attr(xlink|title)}
threddsv06|catalogRef {display:block; padding-left: 40px;
font-weight:bold;}
threddsv06|dataset documentation{ display:list-item;
font-weight:normal; color:green;}
threddsv06|dataset *{display:listitem; font-weight:normal;}
threddsv06|catalogRef documentation{ display:list-item;
font-weight:normal; color:brown;}
threddsv06|catalogRef *{display:inline}
mods|mods{display:block; color:black}
mods|mods
role,originInfo,typeOfResource,identifier,caption{display:none;
color:green}
mods|mods relatedItem:before {color:black; content: " in "}
mods|mods part detail[type="volume"] {display:inline;font-weight:bold;
color:brown}
mods|mods part detail[type="issue"] {display:inline;font-style:italic;
color:brown}
mods|mods part detail[type="issue"]:before {content: "("}
mods|mods part detail[type="issue"]:after {content: ")"}
mods|mods part extent[unit="page"]:before {content: "pp"}
mods|mods part extent[unit="page"]:before {content: "pp"}
mods|mods subTitle:before {content: "--"}
mods|mods end:before {content: "--"}
mods|mods part:after {content: "."}
mods|mods titleInfo{font-style:italic;}
Note that I was contemplating inserting a mods namespace for references,
which is why the mods tags were there.
However, one could alternatively specify an XSLT stylesheet, which
should be able to render a THREDDS xml file usefully. And one could
use javascript if necessary to create buttons, etc.
But I have not gotten there yet.
Benno
Thanks,
Ethan
Benno Blumenthal wrote:
Ethan Davis wrote:
Hi Benno,
I will go through our catalogs and add the xlink:type attribute.
I'll also add it to our catalog generation tools.
That would be great.
In the InvCatalog 0.6 spec xlink:type had a default value of
"simple". Looks like that got dropped in 1.0. Does adding this as a
default seem like a good idea? Or would requiring it but no default
value be preferable?
my reading of xlink is that xlink:type is required, and the way we
are using xlink its value is "simple".
There is no provision for a default value.
The reason for doing this is so that we can build on top of software
that already understands xlink, which, if we have not written it, is
expecting xlink:type="simple" before processing it.
Benno
--
Dr. M. Benno Blumenthal benno@xxxxxxxxxxxxxxxx
International Research Institute for climate prediction
The Earth Institute at Columbia University
Lamont Campus, Palisades NY 10964-8000 (845) 680-4450