0% found this document useful (0 votes)
42 views44 pages

TA80 INTG050 GosuAndXML

Uploaded by

vyshnavibatchu30
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views44 pages

TA80 INTG050 GosuAndXML

Uploaded by

vyshnavibatchu30
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 44

Gosu and XML

April 12, 2014

© Guidewire Software, Inc. 2001-2014. All rights reserved.


Do not distribute without permission.
Lesson objectives
• By the end of this lesson, you should be able to:
- Describe the fundamental features of XML
- Describe the basic functionality of the Guidewire XmlElement class
- Import and export untyped XML using Gosu
- Import and export strongly typed XML using Gosu and an XSD
- Identify additional Guidewire tools for working with XML

This lesson uses the notes section for additional explanation and information.
To view the notes in PowerPoint, select View  Normal or View  Notes Page.
When printing notes, select Note Pages and Print hidden slides.
© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 2
Lesson outline

• Overview of XML

• The XmlElement class

• Reading untyped XML

• Writing untyped XML

• Working with strongly-typed XML

• Additional XML tools

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 3
XML
1 <?xml version="1.0"?>
2 <config xmlns="http://guidewire.com/config">
3 <param name="CurrencyURL" value="">http://acme.x.com</param>
4 <database name="TADatabase" dbtype="h2" autoupgrade="true">
5 <param name="jdbcURL" value="jdbc:h2:file:ta/db/ta"/>
6 <param name="jdbcURLtest" value="jdbc:h2:file:ta/db/test"/>
7 <param name="stmtPool.enabled" value=" false"/>
8 </database>
9 <security sessiontimeoutsecs="10800"/>

636 </config>

• Extensible Markup Language (XML) is a


hierarchy data structure designed
to transport and store data
<>
© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 4
XML elements
…3 <param name="CurrencyURL" value="">http://acme.x.com</param>
4 <database name="TADatabase" dbtype="h2" autoupgrade="true">
5 <param name="jdbcURL" value="jdbc:h2:file:ta/db/ta"/>
6 <param name="jdbcURLtest" value="jdbc:h2:file:ta/db/test"/>
7 <param name="stmtPool.enabled" value=" false"/>
8 </database>
10 <security sessiontimeoutsecs="10800"/>

• XML elements have:


- A case sensitive name
- An opening and closing declaration
- One or more optional attribute name/value pairs

• Contents can be Empty, have Text, and/or Child elements


- Line 3 is Text
- Line 4 is Children (5-7)
- Line 10 is Empty

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 5
XML namespaces
1 <?xml version="1.0"?>
2 <config xmlns="http://guidewire.com/config
xmlns:ta="http://guidewire.com/configTA">

636 </config>

• An XML namespace uniquely identifies one set of element


and element attribute definitions
• Provides way to avoid element name conflicts among
multiples namespaces
• Namespace prefix helps identify which definition to use
when multiple definitions exist
• Example:
- xmlns:ta defines the element prefix <ta:elementName/>

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 6
XSDs
1 <?xml version="1.0" encoding="UTF-8"?>
2 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" … >
…4 <xsd:element name="config" >
5 <xsd:complexType>
6 <xsd:choice minOccurs="1" maxOccurs="unbounded">
…8 <xsd:element name="param"
minOccurs="0" maxOccurs="unbounded"/>
12 </xsd:choice>
13 </xsd:complexType>
14 </xsd:element>
…90 <xsd:schema/>

• An XSD (XML Schema Document) describes


the structure for elements in one or more
XML documents
- Informs how a XML document can be structured XSD
- Used to validate the structure of a document

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 7
Untyped and strongly typed XML
Untyped Strongly typed

• If no XSD exists, then the • If an existing XSD validates


parsed XML is untyped and informs the XML, then
the parsed XML is strongly
typed

<> XSD <>

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 8
Serialization

01010010
<> serialization
01011010
11001001
deserialization <>
01100100

file.xml file-clone.xml

• XML serialization converts XML elements into a sequence


of bits to be later deserialized
• Serialization logic can be complex for certain data types
such as hexadecimal values or images

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 9
Lesson outline

• Overview of XML

• The XmlElement class

• Reading untyped XML

• Writing untyped XML

• Working with strongly-typed XML

