Jump to content

How would you tackle this challenge?


librarystudent

Recommended Posts

Hi all -- I'm hoping to pick your brains about a website management challenge that I suspect could be addressed elegantly using XML (bearing in mind that I'm a complete beginner and have only the barest grasp on XML and its applications). The challenge is this: A local historical society has published a large number of articles on its website related to local history. These hundreds of pages are heavily interlinked, with, for example, names within an article linked to articles about the person referenced. The webmaster is having trouble managing and recording what is linked to what or remembering all the pages that link to a given page. We would like to find a solution in which, instead of manually creating these links, names, places and events throughout the site are tagged as such (possibly with xml?) and then an application would automatically and dymnamically index and hyperlink these. So, for example, you have an article about Jamestown that mentions John Smith, and within the html for that page, you tag the name as <person>John Smith</person>. Then, as soon as the Jamestown page is published, John Smith gets added to your "People" index, and when you click on John Smith from that list, you can see that he is mentioned in the Jamestown article. Next, you upload a main article about John Smith. Automatically, the website finds that he has been mentioned on the Jamestown article, and turns his name into a hyperlink to the main article about John Smith. Perhaps until the main article is created, clicking his name would just bring up the list of other places where he is mentioned. Are there applications out there that already do this, or would it be simple to build? How would you go about doing it? Can you point me in the right direction for what keywords I should be looking for to find something like this? Thanks for any help! I am a graduate student studying library science and exploring this question for a project for a course on technology in the context of information services.

Link to comment
Share on other sites

You can do this with XML or a relational database like MySql. XML has some advantages. It's very portable. If tag names are chosen with care, the raw data can easily be read by humans. Corrupted documents are easily fixed in a plain text editor. An entire XML document can be sent from a server to a browser and manipulated on the browser. There are times when this is convenient. A database is generally preferred when you need to make complicated matches, or when you need to search through a lot of information very quickly. Browsers also get cranky when searching and XML document longer the 150K or so (that number increases as microprocessors get faster).

  • Like 1
Link to comment
Share on other sites

A major part of this will be finding the ideal structure for your XML documents before you convert everything to XML. That means learning what XML can do for you, and the various ways you can manipulate and search XML documents. If you plan to use PHP on your server, you'll need to learn the ins and outs of the DOMDocument object. XPath is also a good tool for searching. So my first advice is to just mess around with a variety of test documents until you're very comfortable with all this. As you learn more, ideas will probably just pop into your head.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...