1. You have a set of legal documents. Each has four sections: the title, the case, the background, and the judgement, in that order. Each has been made into an XML document by inserting a prolog and suitable tags. You want to write a CSS file that will display these documents using a suitable browser.
a. Can you write the CSS file in such a way that it will display the title, then the judgement, then the background, then the case?
Yes, with CSS you can use absolute positioning to position the elements anywhere on or off screen.
b. Can you write the CSS file in such a way that it will display just the title, and the judgement?
Yes, the display property of the element to be hidden should be set to none.
c. If the CSS file is called legalWrit.css, what processing instruction should you put in the prolog of the XML document(s)?
<?xml-stylesheet type="text/css" href="legalWrit.css"?>
2. What is the difference between a URI and a URL?
A URI (Universal Resource Identifier) is a string of characters that defines the location of a resources on a network, a URL (Universal Resource Locator) is the locator that identifies the location of a network resource. URLs are a subset of URIs.
3. Why does the XML language allow namespaces?
As with most modern languages, name-spaces are used to prevent naming conflicts from occurring. E.g. what happens if you're using 2 schemas with the element name <date>, yet both schemas validate dates differently. By using name-spaces such as <ns1:date> or <ns2:date> one could clearly identify what validations should be used.
Longer questions
1. Here is a short XML document. Type it out, as a new file in JCreator. Save it under the name memo1.xml in a suitable directory in your file system. Notice that the JCreator editor picks out the different components in different colours, to aid you in detecting errors.
<?xml version="1.0"?>
<?xml-stylesheet href="stylesheet01.css" type="text/css"?>
<!DOCTYPE memo>
<memo>
<id>Message: 1334</id>
<date>18 November 09</date>
<time>09:30</time>
<from>From: The Managing Director</from>
<to>To: Heads of all Departments</to>
<message>We must increase production. And increasing sales would be no bad thing either.</message>
</memo>
Now open another tab in JCreator and type the following style sheet out. Save it under the name stylesheet01.css in the same folder as memo1.xml. Notice that, this time, the editor does not pick out the different components in different colours.
memo {display: block; margin: 1em;}
id {display: block; margin: 1em; font-style: italic; font-size:200%}
date {display: block; margin: 1em;color: "dark blue"; text-align: left;}
time {display: block; margin: 1em;color: aqua; text-align: left;}
from, to {display: block; margin: 1em;color: green; text-align: left;}
message {display: block; margin: 1em;color: blue; text-align: left;}
Now use the Mozilla Firefox browser to view the file memo1.xml.
What was the point of putting “display: block” into the CSS file in each of the 6 lines?
display:block ensures that all elements are rendered on separate lines (not next to each other), all elements have different default values for the display style attribute.
2. We want the chapter we were working on last week (“Chapter 2: Volcanic winter”) to be displayed on screen in a web browser. Here are some of the features we would like it to have: the font for the text to be Palatino, or failing that Times New Roman, or failing that any serif face. Type size to be 12 pt. The chapter heading to be the same font, but 24 pt and bold and italic and blue. The poem lines to be the same font, but italic. Background colour to be parchment: use the colour #FCFBC4. Both the chapter heading and the main text are to be indented from the left margin by 1 em. The lines of poetry are to be indented from the left margin by 2 ems.
Write a CSS file that will enable the chapter to be displayed in this way. Call it stylesheet4.css
content {font-family: Palatino, "Times New Roman", Sans-Serif;
font-size: 12pt;
background-color: #FCFBC4;
margin-left: 1em;}
poem {font-style: italic;
display:block;
margin-left: 1em;}
line {display: block;}