I noticed an oddity when converting DTDs to Schemas using XMLSPY. I added an unparsed content entity (image) as described on pages 62 -65 of our XML book. I used the ENTITY/NOTATION/ELEMENT/ATTLIST sequence as described in figure 4.17 on page 65. The DTD validated just fine. When I converted it to Schema using XMLSPY, one of the resulting lines in the Schema was the following:
<xs:notation name="jpeg" system="image/jpeg"/>
For some reason, validating the Schema failed until I changed this to:
<xs:notation name="jpeg" system="image/jpeg"></xs:notation>
Has anyone else noticed anything similar?
O'Reilly's XML.com site has just published an article on "What is RSS?" by Mark Pilgrim. Well worth a read.
With all the blog activity here, it might be easy for people not to notice the recent comment on Jim Vitkus' RDF resources post by "burningbird."
While she will probably hate my drawing attention to her, you should know that "burningbird" is the alias for Shelley Powers, who is in the process of completing a book called Practical RDF for O'Reilly, and who's been intimately involved in the RDF standards process. Her weblog is a treat to read, too, with a lovely mixture of technical and personal material. And her comments sections tend to read like a "who's who" in the XML/RDF world, serving in many cases like an informal message board for XML experts.
Please post the URL for your personal blog as a comment to this entry; I'll build a list of class blogs for you to incorporate into your own blog (and will provide instructions for how to do so).
I've provided some clarification on the class vs personal blog issue in a response to Neeti's post "Random Question".
I wasn't sure where else to post this so everyone could see it. I have my own MovableType blog set up at: http://www.neets.com/xml/blog. I am wondering what the new requirements are:
As you can see, I'm not really sure why we switched over to this new system, and I just wanted further clarification on what's expected of us (for grade and general knowledge purposes).
This site is organized like an interview/FAQ about DTD's and Schema's. explains differences, similarities, when to use which, and what well-formed and valid are.
http://archive.devx.com/projectcool/developer/xmlz/xmlinact/extensibility.html
-- A simple difference between well-formed and valid
http://archive.devx.com/projectcool/developer/xmlz/xmlzquick/valid.html
--An explanation / example of Well-Formed XML and how to do it
http://archive.devx.com/projectcool/developer/xmlz/xmldoc/well.html
please note that these are just notes, to remind me of what to talk about.
This article gives reasons to use RDF. It also gives a short history of RDF. In addition, it explains why both users and publishers will want to use it.
This article gives a quick tutorial about RSS. It also answers some questions like, "But isn't it giving away my content?"
Here is a link to the proceedings from XML 2002, held just last week in Baltimore. There is some very interesting stuff here.
http://www.idealliance.org/papers/xml02/dx_xml02/index.html
Bob
Since XML has recently moved from document-center environment to
data-centric environment DTD's are of less importance when compared to Schema.The strength and weaknesses of DTD's and Schema is very well explained in the book"XML Schemas" by Chelsea Valentine, Lucinda Dykes and Ed Tittel.The book deals in a precise manner on DTD and Schema structures and functions with examples.
It deals with document -Focused versus Data-Focused and also has a very good argument on why Schema are better than DTD's.
This article talk about understanding the difference between DTDs and Schemas arguments with their pros and cons.
http://asia.cnet.com/builder/program/dev/0,39009360,39095541,00.htm
A very good article by Tim Bray at XML.com. It starts with simple question of what is RDF by giving examples and creating scenarios and then smoothly shift to the real world applications to RDF and metadata.
A simple RDF tutorial with an easy to follow code example.
Time for a new topic RSS. Talks about:
What is RSS?
Sample files
About this document
Required channel elements
Optional channel elements
Elements of
Comments
Extending RSS
Roadmap
A very good page for the RSS 2.0 specifications.
An online RSS Validator. Just type in the url and it will validate the page for you. Works pretty well and gives useful error messages.
A good aritcle that talk about the DTD and then Schema with code examples. In the end, compares the two technologies.
XML Schemas Data oriented vs. document oriented. A lenghty document that talks about the datatypes available, and Simple Type Definition Schema Components.
Here's an interesting piece of fantasy from Ftrain. It's written from the perspective of a business writer in 2009 when Google has far surpassed any other Internet company in profitability thanks to introducing semantic web services into their search technology. Some of it is amusing fiction, but for the most part, the author makes a lot of sense and has some great, realistic ideas. His descriptions of Google's services and growth through the fictional years are fascinating.
Want to watch a real-world W3C XML Schema being built? Stay tuned into this space to see it happen.
Draft Schema for X3D fields (the next generation of 3D on the Web, designed to be a replacement for VRML97)
Flash 5 introduced the built-in ability to parse XML documents. Flash MX has taken that support even further. Although it's still not quite perfect (for example, Flash does not support DTD's or XML Schemas out of the box), it's still a great way to start sharing information between Flash and non-flash web sites. Check out these links and tutorials for more information:
| Here is a link to a MS XML Validator in JavaScript and VBscript that uses IE 5.0+ for both MAC and PC. Four files are included validate_js.htm, validate_vbs.htm, WeatherReport.xml, and WeatherSchema.xml. Just load those files into a directory or on a website and point your IE 5.0+ browser to the validate_js.htm or validate_vbs.htm. You have the option to paste XML into an HTML form or enter a URL. Of course the browser must be able to locate the Schema for that XML file. http://msdn.microsoft.com/downloads/samples/internet/default.asp?url=/downloads/samples/internet/xml/xml_validator/default.asp |
| Here is a Microsoft link with lots of additional information on XML: MSDN Online - XML: http://msdn.microsoft.com/workshop/xml/index.asp |
The bottom of this slide has some examples of how XML might be used.
http://www.eccnet.com/papers/ssgr/slides/9.html
http://www.xfront.com/BestPracticesHomepage.html
This tutorial has some great info on writing schemas following certain guidelines and "best practices." I expecially liked the section on extending xml schemas to make up for certain constraints and inabilities.
http://www.xfront.com/ExtendingSchemas.html
These information is also available in PDF form.
http://builder.com.com/article.jhtml?id=u00320020418adm01.htm
Article briefly touches on the shortcomings of DTDs and discusses the basics of a newer, more powerful standard: XML Schemas. The article touches the possibilities of XML Schemas, and gives you a good grounding in the basics so that you can explore writing them on your own.
http://devcentral.iftech.com/articles/XML/intro_XML_schemas/default.php
This article discusses some problems with DTDs and says that XML Schema answers these problems. The site goes on to give you some good examples of some schemata.
http://www.fawcette.com/xmlmag/2002_04/online/online_eprods/xml_dwahlin04_22/default_pf.asp
The article says that the Document Type Definition (DTD) validation format has been used for many years to validate SGML and XML documents. But now, with the release of XML schemas, a more powerful mechanism for validating XML documents is now available. The site lists the concept pf Namespaces as being only availble to Schemas and this is a great advantage in prevening naming conflicts.
http://www.brics.dk/~amoeller/XML/schemas/dtd-problems.html
The title of this page is pretty self explanatory. This site lists some basic problems with DTDs such as there are no constraints on character data, too simple attribute value models, and the list goes on.
http://www.javacommerce.com/tutorial/xmlj/dtd.htm
This site describes what a DTD is and when to use an internal, external, or shared DTD.
Useful and helpful sub sites of this page include:
Elements - http://www.javacommerce.com/tutorial/xmlj/element.htm
Attributes - http://www.javacommerce.com/tutorial/xmlj/attribut.htm
Entities - http://www.javacommerce.com/tutorial/xmlj/entities.htm
http://www.textuality.com/xml/faq.html
This is an ugly site, but it has good content. This page will answer simple questions students have about XML. Terms like "well-formed" and "valid" are discussed on this page along with how HTML, XML, and SGML differ.
TopXML offers comprehensive XML solutions for your advanced XML application development needs. The site is complete with tutorials, quizzes, code, tools, training, discussions, and articles.
The Semantic Web Research Group is a group of people working with Semantic Web technology inside the MIND LAB University of Maryland Institute for Advanced Computer Studies. A collection of papers and downloadable tools can be found here to help you gain understanding of the Semantic Web.
http://www.informationweek.com/story/IWK20021010S0016
This article gives background information on the idea of Semantic Web. It then goes into how companies could clearly benefit from such a Web. It then goes on to describe reasons why companies such as Microsoft are playing the "wait-and-see" game. Mainly because significant obstacles have yet to be overcome before anyone can see the true benefits of the Semantic Web.
http://logicerror.com/semanticWeb-webdev
http://www.aaronsw.com/2002/6171talk/talk (also found here)
This site discusses how the Semantic Web is built with URIs, HTTP and RDF. It also lists some Semantic Web Services available already. Semantic Web Services are far from the end of the Semantic Web vision however. There's quite a bit of interesting research and development still going on, and they are covered in three major issues in this page: Aggregation, Security and Logic.
Castor XML is an XML databinding framework. Unlike the two main XML APIs, DOM (Document Object Model) and SAX (Simple API for XML) which deal with the structure of an XML document, Castor enables one to deal with the data defined in an XML document through an object model which represents that data.
Link to Castor Application
Castor is a cool tool to convert XML Schema into JAVA classes that contain ELEMENT and ATTRIBUTE SET and GET CLASS METHODS as well as marshall and unmarshall CLASS METHODS to convert of XML into JAVA Objects and back into XML.
This article cleared up a lot of confusion for me and really helped me to understand what DTDs and Schemas "do" and how they are different. My conclusion from the reading is that DTDs are a veteran technology that has been and is widely used yet Schemas seem like the next evolutionary step. While there are still many improvements out there, my guess is that they will be incorporated into future Schema versions rather than branching off into their own widely used versions.
Here is a pointer to some notes which I will use on 10 December for an introductory lecture about "W3C XML Schema". Please be aware that these notes are just an outline, a set of references, and reminders to me about what to cover.
You can find my lecture notes at: my IT Department website. There are a series of references in the text, where I have simply copied some "base materials" as a starting point.
This is just a slightly-less-than higher-level overview of some basic background material which you will need to understand in order to make sense out of the "alphabet soup" we are dealing with in this class. For a better understanding of these materials, you should also read through the referenced online articles.
This article discusses and gives real world examples on the uses of ontological hypertext. It also gives some nice example screenshots.
This article talks about the fact that XML and RDF are both integral to the functioning of the Semantic Web, yet they are both based on different models. This paper argues that the syntax and the semantics of the information must work together in order to achieve the most out of the Semantic Web.
Another VXML article, this time from webreview.com.
http://www.webreview.com/2001/02_09/developers/index01.shtml
This one gets more into the code writing of VXML, and shows examples of how some applications could be written using psuedo code.
http://www.w3.org/TR/xmlschema-0/
This is an excellent document created by the W3C for explaining XML Schema. It is more or less a specification written in 'plain' English with examples to illistrate how to use each part. It is not something to be read in passing, but if you work with XML Schema on a job or on co-op, you will find it very handy (trust me!).
-Josh
http://www.rpbourret.com/xml/XMLDatabaseProds.htm
This is a link to a list of XML Databases of all sorts. Ronald Bourret, the author of this site, seems to be quite an XML expert and has quite a few papers describing many different aspects of XML and how it relates to databases.
I have personally used eXist; its a free, open source, native XML database, and I can say its pretty cool to be able to throw an entire XML document in a database and then query it, parse it, etc and not have to do any 'real' work to get the data in and out.
-Josh
http://webreference.com/xml/column33/index.html
VoiceXML was designed to bring structure to audio-based systems, such as a teleprompt system, to allow users to do much more than go through a standard voice menu.
There's some interesting uses for such a technology. Not only would it be useful for ATM/bank transactions, but it could also be used to compose email over the phone, listen to your email, receive directions while in the car, or even browse a "voice web site" with VoiceXML.
It's an easy read, only 4 pages, but it gives you a little background on the technical side, as well as an overall explanation.
http://www-1.ibm.com/certify/certs/adcdxmlrt.shtml
IBM offers an XML certification that hopefully we should all be able to pass after we are done with this class =). I think it costs $150 and you can take it at the CESC on Scottsville Rd (1200-C).
On the page, they list the objectives, prerequisites and a sample test. Thought some people might be interested!
-Josh
http://java.sun.com/xml/jaxp/dist/1.1/docs/tutorial/index.html
This tutorial from sun is extremely helpful in showing you what features are already built into java to allow you to read and write standard XML files. I used this tutorial and it only took me about 30 minutes to have a working program that would read and write the schema I designed.
There is also a decent introduction to XML, but our books and other articles probably do a better job.
-Josh
Other excellent tutorials from w3schools.com that should help us at some time or other during this quarter:
I love w3schools.com. Their tutorials are very simple and easy to follow, and give plenty of good examples. Here are tutorials for DTDs & Schemas:
1) Learn DTD: http://www.w3schools.com/dtd/default.asp
2) Learn Schema: http://www.w3schools.com/schema/default.asp
PS- If you had a hard time understanding DTDs & Schemas from the assigned readings in the book, I think you'll find these tutorials a lot easier.
What's RDF good for? This article tells you. It also has plenty of links to other RSS/RDF resources. The author of this article also critiques Make your XML RDF-Friendly (an article JiaM already mentioned), pointing out what he thinks are valid points, and what aren't.
The Apache XML Project (http://xml.apache.org/) is attempting to standardise the use of XML, and provide "commercial-quality standards-based XML solutions that are developed in an open and cooperative fashion" (this sounds very much like many other Apache projects). Some of the sub-projects include: SOAP (Simple Object Access Protocol) and Cocoon (XML-based web publishing in Java).
This article talks about how Netscape uses RSS in a "multi-feed sidebar tab", and gives examples of how it is used.
The following information comes from a colleague on an XML interest distribution list here at Xerox. It has some very useful links.
~~~~~~~~~~~~
1. Think of this as lint for your XML Schema:
http://www.alphaworks.ibm.com/tech/xmlsqc
Reads Schemas XML Schemas and attempts to determine if they are 100% valid under all the various constraints that apply to schemas.
If it determines they are not valid, it attempts to explain the problem in language that a schema novice could probably understand.
2. Good, long XML Schema tutorial with an example for every problem:
It's a ZIP file with 3 PPT presentations and examples. Each page of the PPT addresses a specific scenario.
http://www.xfront.com/xml-schema.html
3. A shorter XML Schema tutorial with examples:
http://www.zvon.org/xxl/XMLSchemaTutorial/Output/series.html
4. Command-line validator in Python (single-click install in Windows as Linux)
Download from: http://www.ltg.ed.ac.uk/~ht/xsv-status.html
5. An online HTML form-based interface for validating schemas and instance documents using.NET framework.
Use online: http://www.gotdotnet.com/services/xsdvalidator/
Download at: (broken link; reporting to Microsoft).
6. Online Schema Inference
Creates an XML Schema definition language (XSD) schema from an XML instance document.
When provided with well-formed XML file, the utility generates an XSD that can be used to validate that XML file.
You can also refine the XSD generated by providing the tool more wellformed XML files.
Use online: http://www.gotdotnet.com/team/xmltools/xsdinference/
Download at: http://www.gotdotnet.com/team/xmltools/xsdinference/XSDInference.exe
Here is an RSS Channel Editor from Webreference.com: http://www.webreference.com/cgi-bin/perl/rssedit.pl. I think this is an extremely handy tool since you put information into the form, and it automatically builds the RSS for you... so you don't have to write the XML yourself. The only problem is, it still builds the RSS in version 0.91... I was wondering if anyone knows of a similar tool that builds the RSS in v 1.0?
What's cooler about this channel editor is that you can use the "Fetch" button to retrieve an existing RSS file and edit it in any way you please.
Here is a link of existing ontologies created by other people: http://www.daml.org/ontologies/ ... it's helpful to see how other people visualise various problems.
Mark Pilgrim discusses another method for providing metadata: XFML hierarchical faceted metadata exchange standard
XFML Core is an open XML format for publishing and sharing hierarchical faceted metadata and indexing efforts.
When entering URLs, consider simply embedding them in the text, rather than separating them out. For example...
You may want to look at the oXygen XML editing tool that we'll be using in class.
XML.com has an article on how to create a semantic web site with technology that exists today. They also show the kinds of relationship that begin to appear as more semantics are defined and added to documents.
It doesn't look like something you would want to implement right now, but it will be interesting to see how much the process changes as technology evolves.
I took some time this weekend to download and install a trial version of XMLSpy. (You get a 30 day trial for free.) It seems to do a good job of helping to create among other things, DTD's, XML Schemas, and sample XML code. Usability is not the best, but functionally it seems fairly robust.
www.xmlspy.com
Bob
This is a paper written by someone from MIT that looks in depth at the how XML will provide more of a semantic web between different domains. Seems to be very analytical...but maybe only because it is 3:30 in the morning...still pertinent to our studies, however...
This article is written by Tim Berners-Lee and Eric Miller and it explains the current initiatives that the World Wide Web Consortium (W3C) is working on to further advance the Semantic Web.
http://www.ercim.org/publication/Ercim_News/enw51/berners-lee.html
This article gives a good description of ways in which different database products are implementing XML in their databases. It brings up the point that since there are many different implementations, will there eventually be a standard way to do it?
http://archive.devx.com/xml/articles/dd_dbstandard/dbstandard-1.asp
Here's a page on the Semantic Web that I thought was pretty cool:
http://infomesh.net/2002/swhaiku/
Basically, it's an overview of the technologies that make up the Semantic Web, but written in the poetic form of Haiku. It's fun to read, and a little bit silly sometimes, but actually quite informative. Plus, I figure if you're working on one of the projects for class and start getting stressed out, you can read the page to yourself, enter into some sort of zen state, and then you'll be able to code again. :P
I was having really hard time understanding what an ontology really is. I read lots of article to get a feel of it and here is a list of good articles that I will recommend to everyone who still has no clue about the topic.
http://www-ksl.stanford.edu/kst/what-is-an-ontology.html (Ontologies for the beginners, really explain what it is.)
http://www.semanticweb.org/knowmarkup.html (Putting everything XML, Ontologies and Semantic web together.)
Here are some of the good websites that I found on the Semantic web.
http://www.w3.org/DesignIssues/Semantic.html (Really explain what is/What is not the semantic web)
http://infomesh.net/2001/swintro/ (A full overview of the semantic web - Entry level to the expert)
http://www.xml.com/pub/a/2000/11/01/semanticweb/ (Semantic web, really a future? )
5 students at the University of Amesterdam wrote an article that compared 5 different tools to assist users in the creation of Ontologies. These tools were evaluated based on the User Interface, Ontology-related features, and how easy it is for multiple people to collaborate on the ontology at the same time. They found that no tool is perfect (is it ever?), and recommend different programs based on the previous knowlege that the end user has with creating Ontologies.
Even though the article is a couple years old, it still gives you a couple of programs to start out with if you are looking for tools to create Ontologies, and it gives you an idea of items and features that you will probably want to evaluate if you find other tools that can be used as well.
http://www.semanticweb.org/knowmarkup.html
This site has a very interesting paper on markup languages and ontologies. It gives a very clear picture on XML,Sematic web and ontologies. Ontologies are explained with examples and in much detail in this paper.It is a very interesting site to understand the relationship between ontologies and semantic web.
http://infomesh.net/2001/swintro/#SWPower
The document on this site gives a very brief and good definition of semantic web and ontologies. It gives a detailed description of URI, RDF, shemata,inferences and DAML with examples. It clearly states the importance and power of semantic web in future. This is one of the useful document for beginner's and experts.
This is the section on the W3C's web site about the semantic web. It contains a plethora of links to current activities that are in development, various specifications (such as RDF and Web Ontology Language) and publications/presentations. A truly invaluable resource in my mind.
I was looking up RDF information on Google and retrieved this article from XML.com. It lists eight descriptive steps for "keeping RDF concerns in mind" when you create XML document types, thus raising the flexibility of your documents by making them ready for RDF applications.
This paper basically explains the process of the migration of data-intensive web sites into the Semantic Web by converting database schemas into ontologies.
The paper starts out by giving a quick overview of the different layers that are included in the Semantic Web. It then goes into the mapping architecture and process. It displays a good picture that graphically shows the steps in the migration process. Next, it goes into more detailed rules and logic that is involved with the process.
This paper was created for the Conference on Information and Knowledge Management in 2002.
This is a good site I found for a quick run down on FAQ's about XML. I think it's a good place for people who don't know much about XML to get some background information on it. And for those that are interested in learning about it, it may wet your appetite.
The following is a link to a project with the objective of developing "tools and methods for supporting knowledge management relying on sharable and reusable knowledge ontologies". It is managed by a consoritum of members with strong interest in a variety of aspects of Knowledge Engineering.
Bob