• Additional XML tools

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 10
XML and Gosu

file.xml
c file.xml

<> <>

• Read and parse data from an XML document into memory


• Write information from memory into an XML document
• Validate the structure of XML using an XSD
• Manipulate untyped and strongly typed XML

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 11
XMLNode and XmlElement
XMLNode XmlElement

• Not recommended for new • Recommended class for


development new development
• Minimal support for XSDs • Released initially in Gosu
• Retained in Gosu to for Guidewire 7.0
support legacy APIs applications

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 12
The XmlElement class
1 <?xml version="1.0"?>
2 <config xmlns="http://guidewire.com/config">
3 <param name="CurrencyURL" value="">http://acme.x.com</param>
4 <database name="TADatabase" dbtype="h2" autoupgrade="true">

<config…>
• Represent elements from
XML
• Import XML
<param…>
• Get information about each
element
<database…>
• Create and modify elements
• Export XML

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 13
The QName property
1 <?xml version="1.0"?>
2 <config xmlns="http://guidewire.com/config">
3 <param name="CurrencyURL" value="">http://acme.x.com</param>
4 <database name="TADatabase" dbtype="h2" autoupgrade="true">

QName: {http://guidewire.com/config}config

QName: {http://guidewire.com/config}param

QName: {http://guidewire.com/config}database

• A QName is a qualified name for an XML element,


consisting of a namespace URI and a local part
© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 14
Attribute and text properties
1 <?xml version="1.0"?>
2 <config xmlns="http://guidewire.com/config">
3 <param name="CurrencyURL" value="">http://acme.x.com</param>
4 <database name="TADatabase" dbtype="h2" autoupgrade="true">

QName: {http://guidewire.com/config}config
Attributes: xmlns (http://guidewire.com/config)
Text:

QName: {http://guidewire.com/config}param
Attributes: name (CurrencyURL)
Text: http://acme.x.com

QName: {http://guidewire.com/config}database
Attributes: name (TADatabase), dbtype(h2), autoupgrade(true)
Text:

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 15
XML simple values

<param… >

value: 20141017

logic: serialization

• Every XmlElement and attribute has an associated simple


value object
- Purpose of the object is to store the actual value and the logic
needed to serialize it
- For data that is not text or numeric, the logic needed to serialize the
object can be complex
• Object is of type XmlSimpleValue

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 16
Lesson outline

• Overview of XML

• The XmlElement class

• Reading untyped XML

• Writing untyped XML

• Working with strongly-typed XML

• Additional XML tools

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 17
Parse XML without an XSD
6 uses gw.xml.XmlElement
7 uses java.io.File
…14 var filePathInput = "…/examples/xml/exampleUntyped.xml"
…16 var file = new File(filePathInput)
…19 var xml = XmlElement.parse(file)
…22 xml.print()

<?xml version="1.0"?>
<config xmlns="http://guidewire.com/config">
<param name="CurrencyURL" value="">http://acme.x.com</param>
<database name="TADatabase" dbtype="h2" autoupgrade="true">
<param name="jdbcURL" value="jdbc:h2:file:ta/db/ta"/>

• XmlElement.parse()
- Parse XML data into a graph of XmlElement objects without an XSD
- Input can be byte[], java.io.File, java.io.InputStream, java.io.Reader,
or String
© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 18
Accessing element properties
…19 var xml = XmlElement.parse(file)
…25 print("QName: " + xml.QName)
26 print("Namespace: " + xml.QName.NamespaceURI)
27 print("Local part: " + xml.QName.LocalPart)

QName: {http://guidewire.com/config}config
Namespace: http://guidewire.com/config
Local part: config

• QName property represents a qualified name as defined


in the XML specifications
• Contains a Namespace URI, local part and prefix
© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 19
Accessing children by index
…19 var xml = XmlElement.parse(file)
…31 print(xml.Children[0].QName)
32 print(xml.Children[1].QName)
33 print(xml.Children[1].Children[1].QName)

{http://guidewire.com/config}param
{http://guidewire.com/config}database
{http://guidewire.com/config}param

• Syntax to access a given child element:


parent.Children[x]

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 20
Accessing children by name
…19 var xml = XmlElement.parse(file)
…36 print("Text of database element: " +
37 xml.getChild(new QName("http://guidewire.com/config",
"database")).Text)
38 print("Number of param elements in file: " +
39 xml.getChildren(new QName("http://guidewire.com/config",
"param")).Count)

Text of database element:


Number of param elements in file: 156

• Returns only one child with given name syntax


parent.getChild(QName)
• Returns a list of elements with given name syntax
parent.getChildren(QName)
© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 21
Accessing children by where() methods
…19 var xml = XmlElement.parse(file)
…43 print(xml.Children.where(\el ->
el.QName.LocalPart == "database"))
…45 print(xml.Children.firstWhere(\el ->
el.QName.LocalPart == "database"))
…48 print(xml.Children.singleWhere(\el ->
el.QName.LocalPart == "database"))

[Element {http://guidewire.com/config}database]
Element {http://guidewire.com/config}database
Element {http://guidewire.com/config}database

• Retrieve elements that meet any given condition with


where(), firstWhere(), and singleWhere()

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 22
Accessing attributes and values
…51 var dbElement = xml.Children.singleWhere(\el ->
el.QName.LocalPart == "database"))
52 print("Attributes: " + dbElement.AttributesNames)
53 print("---------------------------------------")
54 for (attrib in dbElement.AttributeNames) {
55 print(attrib + ": " + dbElement.getAttributeSimpleValue(attrib))
56 }

Attributes: [name, dbtype, autoupgrade]


---------------------------------------
name: Simple value: TADatabase
dbtype: Simple value: h2
autoupgrade: Simple value: true

• AttributeNames
- property returns a set of attribute names for the element
• getAttributeSimpleValue()
- returns a simple value for an attribute
© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 23
Accessing element contents
…19 var xml = XmlElement.parse(file)
…58 print(xml.Children[0].QName)
59 print(xml.Children[0].Text)
60 print(xml.Children[0].Children)
61 print("---------------------------------------")
62 print(xml.Children[1].QName)
63 print(xml.Children[1].Text)
64 print(xml.Children[1].Children)

• A given XmlElement can have text or child elements but not


both
• Children indexer starts at 0

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 24
Lesson outline

• Overview of XML

• The XmlElement class

• Reading untyped XML

• Writing untyped XML

• Working with strongly-typed XML

• Additional XML tools

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 25
Modifying an existing XmlElement
…51 var dbElement = xml.Children.singleWhere(\el ->
el.QName.LocalPart == "database"))
…67 print("Original Value: "
+ dbElement.getAttributeSimpleValue("autoupgrade"))
68 dbElement.setAttributeSimpleValue("autoupgrade","false")
…69 print("Current Value: "
+ dbElement.getAttributeSimpleValue("autoupgrade"))

Original value: Simple value: true


Current value: false

• XmlElements can be modified using various set...()


methods, such as:
- setAttributeValue()
- setText()

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 26
Creating new XmlElements (1)
• Syntax to create an XmlElement:
new XmlElement(QName)
• Syntax to create a QName:
new QName(namespaceURI, localPart, prefix)
new QName(namespaceURI, localPart)
new QName(localPart)
• Syntax to create an set attribute values
xmlElement.setAttributeValue("name","value"
)
• Syntax to add child XmlElement to existing XmlElement
xmlElement.addChild(aXmlElement)

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 27
Creating new XmlElements (2)
A new
• …6 element is not part of a given XML hierarchy until it
uses gw.xml.XmlElement
…9 uses javax.xml.namespace.QName
is added as a child of an element in the hierarchy
72 var claimSystem = new XmlElement(new QName(
"http://guidewire.com/config", "claimSystem"))
73 claimSystem.setAttributeValue("URL",
"http://localhost:8880/ab/ContactManager.do")
…75 var claimSystemUser = new XmlElement(new QName(
"http://guidewire.com/config", "param"))
76 claimSystemUser.setAttributeValue("name", "user")
77 claimSystemUser.setAttributeValue("value", "su")
…79 var claimSystemPassword = new XmlElement(new QName(
"http://guidewire.com/config", "param"))
80 claimSystemPassword.setAttributeValue("name", "password")
81 claimSystemPassword.setAttributeValue("value", "gw")
82
83 claimSystem.addChild(claimSystemUser)
84 claimSystem.addChild(claimSystemPassword)
85 xml.addChild(claimSystem)

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 28
Exporting XML
…6 uses gw.xml.XmlElement
7 uses java.io.File
…10 uses java.io.FileWriter
…11 uses java.io.BufferedWriter
…15 var filePathOutput = "…/examples/xml/exampleUntyped_Modified.xml"
…88 var outputWriter = new BufferedWriter(new FileWriter(
new File(filePathOutput)))
89 outputWriter.write(xml.asUTFString())
90 outputWriter.close()

• asUTFString() method
- Serializes the element to a
String object in UTF-8

• XmlSerializationOptions()
- Customize the export

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 29
Lesson outline

• Overview of XML

• The XmlElement class

• Reading untyped XML

• Writing untyped XML

• Working with strongly-typed XML

• Additional XML tools

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 30
Strongly typed XML

XSD

file.xsd
.parse ( <>
file.xml
)
• If an existing XSD validates and informs the XML, then the
parsed XML is strongly typed
- XSD must be known to Guidewire
- XSD parses the XML document

• Offers robust syntax for referencing elements


• Validation of the XML against the XSD
- Reading and creating XML
© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 31
Making an XSD available to Guidewire
• \configuration\gsrc\
- Put XSD in a subdirectory of \gsrc
- Subdirectories become part of the
package name
• During startup, Guidewire
reads the XSD and creates
type
• Various definitions cause Gosu
to create new types
- <xsd:element />
- <xsd:complexType />
- <xsd:attribute />
XSD

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 32
Parsing a strongly typed XML file
8 uses gw.xml.XmlElement
9 uses java.io.File
14 uses trainingapp.demo.xsd.examplestrongtyped.ExampleStrongTyped
…17 var filePathInput = "…/examples/xml/exampleStrongTyped.xml"
…19 var file = new File(filePathInput)
…22 var xml = ExampleStrongTyped.parse(file)
…25 xml.print()

<?xml version="1.0"?>
<ExampleStrongTyped xmlns="http://www.w3.org/2001/XMLSchema">
<database name="TADatabase" dbtype="h2" autoupgrade="true">
<param name="jdbcURL" value="jdbc:h2:file:ta/db/ta"/>
<param name="jdbcURLtest" value="jdbc:h2:file:ta/db/test"/>

• Syntax to call the parse method on the XSD type:


xsdFileName.rootElement.parse(xmlToParse)

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 33
XSD types as Gosu types
8 uses gw.xml.XmlElement
9 uses java.io.File
14 uses trainingapp.demo.xsd.examplestrongtyped.ExampleStrongTyped
…17 var filePathInput = "…/examples/xml/exampleStrongTyped.xml"
…19 var file = new File(filePathInput)
…22 var xml = ExampleStrongTyped.parse(file)
…28 print(xml.Database[0].Name)
…29 print(xml.Param.Count)

• Declared elements
and attributes in the
XSD are available
as Gosu types
• Use dot notation
to reference the
element types and attributes
© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 34
XmlElement property prefix $
…19 var xml = XmlElement.parse(file)
…49 print("QName: " + xml.$QName)
…51 var dbElement = xml.$Children.singleWhere(\el ->
el.QName.LocalPart == "database"))
52 print("Attributes: " + dbElement.AttributesNames)

QName:
{http://www.w3.org/2001/XMLSchema}ExampleStrongTyped
---------------------------------------
Attributes: [name, driver, dbtype, printcommands, autoupgrade,
checker]

• XmlElement property names prefixed with $


- Avoids naming collisions can occur between a property declared in
the XSD and an XmlElement’s class-level property

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 35
Exporting XML
…6 uses gw.xml.XmlElement
7 uses java.io.File
…10 uses java.io.FileWriter
…11 uses java.io.BufferedWriter
…15 var filePathOutput = "…/xml/exampleStrongTyped_Modified.xml"
…92 var outputWriter = new BufferedWriter(new FileWriter(
new File(filePathOutput)))
93 outputWriter.write(xml.asUTFString())
94 outputWriter.close()

• asUTFString() method
- Serializes the element to a
String object in UTF-8

• XmlSerializationOptions()
- Customize the export

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 37
Automatic validation of XML
…22 var xml = ExampleStrongTyped.parse(file)
81 var claimSystem = new XmlElement(new QName(
"http://guidewire.com/config", "claimSystem"))
82 claimSystem.setAttributeValue("URL",
"http://localhost:8880/ab/ContactManager.do")
83 xml.addChild(claimSystem)
…93 var outputWriter2 = new BufferedWriter(new FileWriter(
new File(filePathOutput2)))
94 outputWriter2.write(xml.asUTFString())
95 outputWriter2.close()

• XML is validated against the XSD during import and export


• Example of invalid XML:
- No claimSystem element defined in the ExampleStrongTyped XSD
- Code throws an exception,. gw.xml.XmlSortException

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 38
Lesson outline

• Overview of XML

• The XmlElement class

• Reading untyped XML

• Writing untyped XML

• Working with strongly-typed XML

• Additional XML tools

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 39
XMLNode versus XmlElement
XMLNode XmlElement

Gosu type for names String QName


of elements and
attributes
Gosu type for values String XmlSimpleValue
of attributes and
simple values
XML comments Attempts to preserve Comments are
(import) comments discarded
XML comments Comments are Comments are
(export) serialized serialized
Handling of Whitespace is Varied (see notes)
whitespace discarded

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 40
XML model
<ABContact>
<PublicID>ab:68
</PublicID>
</ABContact>
ABContact XML XML
68 model data

• An XML model is a file that generates dynamic XML based


on an input object
• Accepts a single input object and can specify
- XML-formatted values from that object
- XML-formatted values from related objects

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 41
XML model editor
• XML Model editor
Fields to add creates GX
based on entity Models
- File extension
is .gx
Fields
added to Model • Steps to create
1. Create GX
model
2. Add fields to the
model
3. Use the model to
generate the
message
Sample XML payload
or Schema

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 42
Lesson objectives review
• You should now be able to:
- Describe the fundamental features of XML
- Describe the basic functionality of the Guidewire XmlElement class
- Import and export untyped XML using Gosu
- Import and export strongly typed XML using Gosu and an XSD
- Identify additional Guidewire tools for working with XML

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 43
Review questions
1. What is the difference between untyped and strongly
typed XML?
2. Imagine an XML file is parsed without an XSD into a
variable called "xml". The first child of the root object is an
element named <loadOptions> and there are no other
elements with that name. Name two Gosu expressions
that would access the <loadOptions> element.
3. How do you make an XSD known to Guidewire?
4. Name two features of strongly typed XML that are not
available with untyped XML.

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 44
Notices
Copyright © 2001-2014 Guidewire Software, Inc. All rights reserved.

Guidewire, Guidewire Software, Guidewire ClaimCenter, Guidewire PolicyCenter, Guidewire


BillingCenter, Guidewire Reinsurance Management, Guidewire ContactManager, Guidewire Vendor Data
Management, Guidewire Client Data Management, Guidewire Rating Management, Guidewire
InsuranceSuite, Guidewire ContactCenter, Guidewire Studio, Guidewire Product Designer, Guidewire
Live, Guidewire DataHub, Guidewire InfoCenter, Guidewire Standard Reporting, Guidewire
ExampleCenter, Guidewire Account Manager Portal, Guidewire Claim Portal, Guidewire Policyholder
Portal, ClaimCenter, BillingCenter, PolicyCenter, InsuranceSuite, Gosu, Deliver Insurance Your Way, and
the Guidewire logo are trademarks, service marks, or registered trademarks of Guidewire Software, Inc.
in the United States and/or other countries.

All other trademarks are the property of their respective owners.

This material is confidential and proprietary to Guidewire and subject to the


confidentiality terms in the applicable license agreement and/or separate
nondisclosure agreement.

This file and the contents herein are the property of Guidewire Software, Inc. Use of this course material
is restricted to students officially registered in this specific Guidewire-instructed course, or for other use
expressly authorized by Guidewire. Replication or distribution of this course material in electronic, paper,
or other format is prohibited without express permission from Guidewire.

Guidewire products are protected by one or more United States patents.

© Guidewire Software, Inc. 2001-2014. All rights reserved. Do not distribute without permission. 45

You might also like