COAP:COAP-2180/week3: Difference between revisions
m (Daniel K. Schneider moved page Help:COAP-2180/project3 to COAP:COAP-2180/week3) |
|||
Line 1: | Line 1: | ||
=== Week 3 [[Help:COAP-2180|COAP 2180]] === | === Week 3 [[Help:COAP-2180|COAP 2180]] === | ||
On week three you will | On week three you will finish learning how to create your own simple DTD: | ||
* Defining an '''information architecture''' (sketching out elements and attributes) | * Defining an '''information architecture''' (sketching out elements and attributes) | ||
* Defining DTD '''rules for elements and attributes''' | * Defining DTD '''rules for elements and attributes''' | ||
Line 39: | Line 39: | ||
Create a DTD and create an associated XML test file. | Create a DTD and create an associated XML test file. | ||
* Your DTD should be somewhat text-centric (i.e. be meant for creating documents that can be displayed in some way) | * Your DTD should be somewhat text-centric (i.e. be meant for creating documents that can be displayed in some way) | ||
* You can define the purpose of the DTD | * You can define the purpose of the DTD you wish to model, but it's best to discuss your plans in class. | ||
: I strongly suggest to consider a study area you are interested in, and to model for example a process, a | : I strongly suggest to consider a study area you are interested in, and to model for example a process, a document genre, a description of a class of artifacts, etc. Avoid lists of CDs, cars, etc. | ||
: If you reuse elements from an other DTD, please tell so (in the comments of the DTD). '''Plagiarism will be punished''', but '''documented reuse''' of elements from an existing DTD or even inclusion of a whole DTD (e.g. for formatting) is just fine ! | : If you reuse elements from an other DTD, please tell so (in the comments of the DTD). '''Plagiarism will be punished''', but '''documented reuse''' of elements from an existing DTD or even inclusion of a whole DTD (e.g. for formatting) is just fine ! | ||
Tips: | Tips: | ||
* Take into account that you will be able reuse this DTD in most follow-up projects, including the term project !! | * Take into account that you will be able reuse this DTD in most follow-up projects, including the term project !! | ||
* Do not attempt to define a too simple DTD (lists) or a very complex one. | * Do not attempt to define a too simple DTD (lists) or a very complex one. Make it both interesting and reasonable. | ||
* Do '''not worry''' about rendering (display). It will be done in homework 4. In week 4/5 you will learn how to add information to a text, e.g. if you have an element like: | * Do '''not worry''' about rendering (display). It will be done in homework 4. In week 4/5 you will learn how to add information to a text, e.g. if you have an element like: | ||
<nowiki><adress>Mr. X., 1 Cool st., Geneva</address></nowiki> | <nowiki><adress>Mr. X., 1 Cool st., Geneva</address></nowiki> | ||
Line 64: | Line 64: | ||
''Good work may include '''one''' or several of the following | ''Good work may include '''one''' or several of the following | ||
* Inserted comments <!-- ... --> in the DTD and that explains the purpose of the DTD, the purpose of each | * Inserted comments <!-- ... --> in the DTD and that explains the purpose of the DTD, the purpose of each element, authorship, date, etc. | ||
* A DTD that is "interesting" and useful for a given domain, e.g. it should include more than just 5 elements, either yours or elements that were found in other DTDs. | * A DTD that is "interesting" and useful for a given domain, e.g. it should include more than just 5 elements, either yours or elements that were found in other DTDs. | ||
* Use of attributes | * Use of attributes | ||
* Use of entities | * Use of entities | ||
* A DTD that is more complex than a simple table (e.g. contains recursive elements) | * A DTD that is more complex than a simple table (e.g. one that contains recursive elements) | ||
* A good XML example that uses all elements more than once (i.e. you do information architecture testing) | * A good XML example that uses all elements more than once (i.e. you do information architecture testing) | ||
''Excellent work (A-) includes in addition'' | ''Excellent work (A-) includes in addition'' | ||
* A 1-2 page report that discusses your information architecture (the DTD structure) and results (what do you think of it, how could you improve it, etc.). You may include this report as "comment" in the DTD. | * A 1-2 page report that discusses your information architecture (the DTD structure) and results (what do you think of it, how could you improve it, etc.). You may include this report as "comment" in the DTD or a truly interesting and complex DTD. | ||
''Brilliant work (A) | ''Brilliant work (A) | ||
* Does most of the above, i.e. produces a DTD that could be used for real plus a decent documentation. | * Does most of the above, i.e. produces a DTD that could be used for real plus a decent documentation. |
Revision as of 18:14, 26 March 2013
Week 3 COAP 2180
On week three you will finish learning how to create your own simple DTD:
- Defining an information architecture (sketching out elements and attributes)
- Defining DTD rules for elements and attributes
This homework can be a prototype for a part of your term project.
Teaching materials
Tour de XML (This week: to be announced)
Defining a DTD
- DTD tutorial (wiki lecture notes)
- xml-dtd.pdf (slides)
Examples files (same as before)
Textbook chapters
If you find that my lecture notes and slides are incomplete, too short or not good enough, reading either one or both texts is mandatory !
- XML in a Nutshell, Chapter 3 Document Type Definitions (start here)
- Learning XML, Chapter 4 Quality Control with Schemas (additional reading)
These chapters are available through the world classroom.
- For the adventurous
- XML Category (All XML-related articles in this wiki)
- XML (on Wikipedia)
Homework 3 - Week 3
Task
Create a DTD and create an associated XML test file.
- Your DTD should be somewhat text-centric (i.e. be meant for creating documents that can be displayed in some way)
- You can define the purpose of the DTD you wish to model, but it's best to discuss your plans in class.
- I strongly suggest to consider a study area you are interested in, and to model for example a process, a document genre, a description of a class of artifacts, etc. Avoid lists of CDs, cars, etc.
- If you reuse elements from an other DTD, please tell so (in the comments of the DTD). Plagiarism will be punished, but documented reuse of elements from an existing DTD or even inclusion of a whole DTD (e.g. for formatting) is just fine !
Tips:
- Take into account that you will be able reuse this DTD in most follow-up projects, including the term project !!
- Do not attempt to define a too simple DTD (lists) or a very complex one. Make it both interesting and reasonable.
- Do not worry about rendering (display). It will be done in homework 4. In week 4/5 you will learn how to add information to a text, e.g. if you have an element like:
<adress>Mr. X., 1 Cool st., Geneva</address>
you will be able to make the result look like: Private Address: Mr X. ,....... In other words: Think about data, not display !
Deadline and submission:
- Monday week 4 (before start of class)
- Use the world classroom: https://webster.blackboard.edu/
- Submit the *.dtd plus the *.xml test files and an optional report file (see below)
Evaluation criteria (roughly)
Work considered as weak:
- Correct DTD that contains at least 5 elements that you invented yourself and a somewhat valid XML example file
Work considered as minimalistic:
- A correct small DTD that fits a purpose (including a valid XML example file)
Good work may include one or several of the following
- Inserted comments in the DTD and that explains the purpose of the DTD, the purpose of each element, authorship, date, etc.
- A DTD that is "interesting" and useful for a given domain, e.g. it should include more than just 5 elements, either yours or elements that were found in other DTDs.
- Use of attributes
- Use of entities
- A DTD that is more complex than a simple table (e.g. one that contains recursive elements)
- A good XML example that uses all elements more than once (i.e. you do information architecture testing)
Excellent work (A-) includes in addition
- A 1-2 page report that discusses your information architecture (the DTD structure) and results (what do you think of it, how could you improve it, etc.). You may include this report as "comment" in the DTD or a truly interesting and complex DTD.
Brilliant work (A)
- Does most of the above, i.e. produces a DTD that could be used for real plus a decent documentation.