pureXML Bootcamp in London UK - 27-28 April, 2010
Overview
Location: IBM London Southbank - Directions
Register: Closed
Contact: malaika@us.ibm.com
if you have any questions
Q&A and Photos from London bootcamp: Q&A and photos from London bootcamps
Q&A and Photos from other bootcamps: Q&A and photos from other bootcamps
Outline Agenda for the Bootcamp
Note the event is focused on XML end-to-end architectures, XML storage, indexing and manipulation through XPath and SQL/XML - and so is suitable for all platforms. XQuery is covered as well as platform specific and cross-platform performance hints and tips.
Day 1
- Welcome - agenda; Brief introduction
- XML storage presentation and lab
- Query part 1 presentation and lab
- Indexing presentation and lab
- Application development parts 1 & 2
Day 2
- Schema Management
- Query part 2 presentation and lab
- Best practices, optimization and pitfalls presentation and lab
- Application development part 3
- Bootcamp wrap up; summary, Q&A
Prerequisite Sessions to Attend The pureXML Bootcamp
Prior to attending the bootcamp, please review the prerequisite information.
Agenda Outline for the Prerequisite Call:
You may also like to listen to this pureXML introduction too. The playback has options to play from the server or to download a self-extracting set of files with the recording and player. Please feel free to forward the pureXML introduction replay to your co-workers.
pureXML Devotees
You can find out more about pureXML Devotees here
- where you can also get yourself added to the pureXML Devotees mailing list.
Photos from the London Bootcamp - April 2010













Questions and Answers from the Bootcamp in London April 2010
Bootcamp Scripts
- Question: Some of you asked about the bootcamp scripts?
- Reply: You can find the scripts and labs from an earlier bootcamp here

Inserting and loading non-well-formed XML
- Question: What happens if I insert non-well formed XML?
- Answer: With load, the non-well-formed XML will go into the exception file. With insert, the non-well-formed XML will be rejected and the insert will fail.
Application programmer awareness of XML across pages on disk
- Question: Do application programmers need to be aware of XML that is split by DB2 across pages? Does the programmer need to do something special?
- Answer: No - the DB2 regions index handles access to the pieces of an XML document scattered across the database pages transparently to the prgrammer - to ensure efficient access. The application designer may want to ask the database administrator to create user defined indexes (XPath indexes) to suit the queries the application programmer will issue - but that is orthogonal to accessing XML that is stored over a number of databases pages.
Shredding XML
- Question: Why would I continue to shred XML?
- Answer: There are many reasons to shred XML, e.g., you may:
- want to populate an existing database that you don't want to (or are not ready to) restructure as XML.
- want to pull out a few identifiers into relational columns from the XML that form part of a general purpose infrastructure across all tables, e.g. to generate feeds
One XML column in a table
- Question: Is it good practice to have one XML column in a table?
- Answer: We often see just one XML column in a table - but occasionally people do split an XML up into multiple columns or have multiple XML columns, e.g.:
- Some applications are allowed access to one portion of the XML only, so at XML insert, part of the XML is extracted into a separate XML column that everyone can access and the complete XML in placed in another column with restricted access. XMLTABLE is often used to extract portions of XML
Elements and attributes
- Question: When do I use elements? When do I use attributes?
- Answer: You can find some advice here : http://xml.coverpages.org/elementsAndAttrs.html
- The advice can be summarised by the editor's note: John Cowan
provides an excellent summary|, ending with Michael Kay says: Beginners always ask this question. Those with a little experience express their opinions passionately. Experts tell you there is no right answer
Limit string length
- Question: Can I limit the length of a string in XML Schema?
- Answer: Yes - Here is an example taken from w3schools where you can see more restriction
:
<xs:element name="password">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
Text Search
- Question: Can I use text search with DB2 pureXML?
- Answer: Yes - see the text search section of the bootcamp presentation pdf - omnifind

Data Power
- Question: Can I use Data Power with pureXML?
- Answer: Yes - see for example these articles:
CICS and DB2 pureXML
- Question: We use CICS Web Services. Can we use them with DB2 pureXML?
- Answer: Yes, please see this article
Universal Services for DB2 zOS and LUW
- Question: Are the Universal Services available for use with DB2 zOS and DB2 LUW for quick prototyping?
- Answer: Yes - they are available as follows:
- Answer: There is a variant for JSON too
SYSXMLSTRINGS on DB2 zOS
- Question: Where is SYSXMLSTRINGS cached?
- Answer: In the DB2 key 7 memory area - its memory is from the DBM1 address space, above the bar
docproperty and schemaproperty on DB2 zOS
- Question: With z/OS, when we talk about registering an XML Schema what do :docproperty and :schemaproperty mean? Also, what does the last parameter (0) of the XSR_COMPLETE stored procedure mean?
- Answer: From the DB2 Information Center http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/topic/com.ibm.db29.doc.xml/db2z_sp_xsraddschemadoc.htm
- docproperty - An input parameter of type BLOB(5M) that indicates the properties for the XML schema document being added. This parameter can have a NULL value; otherwise, the value is an XML document.
- Answer: From: http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/topic/com.ibm.db29.doc.xml/db2z_sp_xsrcomplete.htm
- schemaproperties - An input argument of type BLOB(5M) that specifies properties, if any, associated with the XML schema. The value for this argument is either NULL, if there are no associated properties, or an XML document representing the properties for the XML schema.
- The last parameter (0) of the XSR_COMPLETE stored procedure means: isusedfordecomposition - An input parameter of type integer that indicates if an XML schema is to be used for decomposition. If an XML schema is to be used for decomposition, this value should be set to 1; otherwise, it should be set to zero. XML schema decomposition is deprecated.
DB2 pureXML on zOS and Ziip & Zaap
DB2 pureXML locks on zOS
- Question: How does locking work with XML data? Is there a new lock type for XML, what's the locking granularity and are all the standard isolation levels available? etc
- Answer: XML document level locking is new type
- For non-data-sharing: There is no lock on the page or row on the XML table space
- For data sharing: There is P-lock at row level for insert/update
- For readers, there is only XML document level locking
- Uncommited Read (UR) readers need to acquire the XML document lock in order to read the document because there is no longer any lock on the row
- All the standard isolations are available.
- Here is XML locking in one chart

Client Query
- Question: I know XML data is primarily used for messaging, but are there any client query tools out there that support XQuery, XPath etc? e.g. does Cognos and similar tools support XML data? Would an XML database be good for data warehousing?
- Answer: Most reporting tools allow you to generate reports of tabular views of XML data that are created in DB2 using XMLTABLE(). Such reports can be generated through built-in GUIs and don't require manual coding. For users who want to code their own queries, most reporting tools also have a command-style interface that accepts SQL/XML with embedded XQueries or XPath expressions. A small number of tools also accept XQueries as the top-level language through their command-based interface. For more information on reporting tools and data warehousese with pureXML, please see the following articles and podcast:
Derivatives and pureXML
- Question: Is there any information on using derivatives (FpML) with DB2 pureXML?
- Answer: Yes - Here are some materials and articles etc that involve FpML and pureXML
pureXML documentation and information sources
- Question: Where can I find pureXML documentation and information sources?
- Answer: There are many sources of documentation and information, for example: