Project 2 Wiki for CMIS 170...#
Project Description: #
| Wikis—Using JSPWiki or another Wiki tool of your choice, work with three–four other class members to create a collaborative document on an XML topic of your choice. Your team should determine the topic and ask your instructor for permission before proceeding. The document should be at least eight pages in length and should not be a repeat of information already found with this course. The URL to the completed collaborative document should be submitted for grading along with a description of the contributions of each team member. Also submit a screen shot that clearly demonstrates the final product of this option. Also submit a screen shot demonstrating your work. |
Project 2 Wiki Development Team:
XML Parser Programs#
![]() |
Visual Web Developer Express
is a freeware web development tool that allows developers to evaluate the web development and editing capabilities of the other Visual Studio 2008 editions at no charge. Its main function is to create ASP.NET
websites. It has a WYSIWYG interface, drag-and-drop user interface designer, enhanced HTML and code editors, a (limited) database explorer, support for other web technologies (e.g., CSS
, JavaScript
, XML
), and integrated, design-time validation for standards including XHTML 1.0/1.1 and CSS 2.1.@Wikipedia
Visual Web Developer is part of the Microsoft Visual Studio 2010 suite in which allows you to create projects in C, C++, C#, and SQL. Visual Web Developer is more useful for .NET projects but it widely supports CSS, HTML, XML, XSLT, etc. documents to create rich and detailed webpage projects. The best feature of Visual Web Developer is the IntelliSense support. With IntelliSense the project is less likely to have common syntax and spelling errors and provides suggestions of elements of code based on the project that is being created.
![]() |
XMLPad is an easy-to-use World Wide Web Consortium (W3C) compliant XML parser produced by WMHelp. This robust parser engine is capable of handling XML documents, XSD Schemas, XSL Stylesheets, Document Type Definitions (DTDs), and WSDL Documents along with Binding and Java documents. A free trial copy of XMLPad can be downloaded from CNET at: http://download.cnet.com/XmlPad/3000-7241_4-10252051.html
.
XMLPad’s editor uses colors to assist the author in identifying potential syntax issues along with helpful line numbers (optional) and a context-dependent source assistant wizard. It also provides various views (source, grid view, table view, and browser preview) of your documents, making long, cumbersome documents easily readable and verifiable.
To illustrate XMLPad’s ease of use, following is a step-by-step illustration of how to create an XML document with in-line DTD.
When XMLPad launches, it automatically provides you with a tip-of-the-day offering that enhances your general knowledge of XML and/or how to use the XMLPad parser. For XML veterans, this option can be toggled off.
Starting a new project:#
To start a new project simply click the new document button a select the type of document you want to create. In our case, we are creating an XML document with inline DTD.At this point, XMLPad opens the editor with the standard XML version and, in this case, DTD beginning and ending statements. The author then creates the document, using the helpful syntax features and context-dependent source assistant wizard.
Screenshot of XML Pad with the code goes here.
As you enter your code, the description section keeps tabs of any syntax errors that might occur from erroneous input. This is very helpful, allowing the author to troubleshoot as they enter the code. Finally, to validate the document, simply press F7.
Screenshot of XML Pad with a successfully validated document goes here.
![]() |
is an XML Editor that uses a synchronized table-tree-and-text display to show you both the hierarchical and the tabular nature of your XML data.
It automatically produces a tabular display of any selected tag by collecting repeating attribute and tag names and then arranging them into columns. The result is a clutter-free and informative tabular display.
The implementation is very efficient in memory and CPU resources so you can quickly navigate through very large XML files - up to hundreds of megabytes and even gigabytes of XML data on a standard personal computer.
More features include table sorting, syntax-highlighting editor, automatic indentation/pretty-printing of exiting code, drill down and as-you-type syntax checking.
- An integrated text editor provides you with direct access to your XML code.
- Using the navigational GUI , you can see both the hierarchical and the tabular nature of your XML.
- Color-coded text range highlighting shows you the relationship between the GUI and the actual XML
- As-you-type syntax check highlights the syntax error, if any, contained in your XML code.
- A rule-based indentation function transforms your code to a prettier, easier-to-read, form.
- Easily modify the XML using the grid view and text wizards.
- XML Marker is fast! It starts instantaneously and loads multi-megabyte XML files in seconds.
- Programmer's Notepad
![]() |
Programmer's Notepad (PN1) is an open-source text editor targeted at users who work with source code. It was released in 1998 by Echo Software (a trading name for Simon Steele). PN1's successor, Programmer's Notepad 2 (PN2), was released in 2002 and is now based on Scintilla. Possibly the most distinctive feature common to both versions is the combination tabbed document interface and multiple document interface called "Tabbed MDI" by the developer. The TDI is parent to the MDI.Both PN1 and PN2 feature syntax highlighting for many programming languages through plugins called "schemes." Scheme files can be added to support more languages. PN1 scheme files are not compatible with PN2 scheme files.PN1 included syntax highlighting for: C++, CSS, HTML, INI, Java, JavaScript, AutoLISP, Pascal, Perl, SQL, Visual Basic and XML.Other significant features common to both editor versions are "Scheme Tools" and "Text Clips." Scheme Tools allow the user to make highly customizable calls to other programs (such as a compiler) based on the scheme of the current file. Text Clips are code templates or values that can be inserted into the current document to speed up development time. @Wikipedia
- XMLBeans
XMLBeans is a tool that allows access to the full power of XML in a Java friendly way. The idea is to take advantage of the richness and features of XML and XML Schema and have these features mapped as naturally as possible to the equivalent Java language and typing constructs. XMLBeans uses XML Schema to compile Java interfaces and classes that can then be used to access and modify XML instance data. Using XMLBeans is similar to using any other Java interface/class: with methods like getFoo or setFoo, just as when working with Java. While a major use of XMLBeans is to access XML instance data with strongly typed Java classes there are also APIs that allow access to the full XML infoset (XMLBeans keeps XML Infoset fidelity) as well as to allow reflection into the XML schema itself through an XML Schema Object model.
Characteristics of XMLBeans
- XML Schema support.
- Large XML Infoset support.
Large XML Infoset support: When unmarshalling an XML instance the full XML infoset is kept and is available to the developer. This is critical because that subset of XML is not easily represented in Java. For example, order of the elements or comments might be needed in a particular application.@Wikipedia
XML Code#
(XML) is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards.
The design goals of XML emphasize simplicity, generality, and usability over the Internet. It is a textual data format with strong support via Unicode for the languages of the world. Although the design of XML focuses on documents, it is widely used for the representation of arbitrary data structures, for example in web services.
Many application programming interfaces (APIs) have been developed that software developers use to process XML data, and several schema systems exist to aid in the definition of XML-based languages.
This is an example of an XML document...
<?xml version = "1.0" encoding = "utf-8"?>
<motorcycle>
<manufacturer>
Harley Davidson
</manufacturer>
<type>
<model>
1200 S Sportster Sport
</model>
<year>
2003
</year>
</type>
<cost>
$10,500
</cost>
<horsepower>
61 hp (45.5 kW) @ 5500 rpm
</horsepower>
<description>
The 2003 1200 Sportster sport was designed to commemorate the 100th
anniversary of Harley Davidson motorcycles. It was the last year the
Sportster's engine was mounted directly to the frame, allowing the
rider to reminisce about the classic days of motorcycle touring as
the engine speaks to the rider through vibrations felt throughout the
motorcycle. Truly a classic, the 1200 Sportster Sport is sure to be a
crowd pleaser for years to come.
</description>
</motorcycle>
(DTDs) provide programmers with a way of verifying that an XML document conforms to a predetermined structure. They are able to the check sequence, content (albeit with less rigidity than XSL or XSLT), and structure of a document. DTDs are able to hand both element and attribute portions of XML. The primary advantage the DTD construct has over XSL is it's implementation of the ENTITY functionality. The ENTITY declaration is essential because it allows the DTD to validate special characters within the XML document. XSL does not have this ability.
<?xml version="1.0"?>
<!DOCTYPE motorcycle [
<!ELEMENT motorcycle (manufacturer, type, cost, horsepower, description)>
<!ELEMENT manufacturer (#PCDATA)>
<!ELEMENT type (model, year)>
<!ELEMENT model (#PCDATA)>
<!ELEMENT year (#PCDATA)>
<!ELEMENT cost (#PCDATA)>
<!ELEMENT horsepower (#PCDATA)>
<!ELEMENT description (#PCDATA)>
]>
<!--This is the XML data for a motorcycle -->
<motorcycle>
<manufacturer>
Harley Davidson
</manufacturer>
<type>
<model>
1200 S Sportster Sport
</model>
<year>
2003
</year>
</type>
<cost>
$10,500
</cost>
<horsepower>
61 hp (45.5 kW) @ 5500 rpm
</horsepower>
<description>
The 2003 1200 Sportster sport was designed to commemorate the 100th
anniversary of Harley Davidson motorcycles. It was the last year the
Sportster's engine was mounted directly to the frame, allowing the
rider to reminisce about the classic days of motorcycle touring as
the engine speaks to the rider through vibrations felt throughout the
motorcycle. Truly a classic, the 1200 Sportster Sport is sure to be a
crowd pleaser for years to come.
</description>
</motorcycle>
Extensible Stylesheet Language Transformations (XSLT) is a declarative, XML-based language used for the transformation of XML documents. The original document is not changed; rather, a new document is created based on the content of an existing one. The new document may be serialized (output) by the processor in standard XML syntax or in another format, such as HTML or plain text. XSLT is most often used to convert data between different XML schemas or to convert XML data into web pages or PDF documents. XSLT is the most important part of XSL because it can transform an XML document into another XML document or any other type of document (i.e. HTML, PDF, or basic ASCII text). XSLT uses XPath to navigate through the XML document and through a series of element names it can show specific information in XML document tags. |
|
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<html>
<head>
<h1>
<xsl:for-each select="/motorcycle">
<xsl:value-of select="manufacturer"/>
</xsl:for-each>
</h1>
</head>
<body>
<b>
<xsl:for-each select="/motorcycle/type">
<xsl:value-of select="."/>
</xsl:for-each>
</b>
<p>
<xsl:for-each select="/motorcycle/cost">
<xsl:value-of select="."/>
</xsl:for-each>
<xsl:for-each select="/motorcycle/horsepower">
<xsl:value-of select="."/>
</xsl:for-each>
</p>
<i>
<xsl:for-each select="/motorcycle/description">
<xsl:value-of select="."/>
</xsl:for-each>
</i>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Additions to the XML document must be made in order for the XSLT document to become attached to the XML doc.
<?xml version = "1.0" encoding = "utf-8"?> <?xml-stylesheet type="text/xsl" href="Harley.xslt"?> <motorcycle> .... </motorcycle>
![]() |
(CSS) is a style sheet language used to describe the presentation semantics (the look and formatting) of a document written in a markup language. Its most common application is to style web pages written in HTML and XHTML, but the language can also be applied to any kind of XML document, including plain XML, SVG and XUL.
CSS is designed primarily to enable the separation of
CSS specifies a priority scheme to determine which style rules apply if more than one rule matches against a particular element. In this so-called cascade, priorities or weights are calculated and assigned to rules, so that the results are predictable.
The CSS specifications are maintained by the World Wide Web Consortium (W3C). Internet media type (MIME type) text/css is registered for use with CSS by RFC. @Wikipedia
As you can see below the webpage with the CSS code has added color and style to the document allowing for paragraph formatting along side separate text colors between the heading and the rest of the document. CSS adds to the document what XSLT cannot.
body
{
font-family: Verdana, Sans-Serif;
background-color: Gray;
margin: 10px;
text-align: center;
color: White;
}
h1
{
font-size:150%;
color: Black;
margin: 10px;
}
Note the changes to the XSLT document so the CSS document can be attached.
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<html>
<head>
<h1>
<xsl:for-each select="/motorcycle">
<xsl:value-of select="manufacturer"/>
<link rel="stylesheet" href="Harley.css"/>
</xsl:for-each>
</h1>
</html>
</xsl:template>
</xsl:stylesheet>
Add new attachment
List of attachments
| Kind | Attachment Name | Size | Version | Date Modified | Author | Change note |
|---|---|---|---|---|---|---|
png |
220px-XSLT_en_svg.png | 27.9 kB | 1 | 05-May-2011 21:05 | Ty | |
jpg |
CSS-Style.JPG | 61.6 kB | 1 | 08-May-2011 02:06 | Ty | |
jpg |
ProgrammersNotepad-XMLcode.jpg | 151.2 kB | 1 | 07-May-2011 23:52 | Ty | |
png |
VWD2010Start.png | 225.0 kB | 1 | 05-May-2011 20:18 | Ty | VED2010Start |
jpg |
VisWebDev-Schema.jpg | 279.1 kB | 1 | 07-May-2011 23:53 | Ty | |
jpg |
VisWebDevCssCode.jpg | 147.1 kB | 1 | 07-May-2011 23:52 | Ty | |
jpg |
VisWebDevXMLcode.jpg | 292.6 kB | 1 | 07-May-2011 23:53 | Ty | |
jpg |
VisWebDevXSLTcode.jpg | 197.9 kB | 1 | 07-May-2011 23:54 | Ty | |
docx |
XML schema.docx | 17.9 kB | 1 | 11-May-2011 06:04 | 71.191.41.213 | |
jpg |
XMLPad-2.JPG | 64.2 kB | 1 | 07-May-2011 16:29 | Ty | |
jpg |
XMLPad-Main.JPG | 64.2 kB | 1 | 07-May-2011 16:29 | Ty | |
jpg |
XSLT-Style.JPG | 69.9 kB | 1 | 08-May-2011 02:06 | Ty |






