A simple database with a single table contains data concerning rental properties in Australia. The table contains five fields that store data relating to street address, city, postcode, number of bedrooms and weekly rent e.g. 4/331 Albert Street, Ballarat, 3350, 3, 230.00. There are constraints placed on the data that are described below.
The assignment tasks are closely associated with the lab work of topics 8 to 10. Code which is provided in the topic 10 lab work should be a useful guide throughout this assignment.
The assignment requires a number of files and a report to be produced. The report should respond to written tasks that are included below.
Initial task
In a word document, create a table of about 6 records with no NULLs. The street address may contain a unit number as in the example given above. Add the table to your report, showing clearly the names of the table and the fields.
Tasks supported by Topics 7 and 8
Mark up the table of data using XML tags and save it as an .xml file. Check that the file is well-formed and report the method used. Make a deliberate error and report the error message.
Create a corresponding XMLSchema file (.xsd) that contains the following constraints:
• the street address and city are strings each with a maximum of 30 characters;
• the postcode is a string of exactly 4 digits, the first digit being non-zero;
• the number of bedrooms is an integer between 1 and 5 (inclusive);
• the weekly rent is a positive (non-zero) number less than 1000 expressed with two decimal places.
Use the .xsd file to validate your .xml file. Test the validation of the .xml file by breaking each constraint in turn and report the results. Also deliberately invalidate the .xml file (but keeping it well-formed) and report the response.
Task supported by Topic 9
Create an XSLT stylesheet file (.xsl) that supports the display of the data in a table. The data is to be displayed either in ascending postcode order or in ascending weekly rent order as requested by the user.
Task supported by Topic 10
Create new DOM documents for each of your .xml and .xsl files. Use these to generate output to the browser. Comment on the result.
Research
Access the XML DOM Tutorial at https://www.w3schools.com/dom/dom_nodes_set.asp. Under the ‘Manipulate Nodes' heading study the ‘Get Values' and ‘Change Nodes' sections. It will be important to have an understanding of the Dom Node Tree from Topic 10 prior to this study. Write your own code to show that you can both retrieve the value of the weekly rent of the first record in your XML file and change its value.
Report contents
1. Diagram of the table containing the initial data.
2. State how you checked that the XML file is well-formed.
3. What messages are sent if it is not well-formed?
4. State how you checked that the XML file is valid.
5. What messages are sent if the XML file is well-formed but not valid?
6. What messages are sent if constraints are not met by the data?
7. How is the .xsd file validated?
8. Comment on the output provided by your two DOM documents.
9. Draw a diagram showing the structure of the DOM tree associated with the .xml file, using data from any ONE record.
10. Give details of any assistance received (apart from teaching staff).