XML Programming Using C# and.net
|
|
|
- Malcolm Ellis
- 9 years ago
- Views:
Transcription
1 XML Programming Using C# and.net Student Guide Revision 4.0 Object Innovations Course 4125
2 XML Programming Using C# and.net Rev. 4.0 Student Guide Information in this document is subject to change without notice. Companies, names and data used in examples herein are fictitious unless otherwise noted. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Object Innovations. Product and company names mentioned herein are the trademarks or registered trademarks of their respective owners. Authors: Robert J. Oberg, E. J. Jones, Will Provost Special Thanks: Gordon Hester is a registered trademark of Object Innovations. Copyright 2010 Object Innovations Enterprises, LLC. All rights reserved. Object Innovations Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC ii
3 Table of Contents (Overview) Chapter 1 Chapter 2 Chapter 3 Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 Appendix A Appendix B.NET Framework XML Overview Reading XML Streams in.net Validating XML Streams Writing XML Streams in.net The Document Object Model in.net Manipulating XML Information with the DOM XML Serialization XML and ADO.NET XPath Introduction to XSLT LINQ to XML Zenith Courseware Case Study Learning Resources Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC iii
4 Prerequisites and Pacing C# programming experience is required for this course. Some experience with XML is also assumed. The student should understand basic XML grammar, and be able to read and write well-formed XML documents. The concept of a valid XML document, as opposed to a merely well-formed one, should be understood, via some experience with either DTDs or XML Schema. This course contains a great deal of material. Please give feedback to the instructor at the beginning of the course on the topics of most interest to you, and during the course about how the pacing is working for you. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC iv
5 Labs The course relies on hands-on experience in various topics and techniques. Application code for this course is all in XmlCs under the top-level directory, which by default is C:\OIC. Where possible, starter code is provided to take work off your hands that would be largely irrelevant to the topic of the lab; thus you can be as productive as possible in the time allotted and focus on the topic at hand. The labs are installed by running the simple selfextractor: Install_XmlCs_40.exe This can be found in the file 4125_Lab_40.zip, which is available on Object Innovations lab download page: Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC v
6 Directory Structure for the Course The course has a combination of directories under the course root directory C:\OIC\XmlCs. Under this root, the chapter directories Chap01, Chap02, and so on, hold code examples, including all the starting, intermediate and answer versions of all the labs. The Labs directory holds one subdirectory for each lab in the course, named for the lab number. The Demos directory is provided for performing in-class demonstrations led by the instructor. The CaseStudy directory contains files pertaining to the Zenith Courseware case study. Data files install to the directory C:\OIC\Data. In some examples, data files are contained in the source code directory. In this case, the files are configured in Visual Studio as resources that copy automatically to the output directory when the project is built. The C:\OIC\Tools directory contains the executables of XML tools and demonstration programs that are provided with the course. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC vi
7 Table of Contents (Detailed) Chapter 1.NET Framework XML Overview... 1 XML... 3 Parsing XML... 4 Using XML in.net Applications... 5 The.NET XML Classes... 7 Parsing Techniques... 9.NET Parsing Techniques SimpleXML Programming Example XmlReader Parsing Example XmlWriter Example NET DOM Parser Features XmlDocument Example Other XML Features in.net LINQ to XML XML and the Web Internet Explorer and XML Summary Chapter 2 Reading XML Streams in.net XmlReader and XmlReaderSettings XmlReader Properties Accessing Nodes Reading Attributes MoveToNextAttribute XmlReader Example XmlReader.Create() XmlReader Demo Catching the Exceptions Lab 2A Moving Around the Document MoveReader Example Handling Whitespace Parsing a Specific Document Parsing the Top-Level Elements Subroutines Looping for Children Text via Brute Force ReadElementString() Zenith Courseware Case Study Lab 2B Handling Namespaces Namespace Examples Data Access Application Front-ends Lab 2C Summary Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC vii
8 Chapter 3 Validating XML Streams Valid XML The Trouble with Well-Formed XML Formal Type Information DTDs and XML Schema Example DTD for a Stereo System XML Schema for a Stereo System DTD and XML Schema Comparison Invalid XML A Validation Tool Example Validating Stereo Systems Creating Schema with Visual Studio Editing Schema Lab 3A Validating XML Streams Validation Settings Validation Flags NET Validation Code Validation Events Schema Object Model Validate Schema Tool Validation Code Lab 3B Summary Chapter 4 Writing XML Streams in.net Writing XML in.net The XmlWriter Class WriteMovie Example WriteMovie Output Using XmlWriter The State of Writer Lab 4A Writing Elements Writing Nested Elements Writing Attributes Lab 4B Summary Chapter 5 The Document Object Model in.net The Document Object Model (DOM) Origins of the DOM DOM2 Structure DOM Tree Model Tree Model Example NET DOM Classes The XmlDocument Class The XmlNode Class Basic Parsing Node Types Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC viii
9 The XmlNode Class Node Types Basic Parsing Basic Parsing Example Lab 5A The XmlElement Class The XmlAttribute Class The XmlAttributeCollection Class The XmlText Class Lab 5B The XmlNodeList Class Using a foreach Loop ShowTags Example Another Attribute Example Validation Lab 5C Summary Chapter 6 Manipulating XML Information with the DOM Modifying Documents Build A DOM Tree Demo The XmlNode Class Modifications Legal and Illegal Modifications Managing Children Cloning Modifying Elements Splitting Text and Normalizing Modifying Attributes Lab Summary Chapter 7 XML Serialization Serialization in.net Serialization Demonstration CLR Serialization Circular List and XML Serialization XML Serialization Demo XML Serialization Infrastructure What Will Not Be Serialized XML Schema XSD Tool A Sample Schema A More Complex Schema A Car Dealership Deserializing According to a Schema Sample Program Type Infidelity Example Serializing an Array Example Serializing an ArrayList Customizing XML Serialization Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC ix
10 Lab Summary Chapter 8 XML and ADO.NET ADO.NET ADO.NET Architecture NET Data Providers DataSet Architecture Why DataSet? DataSet Components DataAdapter DataSet Example Program Data Access Class Retrieving the Data Filling a DataSet Accessing a DataSet ADO.NET and XML Rendering XML from a DataSet XmlWriteMode Demo: Writing XML Data Reading XML into a DataSet Demo: Reading XML Data DataSets and XML Schema Demo: Writing XML Schema CourseSchema.xsd Reading XML Schema XmlReadMode Demo: Reading XML Schema Writing Data as Attributes XML Data in DataTables Typed DataSets Table Adapter Demo: Creating a Typed DataSet Using Visual Studio Demo: Creating a Typed DataSet Using a Typed DataSet Synchronizing DataSets and XML Using XmlDataDocument Windows Client Code Web Client Code Lab Summary Chapter 9 XPath Addressing XML Content XPath The XSLT/XPath Console Using the XPath Console The XML InfoSet XPath Tree Structure Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC x
11 Example A Simple Tree Document Order XPath Expressions Context Context Example XPath Grammar, From the Top Decomposing an Expression Location Paths Axis, Node Test, and Predicate Example Finding the Bank Balance The Axis The Node Test The Predicate Abbreviations Using Abbreviations XPath Functions XPath and.net XPath and XmlNode Example SelectNodes() XPathNavigator Evaluate Method XPathNodeIterator XPathNavigator Example Lab 9A XPathNavigator Edit Capability XPathNavigator Example Another XPathNavigator Example Lab 9B Summary Chapter 10 Introduction to XSLT The Strange Ancestry of XSLT Input and Output Rule-Based Transformation Stylesheets and Transforms Applying a Transform to a Document Referencing a Stylesheet Templates XSLT Tools and Setup Using the XSLT Console Transform Examples HTML Transform XML Transform XSLT and XPath Some More Examples Style Sheets in the Browser A Style Sheet for Browser Display Browser Display Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC xi
12 XSLT in the.net Framework New XSLT Processor Sample Program Lab Summary Chapter 11 LINQ to XML Language Integrated Query (LINQ) LINQ Queries LINQ Query Example LINQ Data Stores LINQ to Objects LINQ to Objects Examples LINQ to XML Creating an XML Document Parsing an XML Document XElement XML Axes Basic LINQ Query Operators Obtaining a Data Source Simple LINQ to XML Example Books.xml Extended LINQ Query Example Filtering Ordering Aggregation Obtaining Lists and Arrays Deferred Execution Modifying a Data Source Performing Inserts via LINQ to XML Performing Deletes via LINQ to XML Performing Updates via LINQ to XML Transformations Using LINQ to XML A Sorted Summary A Transformation Lab Summary Appendix A Zenith Courseware Case Study Appendix B Learning Resources Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC xii
13 XmlCs Chapter 1 Chapter 1.NET Framework XML Overview Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 1
14 XmlCs Chapter 1.NET Framework XML Overview Objectives After completing this unit you will be able to: Describe the role of parsing in XML applications. Identify the main parsing APIs in.net, and describe the major differences between them. Describe the major.net Framework XML classes. Describe XML serialization and its role throughout the Framework. Discuss the close relationship between XML and ADO.NET. Describe XPath and XSLT and the.net Framework support for these XML technologies. Explain the use of Language Integrated Query (LINQ) in working with XML data sources. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 2
15 XmlCs Chapter 1 XML The extensible Markup Language, or XML, has become a very popular choice for a wide array of software applications: Traditional web applications enhanced with XML as an HTML transformation source XML as a portable format for data exchange and archiving Business-to-business messaging and Web Services Many more It is surprising when learning the language how much can be accomplished using XML and related standards and generic, pre-built tools, without any traditional application code. XML Stylesheet Language for Transformations, or XSLT, enables moderately sophisticated document transformation. Modern web browsers can present XML documents to users with the aid of XSLT, XSL, or Cascading Style Sheets (CSS), even including hyperlinks with the help of XLink. Detailed document structure and content validation can be effected using XML Schema and a validating parser. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 3
16 XmlCs Chapter 1 Parsing XML At some point, however, the information in XML documents must be available to application code. At its most basic, the process by which an application reads the information in an XML document is known as parsing the document. Clearly, the literal meaning of the term refers to the gritty work of reading the document as a stream of characters, and interpreting that stream according to XML grammar. Stated another way, the parsing task might be seen as that of abstracting the document content often called its information set or infoset from its lexical representation in XML proper. This information set can then be read by application code, using any number of possible models. Document validation can also be performed as part of parsing. All these jobs are quite complex, but, thanks to the design of XML, also generic. Thus individual business applications do not have to write their own parsing code, instead leveraging prebuilt packages that offer APIs to their parsing capabilities. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 4
17 XmlCs Chapter 1 Using XML in.net Applications Microsoft is a big proponent of XML and is a huge participant in the W3C. The.NET Framework has many areas which are enabled for XML processing. Database queries can be returned in an XML format with XML Schema definitions. Many configuration files in.net projects are stored in XML format. Web Services uses the XML based SOAP protocol to remotely call objects on a server. The Universal Description, Discovery, and Integration (UDDI) service uses XML to request and return data to clients. XML support is built into the.net Framework The many different types of.net applications utilize services provided in the Framework. The XML services we are going to look at include.net classes that interact with the CLR. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 5
18 XmlCs Chapter 1 The Core.NET XML Namespaces The System.Xml namespace and its subsidiary namespaces encapsulate the XML functionality in the.net Framework. They contain the classes that parse, validate, traverse, and create XML streams. The namespace classes support the following W3C XML standards. XML 1.0 and XML namespaces XPath DOM level 1& 2 core XML schemas XSLT SOAP (object serialization) The System.Xml namespace contains the essential and major classes for reading and writing. The System.Xml namespace contains five subsidiary namespaces. System.Xml.Schema XML classes that provide support for XML Schemas definition language (XSD) schemas. System.Xml.Serialization classes that are used to serialize objects into XML streams. System.Xml.XPath contains the XPath parser and evaluation engine for querying XML data streams. System.Xml.Xsl these classes support the Extensible Stylesheet Transformation (XSLT). System.Xml.Linq classes supporting LINQ to XML Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 6
19 XmlCs Chapter 1 The.NET XML Classes The parent class for the nodes found in an XML data stream is called XmlNode. Depending upon the specific type of node the XmlNode class has six derived classes. They are: System.Xml.XmlLinkedNode System.Xml.XmlAttribute System.Xml.XmlDocument System.Xml.XmlDocumentFragment System.Xml.XmlEntity System.Xml.XmlNotation Each of the derived classes contains the properties and methods that are suitable for that type of node. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 7
20 XmlCs Chapter 1.NET XML Classes and Interfaces In addition to specifying class hierarchy, the classes have three interfaces in common: ICloneable Xml nodes can be copied to create a new instance. IEnumerable Xml nodes support the foreach loop for C#. IXPathNavigable gives the ability to retrieve data from the node using XPath queries. We will use all of these when we start coding. Parsers in the System.Xml namespace are found in several classes. XmlReader this class is a fast non-cached forward-only parser. XmlReaderSettings this class can specify features for an XmlReader object, including validating an XML input using DTDs or W3C s XML Schema definition language (XSD). XmlWriter this class provides the methods to assist you in writing syntactically correct XML. It can write to a file, stream, console, and other output devices. Options can be specified using an XmlWriterSettings object. XmlDocument this class implements the W3C Core Document Object Model Level 1 and Level 2. It stores the XML tree in memory and allows you traverse and modify the nodes. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 8
21 XmlCs Chapter 1 Parsing Techniques There are two traditional methods for parsing XML streams, and each has advantages and disadvantages. The Document Object Model (DOM). The Simple API for XML (SAX). This API is not supported by.net and will not be discussed further. The Document Object Model has the following characteristics: The DOM is a W3C standard caching parser and is widely adopted in many programming environments. Good if you need to move forward and backward in the stream and if you need to modify the node values. Bad choice if you re forward scanning only and not modifying the document. The DOM keeps the entire parsed tree in-memory thereby consuming computer resources. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 9
22 XmlCs Chapter 1.NET Parsing Techniques.NET provides three different techniques for parsing: XML readers and writers XML document editing using the DOM XML document editing using XPathNavigator XML readers provide a more effective read-only, non-cached, forward-only parser. This pull-model parser allows the application to control parser by specifying which nodes are of interest. Saves processing time because only requested nodes are sent to the application. XmlWriter supports generating a stream of XML content. The XmlDocument class implements DOM Level 2 functionality. XPathNavigator provides an editable, cursor-style API for reading and editing XML documents. In.NET 1.1, this class was read-only, but write capability is now available with.net 2.0. This model is typically more useable than the DOM approach. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 10
23 XmlCs Chapter 1 SimpleXML Programming Example The example program SimpleXML in the Chap01 folder illustrates a number of features of XML programming using.net. using System; using System.Xml; namespace SimpleXML { class Program { const string xmlpath static void Main(string[] args) { WriteCars(); ReadCars(); ParseWithTheDom(); } static void WriteCars() {... } static void ReadCars() {... } static void ParseWithTheDom() {... } } } The constant string xmlpath specifies the XML file. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 11
24 XmlCs Chapter 1 XmlReader Parsing Example The following code example in the ReadCars() method shows parsing using the XmlReader class. XmlReader tr = XmlReader.Create(xmlPath); Console.WriteLine("XmlReader Demo"); Console.WriteLine("==========================="); while (tr.read()) { if (tr.nodetype == XmlNodeType.Element) { Console.Write("Node Name:" + tr.name); Console.WriteLine(" Attribute Count:" + tr.attributecount.tostring()); } } tr.close(); The output of the code is as follows XmlReader Demo =========================== Node Name:Dealership Attribute Count:1 Node Name:Car Attribute Count:0 Node Name:Make Attribute Count:0 Node Name:Model Attribute Count:0 Node Name:Year Attribute Count:0 Node Name:VIN Attribute Count:0 Node Name:Color Attribute Count:0 Node Name:Price Attribute Count:0 Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 12
25 XmlCs Chapter 1 XmlWriter Example In this example we use XmlWriter to create the XML file that we read in earlier code. This code is in the WriteCars() method. XmlWriterSettings settings = new XmlWriterSettings(); settings.indent = true; XmlWriter tw = XmlWriter.Create(xmlPath, settings); //Opens the document tw.writestartdocument(); //Write comments tw.writecomment("a lot of cars!"); //Write first element tw.writestartelement("dealership"); tw.writeattributestring("name", "Cars R Us"); tw.writestartelement("car"); //Write the Make of the Car element tw.writestartelement("make"); tw.writestring("amc"); tw.writeendelement(); //Write one more element tw.writestartelement("model"); tw.writestring("pacer"); tw.writeendelement(); //... Shortened for brevity tw.writestartelement("price"); tw.writestring(" "); tw.writeendelement(); tw.writeendelement(); tw.writeendelement(); tw.writeenddocument(); tw.close(); // end of car // end of dealership // end of document // close writer Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 13
26 XmlCs Chapter 1 XmlWriter Example (Cont d) This example creates the NewCarLot.xml file in the SimpleXML directory. <?xml version="1.0"?> <!--A lot of cars!--> <Dealership name="cars R Us"> <Car> <Make>AMC</Make> <Model>Pacer</Model> <Year>1977</Year> <VIN>CZ7821</VIN> <Color>Blue</Color> <Price> </Price> </Car> </Dealership> Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 14
27 XmlCs Chapter 1.NET DOM Parser Features The XmlReader and XmlWriter classes aren t resource demanding but they lack the ability to move around or modify the XML stream. The XmlDocument class is resource intensive because it stores the parsed XML internally offering you the advantages to navigate, modify, or create the data. The downside is the resources used on the machine will be proportional to the size of the entire XML stream you ve read or are creating. The DOM is a language-independent W3C specification; Microsoft s XmlDocument class implementation has many of the same property and methods (with some extensions). The XmlNode class, like the DOM Node interface, specifies the basic functionality for the different types of nodes in an XML stream. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 15
28 XmlCs Chapter 1 XmlDocument Example The following code, found in the method ParseWithTheDOM(), reads the XML file created in the previous example. This code uses the DOM parser with the XmlNode class. XmlDocument doc = new XmlDocument(); doc.load(xmlpath); XmlNode root = doc.documentelement; XmlNodeList list = root.selectnodes("//*"); foreach ( XmlNode elem in list ) { Console.WriteLine( elem.name); } The output is: Dealership Car Make Model Year VIN Color Price Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 16
29 XmlCs Chapter 1 Other XML Features in.net XML serialization converts the state of an object into an XML byte stream suitable for persisting or transporting..net supports XML serialization in the namespace System.Xml.XmlSerialization. The foundation of XML serialization is XML Schema, which is a W3C Recommendation. XML Schema is a complete type system..net supports reading and writing XML Schema in the namespace System.Xml.Schema. ADO.NET is tightly coupled to XML. You can exchange both data and schema information between XML and DataSets. Support is provided in the System.Data namespace. Classes such as DataSet have explicit methods for working with XML data. XPath provides a mechanism to query for content in an XML document..net support is provided in System.Xml.XPath. XSLT enables transformation of XML into text, HTML or other XML..NET support is provided in System.Xml.Xsl. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 17
30 XmlCs Chapter 1 LINQ to XML Language-Integrated Query (LINQ) provides an intuitive syntax for querying a variety of data sources using C# and Visual Basic. The query syntax is part of the programming language, giving the advantages of strong typing and tool support such as IntelliSense in Visual Studio. LINQ provides a consistent API that can be used with many different kinds of data, including.net collections, SQL Server databases and XML documents. LINQ to XML is a programming model for manipulating XML documents using.net languages. It is similar in goals to the Document Object Model (DOM) but lighter weight and easier to work with. With respect to query capability, the programming model is consistent with the model for other LINQ data sources. The namespace is System.Xml.Linq. Important classes include XDocument, XElement and XAttribute. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 18
31 XmlCs Chapter 1 XML and the Web A major motivation for the development of XML was to support Web applications. Both XML and HTML are based on SGML, which was quite complex. HTML is quite simple, but is only concerned with presentation. Also, although similar to XML, it does not conform to precise XML syntax. XML is also simple and is concerned with the information content of a document without regard to presentation. XHTML is a markup language understood by modern browsers that is HTML with precise XML syntax. A robust way to manage complex information in a Web site is through XML, with transformation to HTML as needed for presentation. XSLT is an XML technology that supports transformation of XML to HTML and other formats through a stylesheet. There are many other ways to integrate XML with a Web site, including its use in data management, configuration, and Web services. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 19
32 XmlCs Chapter 1 Internet Explorer and XML The basic Microsoft Web tool is the Internet Explorer Web browser. It will display well-formed XML in a collapsible tree view. Through a style sheet it can format XML. The example files are courses.xml and courses-w.xml in the Data folder. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 20
33 XmlCs Chapter 1 Summary XML parsing is the cornerstone of.net Framework application development. Many higher-level application capabilities can make use of XML enabled features: Cached/Non-cached, push model, syntax/validating type parsers available XML object serialization XML messaging, for instance using SOAP Also, there are a number of XML-related specifications that define their own languages, or really their own XML vocabularies examples are XSLT and XML Schema. Each of these allows some information to be defined in an XML document: an XSLT style sheet or transform, an XML Schema. Because these each leverage basic XML, the style sheets and schema can themselves be parsed and manipulated, just like any other XML document. XML is tightly integrated with ADO.NET. Language-Integrated Query (LINQ) provides an intuitive syntax for querying a variety of data sources, including XML documents, from a programming language. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 21
34 XmlCs Chapter 1 Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 22
35 XmlCs Chapter 6 Chapter 6 Manipulating XML Information with the DOM Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 135
36 XmlCs Chapter 6 Manipulating XML Information with the DOM Objectives After completing this unit you will be able to: Build entirely new documents using the DOM, and populate them with desired information to create a new XML document. Add, remove, and replace nodes as children of other nodes in a DOM tree. Clone nodes and subtrees for processing or document modification. Change element and attribute values. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 136
37 XmlCs Chapter 6 Modifying Documents In the previous chapter we focused exclusively on using the XmlDocument as a parser. The XmlDocument is actually a read/write class. Nodes of all types have both accessors and mutators, and can be modified, added and removed as children of other nodes. In some cases content can be modified; some node types have certain immutable properties that can only be changed by removing the original node with a partially-modified copy. To create a new XML document, simply create an instance of XmlDocument and start adding element, attribute or other node(s). The DOM tree will be maintained in memory and can be written to a file using the save method. In this chapter we ll learn how to use the DOM classes to modify existing XML documents, and to create new ones. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 137
38 XmlCs Chapter 6 Build A DOM Tree Demo Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 138
39 XmlCs Chapter 6 Build A DOM Tree Demo In this demo you will create and navigate a DOM tree. The source code is in the DOMWriterDemo folder in the chapter directory. 1. Locate the executable file DOMWriterDemo.exe in the folder \OIC\Tools. Run this program, which will create a file temp.xml, which you can view with Internet Explorer. 2. Once the program starts, press the CreateDocument button and you should see the following XML in Internet Explorer. Refresh after each operation. Current node is root. 3. Now type in BillingAddress in the Element or Attribute Name text box and then press the CreateElement button. Notice your Current Node is now BillingAddress. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 139
40 XmlCs Chapter 6 Build A DOM Tree Demo 4. Now type in Name in the Element or Attribute Name text box and then press the CreateElement button. Your Current Node is now Name. 5. Next we create a Text node. Type in your name into the Element, Attribute, or Comment Value text box and then press the CreateText button. The current node is still Name so press the CloseElement button, and the current node moves up the tree to BillingAddress. 6. Next add the Address node and the format attribute. In adding an attribute you should specify both the name and value. 7. Add the rest of the nodes to the tree using the buttons. The Current Node will always indicate which element you are going to add a child or attribute to. Closing the element always moves you up one level. You can also press the Up button to move up one level. 8. Experiment as you like. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 140
41 XmlCs Chapter 6 Modifying Documents The XmlDocument class is key to this capability, since it has all the factory methods for various node types (the important ones are listed as follows) : XmlElement CreateElement(string name); XmlAttribute CreateAttribute(string name); XmlText CreateTextNode(string text); XmlComment CreateComment(string data); void Save(destination); // string, Stream, TextWriter, XmlWriter Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 141
42 XmlCs Chapter 6 The XmlNode Class Modifications Here is yet another slice of the larger XmlNode class, this one including the main mutators: XmlNode InsertAfter(XmlNode newchild, XmlNode refchild); XmlNode InsertBefore(XmlNode newchild, XmlNode refchild); XmlNode ReplaceChild(XmlNode newchild, XmlNode oldchild); XmlNode RemoveChild(XmlNode oldchild); XmlNode AppendChild(XmlNode newchild); XmlNode CloneNode(bool deep); XmlDocument OwnerDocument {get;} string Value {get; set;} string OuterXml {get;} string InnerXml {get; set;} Much of this interface is concerned with managing the child list: insert, append, remove, and replace operations. Note also that from any node one can get the owning document. This is important when creating new content. The Xml properties will give you a string that represents the XML content of the node and its subtree. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 142
43 XmlCs Chapter 6 Legal and Illegal Modifications Obviously, not all combinations and orderings of nodes as parents and children are legal: an attempt to add an element to a comment, for instance, must fail. The XmlException class encapsulates exceptional conditions in DOM programming, many of which have to do with making changes to existing nodes. But be aware that some exceptions may be fit into another exception class. The code below throws an InvalidOperationException. try { XmlDocument doc = new XmlDocument(); XmlNode commentnode, elementnode; commentnode = doc.createcomment("my comment"); elementnode = doc.createelement("myelement"); doc.appendchild(commentnode); doc.firstchild.appendchild(elementnode); } catch (XmlException e) { Console.WriteLine(e.GetType() + " " + e.message); } catch (Exception e) { Console.WriteLine(e.GetType() + " " + e.message); } See IllegalDOM in the chapter directory. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 143
44 XmlCs Chapter 6 Managing Children Use of the XmlNode class to add or remove child elements is simple enough. Additions can be managed using either AppendChild(), InsertAfter(), or InsertBefore(). The choice between them is really a question of convenience in a particular algorithm. Each will assure uniqueness in the child list by first removing the node if it is already in the list somewhere. To simply remove a child, call RemoveChild(). The ReplaceChild() method has the effect of an InsertBefore() combined with a RemoveChild(). There is a subtle difference having to do with error recovery. ReplaceChild() is typically implemented to assure atomicity and consistency of the operation: if the new child node is rejected for any reason, the entire replacement will fail. Sometimes this is the desired behavior, and sometimes not. Choose your approach to node replacement carefully in case of unexpected failure: should the existing node be removed regardless, or should it stay if the new node is unacceptable? Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 144
45 XmlCs Chapter 6 Cloning The XmlNode class also provides the CloneNode() method. The DOM recommendation calls it a generic copy constructor, imprecisely echoing C++ terminology. The method returns a new node of the same type and content as the source on which the method was called. The lone parameter, deep, affects the resulting node by directing the clone operation to make either a shallow or deep copy. If this parameter is true, the node and all its descendant nodes will be cloned into a new subtree. If it is false, only the target node will be cloned; it will have no children. Shallow-copied element clones will have the attributes of the source element, but none of the true child nodes. Especially when used to make deep copies, the CloneNode() method can save quite a lot of code! Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 145
46 XmlCs Chapter 6 Modifying Elements There are several possible changes to an element. The tag name is immutable; to change it you must replace the element with a new one. The character content of an element is captured in a separate text node as a child of the element. Thus, changing this means setting a new value on the child element. The XmlCharacterData class includes a number of mutators that allow the text to be modified: string Data {get; set;} void AppendData(string strdata); void InsertData(int offset, string strdata); void DeleteData(int offset, int count); void ReplaceData(int offset, int count, string strdata); Alternatively, a new text node can be emplaced or replaced. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 146
47 XmlCs Chapter 6 Splitting Text and Normalizing The XmlText class has the method SplitText(), which breaks the node in two at a given offset. The target of the call retains the text information up to the offset. A new XmlText node is created which holds the information after the offset, and this node is returned by the method. The new node is automatically inserted as a child of the target node s parent, right after the target node in the child list. Separately, the XmlNode class offers the Normalize() method. This affects the entire subtree. It rearranges text nodes as necessary to assure that there are no empty text nodes and no consecutive text nodes. Most parsers will create a document in normal form, but after modifications, especially using SplitText(), it is possible that normalization will be necessary to support further processing by certain algorithms. Once normal form is broken, text-processing algorithms must take care to accumulate text information from adjacent text nodes. If an applications need to gather contiguous character data to get the whole picture of an element s content it should call this method. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 147
48 XmlCs Chapter 6 Modifying Attributes Many of the XmlElement class mutators concern management of the element s attributes. void SetAttribute(string name, string value); void RemoveAttribute(string name); XmlAttribute SetAttributeNode( XmlAttribute newattr); XmlAttribute RemoveAttributeNode( XmlAttribute oldattr); SetAttribute() will assure that the desired attribute has the given value. If such an attribute already exists, the value is overwritten, and if not it is created. RemoveAttribute() acts pretty much as advertised. Note that one can choose to work directly with attribute values or to derive, create, manipulate, and use XmlAttribute-type nodes to capture the appropriate information. XmlAttribute objects can be unwieldy by comparison, but have some advantages as separate node objects, such as being collectable and cloneable. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 148
49 XmlCs Chapter 6 Lab 6 Shipping Information for Zenith Courseware In this lab you will continue the PrintShipDOM program from the previous chapter to create an XML file that specifies shipping and handling charges for each destination. Very simple algorithms are used for determining shipping and handling costs. You are supplied a file Ship.cs that encapsulates these algorithms. Detailed instructions are contained in the Lab 6 write-up in the Lab Manual. Suggested time: 60 minutes Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 149
50 XmlCs Chapter 6 Summary We ve seen the DOM from both sides, now. The DOM offers quite a lot as a parsing technology. Now we ve learned how to use it to modify existing documents, and even to create new documents from scratch. With the DOM API, application can be written to read and write XML documents of any complexity. As of DOM Level 2, and looking only at the Core recommendation, we can see a few shortcomings. There is no support yet for XML Schema in the DOM specification. In many ways DOM parsing is independent of type information, by design. However, it would be very helpful to capture metadata for application use, and certainly for the parser to validate against an associated schema before returning the DOM tree. Microsoft s DOM implementation does provide extensions that support XML Schema and DTD. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 150
51 XmlCs Chapter 10 Chapter 10 Introduction to XSLT Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 283
52 XmlCs Chapter 10 Introduction to XSLT Objectives After completing this unit you will be able to: Describe the origins of XSLT. Distinguish XSLT as a rule-based language from procedural languages used in application programming. Apply an XSLT transform to an XML source document to produce a transformed document. Use classes in the System.Xml.Xsl namespace to perform XSLT transforms programmatically. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 284
53 XmlCs Chapter 10 The Strange Ancestry of XSLT Enamored of XML as they are, the W3C has over the last few years set out to adopt or replace almost every relevant web technology for use with XML. For styling purposes, the extensible Stylesheet Language, or XSL, was conceived. The XSL framework included its own transformation language, XSL Transformations, or XSLT. The more general applicability of XSLT quickly became clear, and it was identified as a distinct language and specification. XSL proper is now focused on styling and formatting it is also known as XSLFO, or XSL with Formatting Objects. Oddly, the descendant technology, XSLT, is an integral part of the XSL process, which calls for a transformation from the source document to a tree of formatting objects. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 285
54 XmlCs Chapter 10 Input and Output Transformation is fundamentally a process of taking some set of inputs and producing some set of outputs. In XSLT, the input set is defined by a single source XML document. The output is a stream of characters generated by the transformation. When one turns to XSLT for the first time, one often has a specific problem in mind, which usually involves extracting some source document content and reshaping it: filtering, sorting, reformatting, etc. To do whatever you want with XSLT requires a thorough knowledge of the subject, which is beyond the scope of this chapter. We ll introduce the subject in this chapter, by examining the transformation process, the rules by which templates are matched to source content, and the basic means of generating output. Most of our output will be static that is, written into the transform, rather than extracted from the source document. This will enable us to develop a good sense of control over the process and the look of the output, with few distractions. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 286
55 XmlCs Chapter 10 Rule-Based Transformation XSLT is a rule-based language. If XSLT were a procedural language, then a transformation would be described as a process, with steps in a certain order: get this element, read this value, write that attribute, etc. As a rule-based language, XSLT instead defines a transformation as a series of rules, each of which dictates what output to produce based on certain types of input, if found. The primary means of expressing a rule in XSLT is the template. To apply a transformation is to look for elements in the source document that match the templates, and then to apply the output directives in that template based on the matching element and its content. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 287
56 XmlCs Chapter 10 Stylesheets and Transforms Thanks to the XSL legacy, XSLT uses elements defined in the XSL/Transform namespace. To differentiate between styling and true transformation tasks, an element has been added to the namespace. A stylesheet is a tree with xsl:stylesheet at its root; a transform is a tree with xsl:transform at its root. Most often this element is also the XML document element. This distinction is informal and is applied to taste ; formally, the two elements are identical, and either will be accepted by a transformation engine (or web browser). In either case, this topmost element must: Define the version of XSLT in use we re covering version 1.0 here. Import the XSL namespace. <xsl:transform version="1.0" xmlns:xsl=" > From here, there is a subset of all XSLT elements whose members are defined as top-level elements. Only instances of these types can appear as children of the stylesheet or transform element. Such elements can occur nowhere else. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 288
57 XmlCs Chapter 10 Applying a Transform to a Document Generally, XSLT fosters a decoupling of XML source document from the transformed output, and also from the transform document as an.xsl file. Commonly, a transformation engine is applied to the source and the transform, and generates the output text or document. This is often done using a command-line tool, as part of a script for instance. The process can also be brought into the realm of application programming and be hosted by a software component that coordinates one or more transformations. Source.xml XSLT Processor Result.xml Transform.xsl Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 289
58 XmlCs Chapter 10 Referencing a Stylesheet It is possible for an XML document to directly reference an external.xsl file, as a stylesheet. This is most useful when XSLT is being used to generate HTML for presentation. The browser would not otherwise know that a transformation (stylesheet) were to be applied. Source.xml HTML Browser HTML Presentation Stylesheet.xsl A transform can also be embedded in an XML document, so the xsl:transform element is no longer the root element, but a child of some other element. This is, again, most useful for presentation, and takes the progression to its extreme by packing the XML content and presentation logic all in one document. The document still makes a stylesheet reference, but to a part of its own tree, rather than to an external file. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 290
59 XmlCs Chapter 10 Templates A template is defined using the top-level element xsl:template. To function as a rule, a template must define two things: What elements to use as source material this is defined in the match attribute What to produce based on these elements this is the template content itself, some combination of XSLT elements, other child elements, and text The match attribute has an XPath expression as its value. Remember that XSLT is not a procedural language, so it would be wrong to say that this XPath expression is then applied to the source document. This would imply that each template was applied in sequence, and that each got its opportunity to find relevant source elements and to produce output from them. In fact, there is an algorithm in play, but it is iterating first over the document tree, and then testing each template s select expression against a single element at a time. The difference may seem academic, but the result is not only a different ordering of output, but in some cases different content entirely. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 291
60 XmlCs Chapter 10 XSLT Tools and Setup For our work with XSLT and XPath we will continue to use the XSLT/XPath console. This is a simple tabbed GUI that can Load, edit and save source XML documents Load, edit and save XSLT transform/stylesheet documents Apply the XSLT transformations to the source, and show the results as raw text, HTML, or indented XML Save the results to a file It can also evaluate XPath expressions we used this feature in the previous chapter. The tool is installed in C:\OIC\Tools. Your instructor may have chosen a different location. The name of the executable is xtcon.exe. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 292
61 XmlCs Chapter 10 Using the XSLT Console Start the application by double-clicking on xtcon.exe. The first three tabs are organized according to the usual XSLT workflow: Source, Transform, Result. In the Source tab, you can type the name or relative path of an XML file to load, or you may use the... button to navigate with a File Open dialog box. Click the Load button to load the document into view. You can edit the document in place, if you like. Save changes by clicking Save. You don t need to save in order to test your changes. Or, you can edit in a more full-featured text editor, and the console will pick up changes to the document. Check the Auto-update box. Be careful not to leave this checked when editing in place! Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 293
62 XmlCs Chapter 10 Transform Tab The Transform tab allows you to manage an XSLT transform or stylesheet. It works the same way the Source tab works. Click Load to load the document. Edit in place, save changes, and/or auto-update to pick up changes made in an external editor. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 294
63 XmlCs Chapter 10 Result Tab The Result tab shows the results of the transform. Clicking the Result tab triggers the transformation, so it is performed just in time to view it. You may use the radio buttons to view the result in either text or HTML. The HTML view shows the result as it would be seen in a browser. You can save the results to a file in order to make them available to other tools, such as HTML browsers, XML parsers, or additional XSLT transformations. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 295
64 XmlCs Chapter 10 Transform Examples In the Chemistry folder in the Data directory, there are a number of different transforms that operate on the document PeriodicTable.xml. This document expresses a great deal of information about the periodic table of chemical elements: Load this document as the source. It will take a while. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 296
65 XmlCs Chapter 10 HTML Transform First we ll look at a transform that produces a bulleted list of elements. In the Transform tab, load HTML.xsl: It runs a loop over the first 54 elements in the table. It sorts by atomic number, not in document order as the text transform did. For each one, it produces an item in a numbered list. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 297
66 XmlCs Chapter 10 HTML Transform (Cont d) Run this transform and view it in the HTML: You can see the raw text by clicking the TXT radio button: Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 298
67 XmlCs Chapter 10 XML Transform The XML.xsl transform filters the source document to the first 54 elements, and sorts them as the HTML one does. However this one creates a deep copy of each element, producing a smaller, but similar, XML document: <xsl:transform version="1.0" xmlns:xsl=" > <xsl:output method="xml" indent="yes" /> <xsl:template match="/" > <PERIODIC_TABLE> <xsl:apply-templates select="//atom[atomic_number < 55]" > <xsl:sort select="atomic_number" order="ascending" data-type="number" /> </xsl:apply-templates> </PERIODIC_TABLE> </xsl:template> <xsl:template match="atom" > <xsl:copy-of select="." /> </xsl:template> </xsl:transform> Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 299
68 XmlCs Chapter 10 XML Transform (Cont d) Run this transform and view the result as text: Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 300
69 XmlCs Chapter 10 XSLT and XPath An in-depth study of XSLT relies heavily on XPath. XSLT relies heavily on XPath to address XML content in the source document. XPath expressions are evaluated to decide what XSLT templates match to what source nodes. Then, to produce certain values to the output stream, an XSLT template uses still more XPath. So it is impossible to do anything interesting with XSLT without getting a firm grasp of XPath. So you need what we learned in the previous chapter! Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 301
70 XmlCs Chapter 10 Some More Examples Some additional examples of transformations are provided in the Chemistry folder. Summary.xsl MeltBoil.xsl Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 302
71 XmlCs Chapter 10 Style Sheets in the Browser You can invoke an XSLT transformation automatically in the Web browser by means of a processing instruction in the XML file. For an example, see Data\Courses\courses-w.xml. <?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/xsl" href="courses.xsl"?> <courses> <course> <coursenumber>411</coursenumber> <title>c# Essentials</title> <price>100.00</price> </course> <course> <coursenumber>412</coursenumber> <title>.net Fundamentals Using C#</title> <price>150.00</price> </course> <course> <coursenumber>414</coursenumber> <title>xml Programming Using C#</title> <price>200.00</price> </course> </courses> Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 303
72 XmlCs Chapter 10 A Style Sheet for Browser Display Here is the style sheet. See Data\Courses\courses.xsl. Note the use of the <xsl:stylesheet> tag, which is a synonym for <xsl:transform>. In this context, one would normally use the style sheet nomenclature. <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl=" > <xsl:template match="/"> <HTML> <BODY> <H1>Zenith Courses</H1> <TABLE border="1"> <xsl:apply-templates select="courses/course"> </xsl:apply-templates> </TABLE> </BODY> </HTML> </xsl:template>... Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 304
73 XmlCs Chapter 10 A Style Sheet for Browser Display... <xsl:template match="course"> <TR> <xsl:apply-templates select="coursenumber" /> <xsl:apply-templates select="title" /> <xsl:apply-templates select="price" /> </TR> </xsl:template> <xsl:template match="coursenumber"> <TD > <xsl:value-of select="." /> </TD> </xsl:template> <xsl:template match="title"> <TD > <xsl:value-of select="."/> </TD> </xsl:template> <xsl:template match="price"> <TD > <xsl:value-of select="."/> </TD> </xsl:template> </xsl:stylesheet> Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 305
74 XmlCs Chapter 10 Browser Display To see the result of applying the style sheet in the browser, double click on the XML file courses-w.xml. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 306
75 XmlCs Chapter 10 XSLT in the.net Framework The.NET Framework implements an XSLT processor in the XslCompiledTransform class of the System.Xml.Xsl namespace. The overall transformation architecture in.net is shown in the diagram. XPath is used to select portions of an XML document during the transformation. The output of the transformation is written to a Stream, a TextWriter, or an XmlWriter. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 307
76 XmlCs Chapter 10 New XSLT Processor.NET 2.0 introduced a new XSLT processor. The class XslCompiledTransform is new, replacing XslTransform, which is now obsolete. The Transform() method of the new class is much faster than the corresponding method of the old class. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 308
77 XmlCs Chapter 10 Sample Program The program XTran uses a stylesheet to transform an XML document. File names are entered at the command line. string source, sheet; if (args.length!= 2) { Console.WriteLine("Requires two arguments:"); Console.WriteLine(" XSL styleheet"); Console.WriteLine(" XML document"); return; } sheet = args[0]; source = args[1]; The transformation is then done, with the output written to the file output.txt. try { XPathDocument doc = new XPathDocument(source); XslCompiledTransform xt = new XslCompiledTransform(); xt.load(sheet); StreamWriter wr = new StreamWriter("output.txt"); xt.transform(doc, null, wr); } catch (Exception ex) { Console.WriteLine(ex.Message); } Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 309
78 XmlCs Chapter 10 Lab 10 A Simplified XSLT Console In this lab you will use.net Framework XML classes to implement a simplified version of the XSLT console tool. Like the full-blown tool we ve used in this chapter, your program will have a tabbed user interface. It will simply allow you to load XML and XSL files from the current directory and perform the transform. You are provided with a starting UI. Detailed instructions are contained in the Lab 10 write-up in the Lab Manual. Suggested time: 30 minutes Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 310
79 XmlCs Chapter 10 Summary XSLT was originally designed to support XSL. It was never intended to be a general-purpose transformations language, but it has become the defacto standard nonetheless. And it is an excellent solution! It is however an unusual language, and particularly tricky for programmers of structured and objectoriented languages to learn. It is first and foremost based on matching rules. Although it has procedural aspects, it is not a programming language, and it is a mistake to approach it as such. The.NET Framework provides an XSLT processor in the XslCompiledTransform class in the System.Xml.Xsl namespace. The new XSLT processor in.net 2.0 is much faster than the one in the previous.net Framework. Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 311
80 XmlCs Chapter 10 Rev. 4.0 Copyright 2010 Object Innovations Enterprises, LLC 312
Introduction to XML Applications
EMC White Paper Introduction to XML Applications Umair Nauman Abstract: This document provides an overview of XML Applications. This is not a comprehensive guide to XML Applications and is intended for
XML Processing and Web Services. Chapter 17
XML Processing and Web Services Chapter 17 Textbook to be published by Pearson Ed 2015 in early Pearson 2014 Fundamentals of http://www.funwebdev.com Web Development Objectives 1 XML Overview 2 XML Processing
SQL Server 2005 Reporting Services (SSRS)
SQL Server 2005 Reporting Services (SSRS) Author: Alex Payne and Brian Welcker Published: May 2005 Summary: SQL Server 2005 Reporting Services is a key component of SQL Server 2005. Reporting Services
Visual Basic. murach's TRAINING & REFERENCE
TRAINING & REFERENCE murach's Visual Basic 2008 Anne Boehm lbm Mike Murach & Associates, Inc. H 1-800-221-5528 (559) 440-9071 Fax: (559) 440-0963 [email protected] www.murach.com Contents Introduction
Agents and Web Services
Agents and Web Services ------SENG609.22 Tutorial 1 Dong Liu Abstract: The basics of web services are reviewed in this tutorial. Agents are compared to web services in many aspects, and the impacts of
Data Integration through XML/XSLT. Presenter: Xin Gu
Data Integration through XML/XSLT Presenter: Xin Gu q7.jar op.xsl goalmodel.q7 goalmodel.xml q7.xsl help, hurt GUI +, -, ++, -- goalmodel.op.xml merge.xsl goalmodel.input.xml profile.xml Goal model configurator
LabVIEW Internet Toolkit User Guide
LabVIEW Internet Toolkit User Guide Version 6.0 Contents The LabVIEW Internet Toolkit provides you with the ability to incorporate Internet capabilities into VIs. You can use LabVIEW to work with XML documents,
INTERNET PROGRAMMING AND DEVELOPMENT AEC LEA.BN Course Descriptions & Outcome Competency
INTERNET PROGRAMMING AND DEVELOPMENT AEC LEA.BN Course Descriptions & Outcome Competency 1. 420-PA3-AB Introduction to Computers, the Internet, and the Web This course is an introduction to the computer,
Qlik REST Connector Installation and User Guide
Qlik REST Connector Installation and User Guide Qlik REST Connector Version 1.0 Newton, Massachusetts, November 2015 Authored by QlikTech International AB Copyright QlikTech International AB 2015, All
Microsoft Office SharePoint Designer 2007
Microsoft Office SharePoint Designer 2007 February 2006 Table of Contents Overview of Microsoft Office SharePoint Designer 2007... 1 Build SharePoint Applications Quickly, Without Writing Server Code...
Overview of DatadiagramML
Overview of DatadiagramML Microsoft Corporation March 2004 Applies to: Microsoft Office Visio 2003 Summary: This document describes the elements in the DatadiagramML Schema that are important to document
Authoring for System Center 2012 Operations Manager
Authoring for System Center 2012 Operations Manager Microsoft Corporation Published: November 1, 2013 Authors Byron Ricks Applies To System Center 2012 Operations Manager System Center 2012 Service Pack
XSLT Mapping in SAP PI 7.1
Applies to: SAP NetWeaver Process Integration 7.1 (SAP PI 7.1) Summary This document explains about using XSLT mapping in SAP Process Integration for converting a simple input to a relatively complex output.
IBM Unica emessage Version 8 Release 6 February 13, 2015. User's Guide
IBM Unica emessage Version 8 Release 6 February 13, 2015 User's Guide Note Before using this information and the product it supports, read the information in Notices on page 403. This edition applies to
Unified XML/relational storage March 2005. The IBM approach to unified XML/relational databases
March 2005 The IBM approach to unified XML/relational databases Page 2 Contents 2 What is native XML storage? 3 What options are available today? 3 Shred 5 CLOB 5 BLOB (pseudo native) 6 True native 7 The
Bitrix Site Manager 4.1. User Guide
Bitrix Site Manager 4.1 User Guide 2 Contents REGISTRATION AND AUTHORISATION...3 SITE SECTIONS...5 Creating a section...6 Changing the section properties...8 SITE PAGES...9 Creating a page...10 Editing
by LindaMay Patterson PartnerWorld for Developers, AS/400 January 2000
Home Products Consulting Industries News About IBM by LindaMay Patterson PartnerWorld for Developers, AS/400 January 2000 Copyright IBM Corporation, 1999. All Rights Reserved. All trademarks or registered
StreamServe Persuasion SP4 StreamServe Connect for SAP - Business Processes
StreamServe Persuasion SP4 StreamServe Connect for SAP - Business Processes User Guide Rev A StreamServe Persuasion SP4StreamServe Connect for SAP - Business Processes User Guide Rev A SAP, mysap.com,
Sage CRM Connector Tool White Paper
White Paper Document Number: PD521-01-1_0-WP Orbis Software Limited 2010 Table of Contents ABOUT THE SAGE CRM CONNECTOR TOOL... 1 INTRODUCTION... 2 System Requirements... 2 Hardware... 2 Software... 2
Developers Guide. Designs and Layouts HOW TO IMPLEMENT WEBSITE DESIGNS IN DYNAMICWEB. Version: 1.3 2013.10.04 English
Developers Guide Designs and Layouts HOW TO IMPLEMENT WEBSITE DESIGNS IN DYNAMICWEB Version: 1.3 2013.10.04 English Designs and Layouts, How to implement website designs in Dynamicweb LEGAL INFORMATION
WIRIS quizzes web services Getting started with PHP and Java
WIRIS quizzes web services Getting started with PHP and Java Document Release: 1.3 2011 march, Maths for More www.wiris.com Summary This document provides client examples for PHP and Java. Contents WIRIS
Terms and Definitions for CMS Administrators, Architects, and Developers
Sitecore CMS 6 Glossary Rev. 081028 Sitecore CMS 6 Glossary Terms and Definitions for CMS Administrators, Architects, and Developers Table of Contents Chapter 1 Introduction... 3 1.1 Glossary... 4 Page
Content Management Implementation Guide 5.3 SP1
SDL Tridion R5 Content Management Implementation Guide 5.3 SP1 Read this document to implement and learn about the following Content Manager features: Publications Blueprint Publication structure Users
Chapter 19: XML. Working with XML. About XML
504 Chapter 19: XML Adobe InDesign CS3 is one of many applications that can produce and use XML. After you tag content in an InDesign file, you save and export the file as XML so that it can be repurposed
Data Binding with WPF: Binding to XML
Data Binding with WPF: Binding to XML Excerpted from WPF in Action with Visual Studio 2008 EARLY ACCESS EDITION Arlen Feldman and Maxx Daymon MEAP Release: July 2007 Softbound print: October 2008 (est.),
Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner
1 vk» Java 7 Recipes (,\['«** - < g!p#«josh Juneau Carl Dea Freddy Guime John O'Conner Contents J Contents at a Glance About the Authors About the Technical Reviewers Acknowledgments Introduction iv xvi
Cache Configuration Reference
Sitecore CMS 6.2 Cache Configuration Reference Rev: 2009-11-20 Sitecore CMS 6.2 Cache Configuration Reference Tips and Techniques for Administrators and Developers Table of Contents Chapter 1 Introduction...
XML: extensible Markup Language. Anabel Fraga
XML: extensible Markup Language Anabel Fraga Table of Contents Historic Introduction XML vs. HTML XML Characteristics HTML Document XML Document XML General Rules Well Formed and Valid Documents Elements
IBM Operational Decision Manager Version 8 Release 5. Getting Started with Business Rules
IBM Operational Decision Manager Version 8 Release 5 Getting Started with Business Rules Note Before using this information and the product it supports, read the information in Notices on page 43. This
Ultimus and Microsoft Active Directory
Ultimus and Microsoft Active Directory May 2004 Ultimus, Incorporated 15200 Weston Parkway, Suite 106 Cary, North Carolina 27513 Phone: (919) 678-0900 Fax: (919) 678-0901 E-mail: [email protected]
Extending XSLT with Java and C#
Extending XSLT with Java and C# The world is not perfect. If it were, all data you have to process would be in XML and the only transformation language you would have to learn would XSLT. Because the world
Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT
Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT AGENDA 1. Introduction to Web Applications and ASP.net 1.1 History of Web Development 1.2 Basic ASP.net processing (ASP
Hypercosm. Studio. www.hypercosm.com
Hypercosm Studio www.hypercosm.com Hypercosm Studio Guide 3 Revision: November 2005 Copyright 2005 Hypercosm LLC All rights reserved. Hypercosm, OMAR, Hypercosm 3D Player, and Hypercosm Studio are trademarks
Logi Ad Hoc Reporting System Administration Guide
Logi Ad Hoc Reporting System Administration Guide Version 11.2 Last Updated: March 2014 Page 2 Table of Contents INTRODUCTION... 4 Target Audience... 4 Application Architecture... 5 Document Overview...
WebSphere Business Monitor
WebSphere Business Monitor Monitor models 2010 IBM Corporation This presentation should provide an overview of monitor models in WebSphere Business Monitor. WBPM_Monitor_MonitorModels.ppt Page 1 of 25
Web Services Technologies
Web Services Technologies XML and SOAP WSDL and UDDI Version 16 1 Web Services Technologies WSTech-2 A collection of XML technology standards that work together to provide Web Services capabilities We
Smooks Dev Tools Reference Guide. Version: 1.1.0.GA
Smooks Dev Tools Reference Guide Version: 1.1.0.GA Smooks Dev Tools Reference Guide 1. Introduction... 1 1.1. Key Features of Smooks Tools... 1 1.2. What is Smooks?... 1 1.3. What is Smooks Tools?... 2
How To Use Query Console
Query Console User Guide 1 MarkLogic 8 February, 2015 Last Revised: 8.0-1, February, 2015 Copyright 2015 MarkLogic Corporation. All rights reserved. Table of Contents Table of Contents Query Console User
10CS73:Web Programming
10CS73:Web Programming Question Bank Fundamentals of Web: 1.What is WWW? 2. What are domain names? Explain domain name conversion with diagram 3.What are the difference between web browser and web server
Richmond SupportDesk Web Reports Module For Richmond SupportDesk v6.72. User Guide
Richmond SupportDesk Web Reports Module For Richmond SupportDesk v6.72 User Guide Contents 1 Introduction... 4 2 Requirements... 5 3 Important Note for Customers Upgrading... 5 4 Installing the Web Reports
Exchanger XML Editor - Canonicalization and XML Digital Signatures
Exchanger XML Editor - Canonicalization and XML Digital Signatures Copyright 2005 Cladonia Ltd Table of Contents XML Canonicalization... 2 Inclusive Canonicalization... 2 Inclusive Canonicalization Example...
Advantage of Jquery: T his file is downloaded from
What is JQuery JQuery is lightweight, client side JavaScript library file that supports all browsers. JQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling,
Xtreeme Search Engine Studio Help. 2007 Xtreeme
Xtreeme Search Engine Studio Help 2007 Xtreeme I Search Engine Studio Help Table of Contents Part I Introduction 2 Part II Requirements 4 Part III Features 7 Part IV Quick Start Tutorials 9 1 Steps to
Firewall Builder Architecture Overview
Firewall Builder Architecture Overview Vadim Zaliva Vadim Kurland Abstract This document gives brief, high level overview of existing Firewall Builder architecture.
The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.
Content Introduction... 2 Data Access Server Control Panel... 2 Running the Sample Client Applications... 4 Sample Applications Code... 7 Server Side Objects... 8 Sample Usage of Server Side Objects...
ibolt V3.2 Release Notes
ibolt V3.2 Release Notes Welcome to ibolt V3.2, which has been designed to deliver an easy-touse, flexible, and cost-effective business integration solution. This document highlights the new and enhanced
SAS Business Data Network 3.1
SAS Business Data Network 3.1 User s Guide SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2014. SAS Business Data Network 3.1: User's Guide. Cary,
Rational Reporting. Module 3: IBM Rational Insight and IBM Cognos Data Manager
Rational Reporting Module 3: IBM Rational Insight and IBM Cognos Data Manager 1 Copyright IBM Corporation 2012 What s next? Module 1: RRDI and IBM Rational Insight Introduction Module 2: IBM Rational Insight
CST6445: Web Services Development with Java and XML Lesson 1 Introduction To Web Services 1995 2008 Skilltop Technology Limited. All rights reserved.
CST6445: Web Services Development with Java and XML Lesson 1 Introduction To Web Services 1995 2008 Skilltop Technology Limited. All rights reserved. Opening Night Course Overview Perspective Business
SAS IT Resource Management 3.2
SAS IT Resource Management 3.2 Reporting Guide Second Edition SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc 2011. SAS IT Resource Management 3.2:
v4.8 Getting Started Guide: Using SpatialWare with MapInfo Professional for Microsoft SQL Server
v4.8 Getting Started Guide: Using SpatialWare with MapInfo Professional for Microsoft SQL Server Information in this document is subject to change without notice and does not represent a commitment on
Data Movement Modeling PowerDesigner 16.1
Data Movement Modeling PowerDesigner 16.1 Windows DOCUMENT ID: DC00120-01-1610-01 LAST REVISED: December 2011 Copyright 2011 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software
14.1. bs^ir^qfkd=obcib`qflk= Ñçê=emI=rkfuI=~åÇ=léÉåsjp=eçëíë
14.1 bs^ir^qfkd=obcib`qflk= Ñçê=emI=rkfuI=~åÇ=léÉåsjp=eçëíë bî~äì~íáåö=oéñäéåíáçå=ñçê=emi=rkfui=~åç=lééåsjp=eçëíë This guide walks you quickly through key Reflection features. It covers: Getting Connected
Concrete uses of XML in software development and data analysis.
Concrete uses of XML in software development and data analysis. S. Patton LBNL, Berkeley, CA 94720, USA XML is now becoming an industry standard for data description and exchange. Despite this there are
Social Relationship Analysis with Data Mining
Social Relationship Analysis with Data Mining John C. Hancock Microsoft Corporation www.johnchancock.net November 2005 Abstract: The data mining algorithms in Microsoft SQL Server 2005 can be used as a
An XML Based Data Exchange Model for Power System Studies
ARI The Bulletin of the Istanbul Technical University VOLUME 54, NUMBER 2 Communicated by Sondan Durukanoğlu Feyiz An XML Based Data Exchange Model for Power System Studies Hasan Dağ Department of Electrical
Teamcenter s manufacturing process management 8.3. Report Generator Guide. Publication Number PLM00064 E
Teamcenter s manufacturing process management 8.3 Report Generator Guide Publication Number PLM00064 E Proprietary and restricted rights notice This software and related documentation are proprietary to
Managing XML Documents Versions and Upgrades with XSLT
Managing XML Documents Versions and Upgrades with XSLT Vadim Zaliva, [email protected] 2001 Abstract This paper describes mechanism for versioning and upgrding XML configuration files used in FWBuilder
ICE for Eclipse. Release 9.0.1
ICE for Eclipse Release 9.0.1 Disclaimer This document is for informational purposes only and is subject to change without notice. This document and its contents, including the viewpoints, dates and functional
PDF Primer PDF. White Paper
White Paper PDF Primer PDF What is PDF and what is it good for? How does PDF manage content? How is a PDF file structured? What are its capabilities? What are its limitations? Version: 1.0 Date: October
SAS BI Dashboard 4.4. User's Guide Second Edition. SAS Documentation
SAS BI Dashboard 4.4 User's Guide Second Edition SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2013. SAS BI Dashboard 4.4: User's Guide, Second
Dynamic Decision-Making Web Services Using SAS Stored Processes and SAS Business Rules Manager
Paper SAS1787-2015 Dynamic Decision-Making Web Services Using SAS Stored Processes and SAS Business Rules Manager Chris Upton and Lori Small, SAS Institute Inc. ABSTRACT With the latest release of SAS
Kentico 8 Certified Developer Exam Preparation Guide. Kentico 8 Certified Developer Exam Preparation Guide
Kentico 8 Certified Developer Exam Preparation Guide 1 Contents Test Format 4 Score Calculation 5 Basic Kentico Functionality 6 Application Programming Interface 7 Web Parts and Widgets 8 Kentico Database
Usage Analysis Tools in SharePoint Products and Technologies
Usage Analysis Tools in SharePoint Products and Technologies Date published: June 9, 2004 Summary: Usage analysis allows you to track how websites on your server are being used. The Internet Information
User Application: Design Guide
www.novell.com/documentation User Application: Design Guide Designer for Identity Manager Roles Based Provisioning Tools 4.0.2 June 15, 2012 Legal Notices Novell, Inc. makes no representations or warranties
Integrating InfoPath Forms. Paul Baker
Integrating InfoPath Forms Paul Baker About the Speaker. Paul Baker Director of Educational Innovation Perse School, Cambridge http://www.perse.co.uk [email protected] The Perse School regularly features
Choosing a Development Tool
Microsoft Dynamics GP 2013 R2 Choosing a Development Tool White Paper This paper provides guidance when choosing which development tool to use to create an integration for Microsoft Dynamics GP. Date:
WebSpy Vantage Ultimate 2.2 Web Module Administrators Guide
WebSpy Vantage Ultimate 2.2 Web Module Administrators Guide This document is intended to help you get started using WebSpy Vantage Ultimate and the Web Module. For more detailed information, please see
ThirtySix Software WRITE ONCE. APPROVE ONCE. USE EVERYWHERE. www.thirtysix.net SMARTDOCS 2014.1 SHAREPOINT CONFIGURATION GUIDE THIRTYSIX SOFTWARE
ThirtySix Software WRITE ONCE. APPROVE ONCE. USE EVERYWHERE. www.thirtysix.net SMARTDOCS 2014.1 SHAREPOINT CONFIGURATION GUIDE THIRTYSIX SOFTWARE UPDATED MAY 2014 Table of Contents Table of Contents...
Skills for Employment Investment Project (SEIP)
Skills for Employment Investment Project (SEIP) Standards/ Curriculum Format for Web Application Development Using DOT Net Course Duration: Three Months 1 Course Structure and Requirements Course Title:
Auditing manual. Archive Manager. Publication Date: November, 2015
Archive Manager Publication Date: November, 2015 All Rights Reserved. This software is protected by copyright law and international treaties. Unauthorized reproduction or distribution of this software,
Programming in C# with Microsoft Visual Studio 2010
Introducción a la Programación Web con C# en Visual Studio 2010 Curso: Introduction to Web development Programming in C# with Microsoft Visual Studio 2010 Introduction to Web Development with Microsoft
Novell Identity Manager
AUTHORIZED DOCUMENTATION Manual Task Service Driver Implementation Guide Novell Identity Manager 4.0.1 April 15, 2011 www.novell.com Legal Notices Novell, Inc. makes no representations or warranties with
FileNet System Manager Dashboard Help
FileNet System Manager Dashboard Help Release 3.5.0 June 2005 FileNet is a registered trademark of FileNet Corporation. All other products and brand names are trademarks or registered trademarks of their
MadCap Software. Import Guide. Flare 11
MadCap Software Import Guide Flare 11 Copyright 2015 MadCap Software. All rights reserved. Information in this document is subject to change without notice. The software described in this document is furnished
Sharpdesk V3.5. Push Installation Guide for system administrator Version 3.5.01
Sharpdesk V3.5 Push Installation Guide for system administrator Version 3.5.01 Copyright 2000-2015 by SHARP CORPORATION. All rights reserved. Reproduction, adaptation or translation without prior written
Programmabilty. Programmability in Microsoft Dynamics AX 2009. Microsoft Dynamics AX 2009. White Paper
Programmabilty Microsoft Dynamics AX 2009 Programmability in Microsoft Dynamics AX 2009 White Paper December 2008 Contents Introduction... 4 Scenarios... 4 The Presentation Layer... 4 Business Intelligence
ebooks: Exporting EPUB files from Adobe InDesign
White Paper ebooks: Exporting EPUB files from Adobe InDesign Table of contents 1 Preparing a publication for export 4 Exporting an EPUB file The electronic publication (EPUB) format is an ebook file format
Building A Very Simple Web Site
Sitecore CMS 6.2 Building A Very Simple Web Site Rev 100601 Sitecore CMS 6. 2 Building A Very Simple Web Site A Self-Study Guide for Developers Table of Contents Chapter 1 Introduction... 3 Chapter 2 Building
XML WEB TECHNOLOGIES
XML WEB TECHNOLOGIES Chakib Chraibi, Barry University, [email protected] ABSTRACT The Extensible Markup Language (XML) provides a simple, extendable, well-structured, platform independent and easily
http://msdn.microsoft.com/en-us/library/4w3ex9c2.aspx
ASP.NET Overview.NET Framework 4 ASP.NET is a unified Web development model that includes the services necessary for you to build enterprise-class Web applications with a minimum of coding. ASP.NET is
NLUI Server User s Guide
By Vadim Berman Monday, 19 March 2012 Overview NLUI (Natural Language User Interface) Server is designed to run scripted applications driven by natural language interaction. Just like a web server application
Technical Notes. EMC NetWorker Performing Backup and Recovery of SharePoint Server by using NetWorker Module for Microsoft SQL VDI Solution
EMC NetWorker Performing Backup and Recovery of SharePoint Server by using NetWorker Module for Microsoft SQL VDI Solution Release number 9.0 TECHNICAL NOTES 302-001-760 REV 01 September, 2015 These technical
INTRO TO XMLSPY (IXS)
INTRO TO XMLSPY (IXS) Student Notebook Intro to XMLSpy Page - 1 Revised: 11/8/2005-3:25:38 PM Table of Contents Example Files...4 Introduction...5 Course Objectives...6 Three Parts of XMLSpy s Main Window...7
CRM Setup Factory Installer V 3.0 Developers Guide
CRM Setup Factory Installer V 3.0 Developers Guide Who Should Read This Guide This guide is for ACCPAC CRM solution providers and developers. We assume that you have experience using: Microsoft Visual
Administration Guide for the System Center Cloud Services Process Pack
Administration Guide for the System Center Cloud Services Process Pack Microsoft Corporation Published: May 7, 2012 Author Kathy Vinatieri Applies To System Center Cloud Services Process Pack This document
REDUCING THE COST OF GROUND SYSTEM DEVELOPMENT AND MISSION OPERATIONS USING AUTOMATED XML TECHNOLOGIES. Jesse Wright Jet Propulsion Laboratory,
REDUCING THE COST OF GROUND SYSTEM DEVELOPMENT AND MISSION OPERATIONS USING AUTOMATED XML TECHNOLOGIES Colette Wilklow MS 301-240, Pasadena, CA phone + 1 818 354-4674 fax + 1 818 393-4100 email: [email protected]
Deploying System Center 2012 R2 Configuration Manager
Deploying System Center 2012 R2 Configuration Manager This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED, OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT.
Document Management User Guide
IBM TRIRIGA Version 10.3.2 Document Management User Guide Copyright IBM Corp. 2011 i Note Before using this information and the product it supports, read the information in Notices on page 37. This edition
Monitoring Replication
Monitoring Replication Article 1130112-02 Contents Summary... 3 Monitor Replicator Page... 3 Summary... 3 Status... 3 System Health... 4 Replicator Configuration... 5 Replicator Health... 6 Local Package
Web Data Extraction: 1 o Semestre 2007/2008
Web Data : Given Slides baseados nos slides oficiais do livro Web Data Mining c Bing Liu, Springer, December, 2006. Departamento de Engenharia Informática Instituto Superior Técnico 1 o Semestre 2007/2008
CA Identity Manager. Glossary. r12.5 SP8
CA Identity Manager Glossary r12.5 SP8 This documentation, which includes embedded help systems and electronically distributed materials, (hereinafter referred to as the Documentation ) is for your informational
Sitecore InDesign Connector 1.1
Sitecore Adaptive Print Studio Sitecore InDesign Connector 1.1 - User Manual, October 2, 2012 Sitecore InDesign Connector 1.1 User Manual Creating InDesign Documents with Sitecore CMS User Manual Page
So today we shall continue our discussion on the search engines and web crawlers. (Refer Slide Time: 01:02)
Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #39 Search Engines and Web Crawler :: Part 2 So today we
SAS BI Dashboard 4.3. User's Guide. SAS Documentation
SAS BI Dashboard 4.3 User's Guide SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2010. SAS BI Dashboard 4.3: User s Guide. Cary, NC: SAS Institute
QualysGuard WAS. Getting Started Guide Version 3.3. March 21, 2014
QualysGuard WAS Getting Started Guide Version 3.3 March 21, 2014 Copyright 2011-2014 by Qualys, Inc. All Rights Reserved. Qualys, the Qualys logo and QualysGuard are registered trademarks of Qualys, Inc.
TIBCO Administrator User s Guide. Software Release 5.7.1 March 2012
TIBCO Administrator User s Guide Software Release 5.7.1 March 2012 Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED TIBCO SOFTWARE IS SOLELY
How To Use X Query For Data Collection
TECHNICAL PAPER BUILDING XQUERY BASED WEB SERVICE AGGREGATION AND REPORTING APPLICATIONS TABLE OF CONTENTS Introduction... 1 Scenario... 1 Writing the solution in XQuery... 3 Achieving the result... 6
