I am doing this blog entry differently than normal — I am writing my questions as I go along and I will strike them if they are answered after further reading. This discusses the origins of TEI.
1. Ok so SGML is a markup meta-language. SGML is a set of rules for making a markup language. SGML is composed of containers and an SGML conformant language — rules about containers and their “content models.” A “document type definition (DTD)” follows rules specified by SGML.
2. Why would I put a “declarative markup” with a “style sheet” instead of just making the words styled/formatted correctly in the first place? The author says combining the style and declarative markup is counterintuitive because a marriage of style and structure is a deeply engrained in our beliefs.
3. The author says style and structure is disjointed in markup, but then he says:
“The strength and weakness of SGML derive from the same fact: you need a document type definition, which means that you have to think ahead. Writing in SGML or any of its variants involves a willingness to shoulder upfront investments for the sake of downstream benefits.”
So are style and structure really disjointed? We still marry style and structure because we’re thinking ahead about the DTD and consequently design the SGML.
XML is the answer to the problems of SGML and HTML. “You can use XML without thinking ahead and make up your elements en route as long as they nest within each other. This is called writing “well-formed” rather than “valid” XML. Purists discourage this but people will do it anyhow.” So I was essentially correct in my above question; they created a spin of language known as XML to allow us to marry style and structure without losing the computing power of SGML.
Seriously, why not HTML if it is universal? “HTML always lives in sin because it constantly violates the cardinal rule of separating information from the mode of its display.”
But why is this important to separate information from mode of its display? Why not call it humanities computing if we want to separate the two? “If you want to use the Internet to move stuff in and out of databases, it becomes very useful to have a markup language with clearly defined containers and content models.That is the impetus behing XML, the “Extensible Markup Language,” which will supersede HTML wherever complex and precise information is at a premium.”
I can answer at least one of your questions from a standpoint of web development, though not TEI specifically:
Why would I put a “declarative markup” with a “style sheet” instead of just making the words styled/formatted correctly in the first place?
1. Save time and space. In a web site, if you want every page to have a black background, you can write the code for black backgrounds once, in a CSS style sheet, rather than have to make the background black on every single page. If you have a site of hundreds of pages, this is a big time saver. It also saves space since you’re using however many bits once, rather than 100+ times.
2. You might want to change the style of your whole website at some point. Say you want to change all your page backgrounds to white. With a CSS style sheet, you change the code once. By doing it on each page, you have to change the code 100+ times, in 100+ different files.
Actually there’s a third reason too, although not one I’ve incorporated into the sites I’ve built. Some sites like to give users the option to customize the colors, images, etc. for their own viewing. An example is Subeta, the virtual pet site I play. The site has “themes,” which means I can have it display different header images and colors. In winter, I put up the “Arctic Frost” theme; at Halloween, I use the “Shadowglen Graveyard” theme; etc. When I change a theme, the site pulls from a different CSS file so that every page I view has a new look. If Subeta didn’t use CSS, I couldn’t customize its appearance since the colors and images for every page would be hard-coded in.
For TEI, I would imagine CSS would be useful if you had already encoded a text but then decided you wanted to put all the quotes in, say, red. You would just add a line to your CSS that made anything tagged as a quote turn red. Otherwise, you’d have to go through every file of your document and add code to turn every quote red… one at a time.