
(object Petal
    version    	47
    _written   	"Rose 8.0.0303.1400"
    charSet    	0)

(object Class_Category "SQLXMLQueryModel"
    is_unit    	TRUE
    is_loaded  	TRUE
    attributes 	(list Attribute_Set
	(object Attribute
	    tool       	"Ecore"
	    name       	"packageName"
	    value      	(value Text "query"))
	(object Attribute
	    tool       	"Ecore"
	    name       	"nsURI"
	    value      	(value Text "http:///org/eclipse/datatools/modelbase/sql/xml/query/SQLXMLQueryModel.ecore"))
	(object Attribute
	    tool       	"Ecore"
	    name       	"basePackage"
	    value      	(value Text "org.eclipse.datatools.modelbase.sql.xml"))
	(object Attribute
	    tool       	"Ecore"
	    name       	"prefix"
	    value      	(value Text "SQLXMLQuery")))
    quid       	"4314C5120235"
    documentation 	
|The documentation for this model is adapted from "Information technology -- Database languages -- SQL, Part 14: XML-Related Specifications (SQL/XML)" WG3:WLG-010preview H2-2005-xxx, FDIS ISO/IEC 9075-14:2005 (E) draft published May, 2005.
|
    
    visible_categories 	(list visibility_relationship_list
	(object Visibility_Relationship
	    quid       	"4314C52B01B1"
	    supplier   	"Logical View::SQLQueryModel"
	    quidu      	"40467E9F03A6"))
    exportControl 	"Public"
    logical_models 	(list unit_reference_list
	(object Class "XMLValueFunctionConcat"
	    quid       	"4314C8B602DA"
	    documentation 	"Generates an XML value which is the concatenation of a list of XML values.  See ISO SQL/XML sec. 6.11."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4314C8B602D9"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunction"
		    quidu      	"4314C8B602D6"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "returningOption"
		    quid       	"4325EACF0046"
		    type       	"XMLReturningType"
		    quidu      	"4325EA170132"
		    exportControl 	"Public")))
	(object Class "XMLValueFunction"
	    quid       	"4314C8B602D6"
	    documentation 	"Specifies a function that yields a value of type XML.  See ISO SQL/XML sec. 6.9."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4320C1D00059"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionFunction"
		    quidu      	"3B389F78002D"))
	    abstract   	TRUE)
	(object Class "XMLNamespaceDeclarationPrefix"
	    quid       	"4314C8B60324"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4314C8B60323"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLNamespaceDeclarationItem"
		    quidu      	"4314C8B6031E"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "prefix"
		    quid       	"4314C8B60325"
		    type       	"String"
		    exportControl 	"Public")))
	(object Class "XMLNamespaceDeclarationDefault"
	    quid       	"4314C8B60329"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4314C8B60328"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLNamespaceDeclarationItem"
		    quidu      	"4314C8B6031E"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "noDefault"
		    quid       	"4314C8B6032A"
		    type       	"boolean"
		    initv      	"false"
		    exportControl 	"Public")))
	(object Class "XMLAttributeDeclarationItem"
	    quid       	"4314C8B602B2"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"433B5574029B"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160")))
	(object Class "XMLValueFunctionElement"
	    quid       	"4314C8B602F6"
	    documentation 	"Generates an XML element with a given element name, list of XML attributes, and list of content values.  See ISO SQL/XML sec. 6.13."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4326081A038A"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunction"
		    quidu      	"4314C8B602D6"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "elementName"
		    quid       	"433B46FE0056"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "returningOption"
		    quid       	"4326209D0394"
		    type       	"XMLReturningType"
		    quidu      	"4325EA170132"
		    exportControl 	"Public")))
	(object Class "XMLNamespaceDeclarationItem"
	    quid       	"4314C8B6031E"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4314C8B6031F"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "uri"
		    quid       	"4314C8B60320"
		    type       	"String"
		    exportControl 	"Public")))
	(object Class "XMLValueFunctionElementContentItem"
	    quid       	"4314C8B602C9"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"433B55C10116"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160")))
	(object Class "XMLValueFunctionForest"
	    quid       	"4314C8B60333"
	    documentation 	"Generates an XML value containing a sequence of XML elements.  See ISO SQL/XML sec. 6.14."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4314C8B60334"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunction"
		    quidu      	"4314C8B602D6"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "nullHandlingOption"
		    quid       	"432F200F0392"
		    type       	"XMLNullHandlingType"
		    quidu      	"43261E3B014E"
		    exportControl 	"Public")
		(object ClassAttribute "returningOption"
		    quid       	"432F1AFE0078"
		    type       	"XMLReturningType"
		    quidu      	"4325EA170132"
		    exportControl 	"Public")))
	(object Class "XMLValueFunctionComment"
	    quid       	"431F5A830075"
	    documentation 	"Generates an XML comment value from a string expression.  See ISO SQL/XML sec. 6.10."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"431F5FA20341"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunction"
		    quidu      	"4314C8B602D6"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "returningOption"
		    quid       	"4325FF1D0328"
		    type       	"XMLReturningType"
		    quidu      	"4325EA170132"
		    exportControl 	"Public")))
	(object Class "XMLValueFunctionDocument"
	    quid       	"431F5B1E0385"
	    documentation 	"Generates an XML document node from an XML value expression.  See ISO SQL/XML sec. 6.12."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"431F5FB30346"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunction"
		    quidu      	"4314C8B602D6"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "returningOption"
		    quid       	"4326032C028F"
		    type       	"XMLReturningType"
		    quidu      	"4325EA170132"
		    exportControl 	"Public")))
	(object Class "XMLValueFunctionParse"
	    quid       	"431F5B4E0244"
	    documentation 	"Generates an XML value by performing a non-validating parse of a given string expression.  See ISO SQL/XML sec. 6.15."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"431F64B402F8"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunction"
		    quidu      	"4314C8B602D6"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "contentOption"
		    quid       	"432F3122002C"
		    type       	"XMLContentType"
		    quidu      	"4320BD26008F"
		    exportControl 	"Public")
		(object ClassAttribute "whitespaceHandlingOption"
		    quid       	"432F34450169"
		    type       	"XMLWhitespaceHandlingType"
		    quidu      	"432F33A80213"
		    exportControl 	"Public")))
	(object Class "XMLValueFunctionPI"
	    quid       	"431F5B8B0129"
	    documentation 	"Generates an XML value consisting of an XML processing instruction based on the given string expression.  See ISO SQL/XML sec. 6.16."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"431F64C101DE"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunction"
		    quidu      	"4314C8B602D6"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "targetName"
		    quid       	"432F3890015D"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "returningOption"
		    quid       	"432F382C00C4"
		    type       	"XMLReturningType"
		    quidu      	"4325EA170132"
		    exportControl 	"Public")))
	(object Class "XMLValueFunctionQuery"
	    quid       	"431F5BAE0364"
	    documentation 	"Generates an XML value as the result of evaluating a given XQuery expression.  See ISO SQL/XML sec. 6.17."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"431F64CC0021"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunction"
		    quidu      	"4314C8B602D6"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "emptyHandlingOption"
		    quid       	"432F5193038C"
		    type       	"XMLEmptyHandlingType"
		    quidu      	"432F51280232"
		    exportControl 	"Public")))
	(object Class "XMLValueFunctionText"
	    quid       	"431F5DFD011F"
	    documentation 	"Generates an XML value consisting of a XML text element from a given string expression.  See ISO SQL/XML sec. 6.18."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"431F64D7004F"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunction"
		    quidu      	"4314C8B602D6"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "returningOption"
		    quid       	"432F5C19039F"
		    type       	"XMLReturningType"
		    quidu      	"4325EA170132"
		    exportControl 	"Public")))
	(object Class "XMLValueFunctionValidate"
	    quid       	"431F64ED0250"
	    documentation 	"Generates an XML value by performing a parse of an XML  expression according to a given XML schema.  See ISO SQL/XML sec. 6.19."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"431F65080140"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunction"
		    quidu      	"4314C8B602D6"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "contentOption"
		    quid       	"432F62780331"
		    type       	"XMLContentType2"
		    quidu      	"432F62190175"
		    exportControl 	"Public")))
	(object Class "XMLValueExpressionCast"
	    quid       	"431F8D6D0258"
	    documentation 	
|Specifies a data conversion whose source or target is a value expressoin with an XML datatype.  See ISO SQL/XML sec. 6.5.  The <XML cast operand>is handled by the valueExpr relationship of the ValueExpressionCast.  <XML target operand> (which is a datatype) is handled by the datatype attribute of QueryValueeExpression.  The <null specification> is  handled by the ValueExpressionNullValue subtype of QueryValueExpression.
|
	    
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"431F8E0103E1"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionCast"
		    quidu      	"3B389F33029B"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "passingMechanism"
		    quid       	"431F8FA60260"
		    type       	"XMLPassingType"
		    quidu      	"431F8E950073"
		    exportControl 	"Public")))
	(object Class "XMLPassingType"
	    quid       	"431F8E950073"
	    documentation 	"Represents the possible values for the XML passing mechanism clause.  A value of NONE indicates that the passing mechanism clause should be omitted."
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "BY_REF"
		    quid       	"431F8F360101"
		    exportControl 	"Public")
		(object ClassAttribute "BY_VALUE"
		    quid       	"431F8F5B01E0"
		    exportControl 	"Public")
		(object ClassAttribute "NONE"
		    quid       	"4320977B0089"
		    exportControl 	"Public")))
	(object Class "XMLPredicate"
	    quid       	"431F91DA0333"
	    documentation 	
|An XMLPredicate specifies a condition involving an XML value expression that can be evaluated to return true or false.  See ISO SQL/XML sec. 8.1.
|
	    
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"431F921F035B"
		    supplier   	"Logical View::SQLQueryModel::Predicate"
		    quidu      	"3B37F1C2039C"))
	    abstract   	TRUE)
	(object Class "XMLPredicateContent"
	    quid       	"431F922D0058"
	    documentation 	
|Tests whether or not a given XML value represents an XML document.  See ISO SQL/XML sec. 8.2.
|
|Note:  the elaboration of this element is TBD
	    
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"431F92E80025"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLPredicate"
		    quidu      	"431F91DA0333")))
	(object Class "XMLPredicateDocument"
	    quid       	"431F928F0167"
	    documentation 	
|Tests whether or not a given XML value represents an XML document which contains exactly one XML element, zero or more XML comments, and zero or more XML processing instructions.  See ISO SQL/XML sec. 8.3.
|
|Note: the elaboration of this element is TBD.
	    
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"431F92E40304"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLPredicate"
		    quidu      	"431F91DA0333")))
	(object Class "XMLPredicateExists"
	    quid       	"431F92AC0390"
	    documentation 	"Tests whether or not a given XQuery expression represents an non-empty sequence.  See ISO SQL/XML sec. 8.4."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"431F92E1006B"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLPredicate"
		    quidu      	"431F91DA0333")))
	(object Class "XMLPredicateValid"
	    quid       	"431F92C5001A"
	    documentation 	
|Tests whether or not a given XML value is valid according to a registered XML schema.  See ISO SQL/XML sec. 8.5.
|
|Note: the elaboration of this element is TBD.
	    
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"431F92EB025A"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLPredicate"
		    quidu      	"431F91DA0333")))
	(object Class "XMLQueryExpression"
	    quid       	"4320947501C6"
	    documentation 	"Represents an XQuery expression.  The content of this element is a literal string which specifies an XML Query.  See ISO SQL/XML sec. 6.17."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"43209DD50181"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "xqueryExprContent"
		    quid       	"432095570384"
		    type       	"String"
		    exportControl 	"Public")))
	(object Class "XMLQueryArgumentList"
	    quid       	"43209B100380"
	    documentation 	"Represents an XML Query argument list.  See ISO SQL/XML sec. 6.17.  <note>The list is modelled as an explicit object rather than just as a list of XMLQueryArgument objects attached to the parent so that the list as whole can have an optional passing mechanism clause.</note>"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"43209DDA0391"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "passingMechanism"
		    quid       	"43209C1B0167"
		    type       	"XMLPassingType"
		    quidu      	"431F8E950073"
		    exportControl 	"Public")))
	(object Class "XMLQueryArgumentItem"
	    quid       	"43209CA10174"
	    documentation 	"Represents a single XML Query Argument within an XML Query Argument list.  The name attribute, if used, indicates that  this argument is an XML Query variable.  The attached value expression must resolve to an XML datatype.  See ISO SQL/XML sec. 6.17."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"433B56240278"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "passingMechanism"
		    quid       	"4320AF57019A"
		    type       	"XMLPassingType"
		    quidu      	"431F8E950073"
		    exportControl 	"Public")))
	(object Class "XMLSerializeFunction"
	    quid       	"4320BC0E00FA"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4320BD0C0222"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionFunction"
		    quidu      	"3B389F78002D"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "contentOption"
		    quid       	"4320C015002A"
		    type       	"XMLContentType"
		    quidu      	"4320BD26008F"
		    exportControl 	"Public")
		(object ClassAttribute "serializeVersion"
		    quid       	"4320C4890156"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "declarationOption"
		    quid       	"4320C4A50297"
		    type       	"XMLDeclarationType"
		    quidu      	"4320C38A0272"
		    exportControl 	"Public")))
	(object Class "XMLContentType"
	    quid       	"4320BD26008F"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "CONTENT"
		    quid       	"4320BD610089"
		    exportControl 	"Public")
		(object ClassAttribute "DOCUMENT"
		    quid       	"4320BD7D02B1"
		    exportControl 	"Public")
		(object ClassAttribute "NONE"
		    quid       	"4320BD9003DA"
		    exportControl 	"Public")))
	(object Class "XMLSerializeFunctionTarget"
	    quid       	"4320C222013E"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"433B57730128"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160")))
	(object Class "XMLDeclarationType"
	    quid       	"4320C38A0272"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "EXCLUDING_XMLDECLARATION"
		    quid       	"4320C3F800D5"
		    exportControl 	"Public")
		(object ClassAttribute "INCLUDING_XMLDECLARATION"
		    quid       	"4320C424033C"
		    exportControl 	"Public")
		(object ClassAttribute "NONE"
		    quid       	"4320C432020F"
		    exportControl 	"Public")))
	(object Class "XMLAggregateFunction"
	    quid       	"4314C8B602E4"
	    documentation 	"Specifies a value computed from a collection of rows.  See ISO SQL/XML sec. 11.2.  The <XML value expression> clause is handled by the parameterList relationship in ValueExpressionFunction, but is restricted to a single element in this case."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4320C6DC0198"
		    supplier   	"Logical View::SQLQueryModel::ValueExpressionFunction"
		    quidu      	"3B389F78002D"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "returningOption"
		    quid       	"432618CF0060"
		    type       	"XMLReturningType"
		    quidu      	"4325EA170132"
		    exportControl 	"Public")))
	(object Class "XMLReturningType"
	    quid       	"4325EA170132"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "RETURNING_CONTENT"
		    quid       	"4325EA5103DE"
		    exportControl 	"Public")
		(object ClassAttribute "RETURNING_SEQUENCE"
		    quid       	"4325EA700343"
		    exportControl 	"Public")
		(object ClassAttribute "NONE"
		    quid       	"4325EA870314"
		    exportControl 	"Public")))
	(object Class "XMLValueFunctionConcatContentItem"
	    quid       	"4325FC9500E8"
	    documentation 	
|Represents an XML value expression within an XMLCONCAT function.  See ISO SQL/XML sec. 6.11.  Contains a value expression which must resolve to an XML datatype.
|
	    
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"433B54B00215"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160")))
	(object Class "XMLValueFunctionCommentContent"
	    quid       	"4325FF710379"
	    documentation 	"Represents the <string value expression> within an <XML comment> function.  See ISO SQL/XML sec. 6.10.  Contains a value expression which must resolve to an string datatype."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"433B54710354"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160")))
	(object Class "XMLValueFunctionDocumentContent"
	    quid       	"432603710070"
	    documentation 	
|Represents an <XML value expression> within an <XML document> function.  See ISO SQL/XML sec. 6.12.  The value expression contained by this element must resolve to an XML datatype.
|
	    
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"433B54E70369"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160")))
	(object Class "XMLAggregateSortSpecification"
	    quid       	"432619080328"
	    documentation 	"Specifies an ordering within the values returned by the aggregation function.  See ISO SQL/XML sec. 11.2."
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"43271DD50090"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB")))
	(object Class "XMLNullHandlingType"
	    quid       	"43261E3B014E"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "ABSENT_ON_NULL"
		    quid       	"43261E5E0290"
		    exportControl 	"Public")
		(object ClassAttribute "EMPTY_ON_NULL"
		    quid       	"43261E740012"
		    exportControl 	"Public")
		(object ClassAttribute "NIL_ON_NO_CONTENT"
		    quid       	"43261EBA0174"
		    exportControl 	"Public")
		(object ClassAttribute "NIL_ON_NULL"
		    quid       	"43261E8001FA"
		    exportControl 	"Public")
		(object ClassAttribute "NULL_ON_NULL"
		    quid       	"43261E8C0310"
		    exportControl 	"Public")
		(object ClassAttribute "NONE"
		    quid       	"43261EC800D4"
		    exportControl 	"Public")))
	(object Class "XMLValueFunctionForestContentItem"
	    quid       	"432F1BC80031"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"433B56CB00C1"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160")))
	(object Class "XMLValueFunctionParseContent"
	    quid       	"432F3271034A"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"433B57030235"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160")))
	(object Class "XMLWhitespaceHandlingType"
	    quid       	"432F33A80213"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "PRESERE_WHITESPACE"
		    quid       	"432F33DA01B4"
		    exportControl 	"Public")
		(object ClassAttribute "STRIP_WHITESPACE"
		    quid       	"432F33FA00F3"
		    exportControl 	"Public")
		(object ClassAttribute "NONE"
		    quid       	"432F34070236"
		    exportControl 	"Public")))
	(object Class "XMLValueFunctionPIContent"
	    quid       	"432F390B0155"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"433B5727006A"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160")))
	(object Class "XMLEmptyHandlingType"
	    quid       	"432F51280232"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "EMPTY_ON_EMPTY"
		    quid       	"432F515001E7"
		    exportControl 	"Public")
		(object ClassAttribute "NULL_ON_EMPTY"
		    quid       	"432F51680379"
		    exportControl 	"Public")
		(object ClassAttribute "NONE"
		    quid       	"432F51730293"
		    exportControl 	"Public")))
	(object Class "XMLTableFunction"
	    quid       	"432F58BF035B"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"432F58ED037A"
		    supplier   	"Logical View::SQLQueryModel::TableFunction"
		    quidu      	"3BF3D3E801A0"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "tableRowPattern"
		    quid       	"432F6CBD00CC"
		    type       	"String"
		    exportControl 	"Public")))
	(object Class "XMLValueFunctionTextContent"
	    quid       	"432F5B620073"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"433B57DE032C"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160")))
	(object Class "XMLValueFunctionValidateContent"
	    quid       	"432F60FF0073"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"433B581B02C6"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160")))
	(object Class "XMLContentType2"
	    quid       	"432F62190175"
	    stereotype 	"enumeration"
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "CONTENT"
		    quid       	"432F623702FA"
		    exportControl 	"Public")
		(object ClassAttribute "DOCUMENT"
		    quid       	"432F62470161"
		    exportControl 	"Public")
		(object ClassAttribute "SEQUENCE"
		    quid       	"432F62500320"
		    exportControl 	"Public")
		(object ClassAttribute "NONE"
		    quid       	"432F625A0039"
		    exportControl 	"Public")))
	(object Class "XMLTableColumnDefinitionItem"
	    quid       	"432F717D0304"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"432F723600D1"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB")))
	(object Class "XMLTableColumnDefinitionRegular"
	    quid       	"432F7257029B"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"432F72AD00C9"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLTableColumnDefinitionItem"
		    quidu      	"432F717D0304"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "dataType"
		    quid       	"432F73360027"
		    type       	"DataType"
		    quidu      	"3E9B3F3400BF"
		    exportControl 	"Public")
		(object ClassAttribute "passingOption"
		    quid       	"432F736200CB"
		    type       	"XMLPassingType"
		    quidu      	"431F8E950073"
		    exportControl 	"Public")
		(object ClassAttribute "tableColumnPattern"
		    quid       	"432F73AA00D9"
		    type       	"String"
		    exportControl 	"Public")))
	(object Class "XMLTableColumnDefinitionOrdinality"
	    quid       	"432F728503C4"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"432F72A90380"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLTableColumnDefinitionItem"
		    quidu      	"432F717D0304")))
	(object Class "XMLValueFunctionValidateAccordingTo"
	    quid       	"432F748E01DE"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"432F75E601F0"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB")))
	(object Class "XMLValueFunctionValidateAccordingToURI"
	    quid       	"432F752A01C6"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"432F75F80228"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionValidateAccordingTo"
		    quidu      	"432F748E01DE"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "noNamespace"
		    quid       	"432F775C0197"
		    type       	"boolean"
		    initv      	"false"
		    exportControl 	"Public")
		(object ClassAttribute "targetNamespaceURI"
		    quid       	"432F763701A7"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "schemaLocationURI"
		    quid       	"432F764500B7"
		    type       	"String"
		    exportControl 	"Public")))
	(object Class "XMLValueFunctionValidateAccordingToIdentifier"
	    quid       	"432F75530067"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"432F75F50007"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionValidateAccordingTo"
		    quidu      	"432F748E01DE"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "schemaName"
		    quid       	"435986C601AB"
		    type       	"String"
		    exportControl 	"Public")
		(object ClassAttribute "registeredXMLSchemaName"
		    quid       	"43598751027D"
		    type       	"String"
		    exportControl 	"Public")))
	(object Class "XMLValueFunctionValidateElementName"
	    quid       	"432F792C0211"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"432F7CDF00C8"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB")))
	(object Class "XMLValueFunctionValidateElementNamespace"
	    quid       	"432F7B6000C4"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"432F7CDC004C"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "noNamespace"
		    quid       	"432F7D810036"
		    type       	"boolean"
		    initv      	"false"
		    exportControl 	"Public")
		(object ClassAttribute "namespaceURI"
		    quid       	"432F7D9D0163"
		    type       	"String"
		    exportControl 	"Public")))
	(object Class "XMLNamespacesDeclaration"
	    quid       	"433B457C01AC"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"433B553002A7"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB")))
	(object Class "XMLAttributesDeclaration"
	    quid       	"433B484E00E9")
	(object Class "XMLValueFunctionElementContentList"
	    quid       	"433B4AE70268"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"433B55E001D9"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "nullHandlingOption"
		    quid       	"433B4B87021A"
		    type       	"XMLNullHandlingType"
		    quidu      	"43261E3B014E"
		    exportControl 	"Public")))
	(object Class "XMLValueFunctionQueryReturning"
	    quid       	"434490B20155"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4344930C002F"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "returningOption"
		    quid       	"434491DC03B7"
		    type       	"XMLReturningType"
		    quidu      	"4325EA170132"
		    exportControl 	"Public")
		(object ClassAttribute "passingOption"
		    quid       	"43449204031B"
		    type       	"XMLPassingType"
		    quidu      	"431F8E950073"
		    exportControl 	"Public")))
	(object Class "XMLValueFunctionValidateElement"
	    quid       	"4346E84C020E"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"4346EA3A00CF"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB")))
	(object Class "XMLTableColumnDefinitionDefault"
	    quid       	"43598E370091"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"43598FF50147"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160")))
	(object Class "XMLSerializeFunctionEncoding"
	    quid       	"435E96130247"
	    superclasses 	(list inheritance_relationship_list
		(object Inheritance_Relationship
		    quid       	"435E9B540092"
		    supplier   	"Logical View::SQLQueryModel::SQLQueryObject"
		    quidu      	"4046839E02AB"))
	    class_attributes 	(list class_attribute_list
		(object ClassAttribute "encodingName"
		    quid       	"435E96C30109"
		    type       	"String"
		    exportControl 	"Public")))
	(object Association "$UNNAMED$0"
	    quid       	"431622D70082"
	    roles      	(list role_list
		(object Role "valueExpr"
		    quid       	"431622D8000B"
		    label      	"valueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$1"
		    quid       	"431622D80015"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLAttributeDeclarationItem"
		    quidu      	"4314C8B602B2"
		    client_cardinality 	(value cardinality "1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$2"
	    quid       	"432095DD01D8"
	    roles      	(list role_list
		(object Role "xqueryExpr"
		    quid       	"432095DE02E8"
		    label      	"xqueryExpr"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLQueryExpression"
		    quidu      	"4320947501C6"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "predicateExists"
		    quid       	"432095DE02EA"
		    label      	"predicateExists"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLPredicateExists"
		    quidu      	"431F92AC0390"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$3"
	    quid       	"43209B940254"
	    roles      	(list role_list
		(object Role "xqueryArgList"
		    quid       	"43209B95015B"
		    label      	"xqueryArgList"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLQueryArgumentList"
		    quidu      	"43209B100380"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "predicateExists"
		    quid       	"43209B95015D"
		    label      	"predicateExists"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLPredicateExists"
		    quidu      	"431F92AC0390"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$4"
	    quid       	"43209D1502C5"
	    roles      	(list role_list
		(object Role "xqueryArgListChildren"
		    quid       	"43209D170232"
		    label      	"xqueryArgListChildren"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLQueryArgumentItem"
		    quidu      	"43209CA10174"
		    client_cardinality 	(value cardinality "1..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "xqueryArgList"
		    quid       	"43209D170234"
		    label      	"xqueryArgList"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLQueryArgumentList"
		    quidu      	"43209B100380"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$5"
	    quid       	"4320AE75025D"
	    roles      	(list role_list
		(object Role "valueExpr"
		    quid       	"4320AE760313"
		    label      	"valueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$6"
		    quid       	"4320AE76033B"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLQueryArgumentItem"
		    quidu      	"43209CA10174"
		    client_cardinality 	(value cardinality "1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$7"
	    quid       	"4320C28D01F6"
	    roles      	(list role_list
		(object Role "serializeTarget"
		    quid       	"4320C28E031A"
		    label      	"serializeTarget"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLSerializeFunctionTarget"
		    quidu      	"4320C222013E"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "serializeFunction"
		    quid       	"4320C28E031C"
		    label      	"serializeFunction"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLSerializeFunction"
		    quidu      	"4320BC0E00FA"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$8"
	    quid       	"4320C2D6002E"
	    roles      	(list role_list
		(object Role "valueExpr"
		    quid       	"4320C2D70315"
		    label      	"valueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$9"
		    quid       	"4320C2D70333"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLSerializeFunctionTarget"
		    quidu      	"4320C222013E"
		    client_cardinality 	(value cardinality "1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$10"
	    quid       	"4325FCE0012C"
	    roles      	(list role_list
		(object Role "concatContentList"
		    quid       	"4325FCE0037B"
		    label      	"concatContentList"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionConcatContentItem"
		    quidu      	"4325FC9500E8"
		    client_cardinality 	(value cardinality "1..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "valueFunctionConcat"
		    quid       	"4325FCE0037D"
		    label      	"valueFunctionConcat"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionConcat"
		    quidu      	"4314C8B602DA"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$11"
	    quid       	"4325FD3403AF"
	    roles      	(list role_list
		(object Role "valueExpr"
		    quid       	"4325FD350306"
		    label      	"valueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$12"
		    quid       	"4325FD35031A"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionConcatContentItem"
		    quidu      	"4325FC9500E8"
		    client_cardinality 	(value cardinality "1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$13"
	    quid       	"4325FF8900C9"
	    roles      	(list role_list
		(object Role "commentContent"
		    quid       	"4325FF8902DA"
		    label      	"commentContent"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionCommentContent"
		    quidu      	"4325FF710379"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "valueFunctionComment"
		    quid       	"4325FF8902DC"
		    label      	"valueFunctionComment"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionComment"
		    quidu      	"431F5A830075"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$14"
	    quid       	"4325FFFC00C3"
	    roles      	(list role_list
		(object Role "valueExpr"
		    quid       	"4325FFFC0388"
		    label      	"valueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$15"
		    quid       	"4325FFFC03A6"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionCommentContent"
		    quidu      	"4325FF710379"
		    client_cardinality 	(value cardinality "1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$16"
	    quid       	"4326038C0283"
	    roles      	(list role_list
		(object Role "documentContent"
		    quid       	"4326038E0155"
		    label      	"documentContent"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionDocumentContent"
		    quidu      	"432603710070"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "valueFunctionDocument"
		    quid       	"4326038E0157"
		    label      	"valueFunctionDocument"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionDocument"
		    quidu      	"431F5B1E0385"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$17"
	    quid       	"432603E8011E"
	    roles      	(list role_list
		(object Role "valueExpr"
		    quid       	"432603EA02B5"
		    label      	"valueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$18"
		    quid       	"432603EA02D3"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionDocumentContent"
		    quidu      	"432603710070"
		    client_cardinality 	(value cardinality "1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$19"
	    quid       	"4326192702FC"
	    roles      	(list role_list
		(object Role "sortSpecList"
		    quid       	"4326192803A0"
		    label      	"sortSpecList"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLAggregateSortSpecification"
		    quidu      	"432619080328"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "aggregateFunction"
		    quid       	"4326192803A2"
		    label      	"aggregateFunction"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLAggregateFunction"
		    quidu      	"4314C8B602E4"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$20"
	    quid       	"432619B70328"
	    roles      	(list role_list
		(object Role "orderBySpec"
		    quid       	"432619B90329"
		    label      	"orderBySpec"
		    supplier   	"Logical View::SQLQueryModel::OrderBySpecification"
		    quidu      	"404D14E20381"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$21"
		    quid       	"432619B9032B"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLAggregateSortSpecification"
		    quidu      	"432619080328"
		    client_cardinality 	(value cardinality "1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$22"
	    quid       	"432621D30389"
	    roles      	(list role_list
		(object Role "valueExpr"
		    quid       	"432621D40272"
		    label      	"valueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$23"
		    quid       	"432621D40286"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionElementContentItem"
		    quidu      	"4314C8B602C9"
		    client_cardinality 	(value cardinality "1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$24"
	    quid       	"432F1C12012E"
	    roles      	(list role_list
		(object Role "forestContentList"
		    quid       	"432F1C130143"
		    label      	"forestContentList"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionForestContentItem"
		    quidu      	"432F1BC80031"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "valueFunctionForest"
		    quid       	"432F1C130145"
		    label      	"valueFunctionForest"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionForest"
		    quidu      	"4314C8B60333"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$25"
	    quid       	"432F1E090211"
	    roles      	(list role_list
		(object Role "valueExpr"
		    quid       	"432F1E09035B"
		    label      	"valueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$26"
		    quid       	"432F1E090397"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionForestContentItem"
		    quidu      	"432F1BC80031"
		    client_cardinality 	(value cardinality "1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$27"
	    quid       	"432F329D01F7"
	    roles      	(list role_list
		(object Role "parseContent"
		    quid       	"432F329E0146"
		    label      	"parseContent"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionParseContent"
		    quidu      	"432F3271034A"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "valueFunctionParse"
		    quid       	"432F329E0148"
		    label      	"valueFunctionParse"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionParse"
		    quidu      	"431F5B4E0244"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$28"
	    quid       	"432F336600AF"
	    roles      	(list role_list
		(object Role "valueExpr"
		    quid       	"432F33660334"
		    label      	"valueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$29"
		    quid       	"432F33660352"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionParseContent"
		    quidu      	"432F3271034A"
		    client_cardinality 	(value cardinality "1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$30"
	    quid       	"432F39250383"
	    roles      	(list role_list
		(object Role "PIContent"
		    quid       	"432F392601CB"
		    label      	"PIContent"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionPIContent"
		    quidu      	"432F390B0155"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "valueFunctionPI"
		    quid       	"432F392601CD"
		    label      	"valueFunctionPI"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionPI"
		    quidu      	"431F5B8B0129"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$31"
	    quid       	"432F39B30146"
	    roles      	(list role_list
		(object Role "valueExpr"
		    quid       	"432F39B30359"
		    label      	"valueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$32"
		    quid       	"432F39B3036D"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionPIContent"
		    quidu      	"432F390B0155"
		    client_cardinality 	(value cardinality "1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$33"
	    quid       	"432F3CC90159"
	    roles      	(list role_list
		(object Role "xqueryExpr"
		    quid       	"432F3CCA01D3"
		    label      	"xqueryExpr"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLQueryExpression"
		    quidu      	"4320947501C6"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "valueFunctionQuery"
		    quid       	"432F3CCA01D5"
		    label      	"valueFunctionQuery"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionQuery"
		    quidu      	"431F5BAE0364"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$34"
	    quid       	"432F3FBC01A5"
	    roles      	(list role_list
		(object Role "xqueryArgList"
		    quid       	"432F3FBD00AC"
		    label      	"xqueryArgList"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLQueryArgumentList"
		    quidu      	"43209B100380"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "valueFunctionQuery"
		    quid       	"432F3FBD00AE"
		    label      	"valueFunctionQuery"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionQuery"
		    quidu      	"431F5BAE0364"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$35"
	    quid       	"432F5B7F0059"
	    roles      	(list role_list
		(object Role "textContent"
		    quid       	"432F5B7F0227"
		    label      	"textContent"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionTextContent"
		    quidu      	"432F5B620073"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "valueFunctionText"
		    quid       	"432F5B7F0229"
		    label      	"valueFunctionText"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionText"
		    quidu      	"431F5DFD011F"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$36"
	    quid       	"432F5BD70178"
	    roles      	(list role_list
		(object Role "valueExpr"
		    quid       	"432F5BD80026"
		    label      	"valueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$37"
		    quid       	"432F5BD8003A"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionTextContent"
		    quidu      	"432F5B620073"
		    client_cardinality 	(value cardinality "1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$38"
	    quid       	"432F61200036"
	    roles      	(list role_list
		(object Role "validateContent"
		    quid       	"432F61200291"
		    label      	"validateContent"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionValidateContent"
		    quidu      	"432F60FF0073"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "valueFunctionValidate"
		    quid       	"432F61200293"
		    label      	"valueFunctionValidate"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionValidate"
		    quidu      	"431F64ED0250"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$39"
	    quid       	"432F61960258"
	    roles      	(list role_list
		(object Role "valueExpr"
		    quid       	"432F619701C5"
		    label      	"valueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$40"
		    quid       	"432F619701E3"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionValidateContent"
		    quidu      	"432F60FF0073"
		    client_cardinality 	(value cardinality "1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$41"
	    quid       	"432F6C0F004B"
	    roles      	(list role_list
		(object Role "xqueryArgList"
		    quid       	"432F6C0F0308"
		    label      	"xqueryArgList"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLQueryArgumentList"
		    quidu      	"43209B100380"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "tableFunction"
		    quid       	"432F6C0F0312"
		    label      	"tableFunction"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLTableFunction"
		    quidu      	"432F58BF035B"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$42"
	    quid       	"432F71A40340"
	    roles      	(list role_list
		(object Role "columnDefList"
		    quid       	"432F71A5020C"
		    label      	"columnDefList"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLTableColumnDefinitionItem"
		    quidu      	"432F717D0304"
		    client_cardinality 	(value cardinality "1..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "tableFunction"
		    quid       	"432F71A5020E"
		    label      	"tableFunction"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLTableFunction"
		    quidu      	"432F58BF035B"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$43"
	    quid       	"432F74E40124"
	    roles      	(list role_list
		(object Role "validateAccordingTo"
		    quid       	"432F74E403E1"
		    label      	"validateAccordingTo"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionValidateAccordingTo"
		    quidu      	"432F748E01DE"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "valueFunctionValidate"
		    quid       	"432F74E403E3"
		    label      	"valueFunctionValidate"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionValidate"
		    quidu      	"431F64ED0250"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$44"
	    quid       	"433B45AE006E"
	    roles      	(list role_list
		(object Role "namespaceDecltemList"
		    quid       	"433B45AE02DB"
		    label      	"namespaceDecltemList"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLNamespaceDeclarationItem"
		    quidu      	"4314C8B6031E"
		    client_cardinality 	(value cardinality "1..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "namespacesDecl"
		    quid       	"433B45AE02DD"
		    label      	"namespacesDecl"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLNamespacesDeclaration"
		    quidu      	"433B457C01AC"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$45"
	    quid       	"433B466C03A8"
	    roles      	(list role_list
		(object Role "namespacesDecl"
		    quid       	"433B466D024B"
		    label      	"namespacesDecl"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLNamespacesDeclaration"
		    quidu      	"433B457C01AC"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "valueFunctionElement"
		    quid       	"433B466D024D"
		    label      	"valueFunctionElement"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionElement"
		    quidu      	"4314C8B602F6"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$46"
	    quid       	"433B49720088"
	    roles      	(list role_list
		(object Role "attributesDecl"
		    quid       	"433B49720359"
		    label      	"attributesDecl"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLAttributesDeclaration"
		    quidu      	"433B484E00E9"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "valueFunctionElement"
		    quid       	"433B4972035B"
		    label      	"valueFunctionElement"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionElement"
		    quidu      	"4314C8B602F6"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$47"
	    quid       	"433B49E00235"
	    roles      	(list role_list
		(object Role "attributeDeclItem"
		    quid       	"433B49E1022D"
		    label      	"attributeDeclItem"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLAttributeDeclarationItem"
		    quidu      	"4314C8B602B2"
		    client_cardinality 	(value cardinality "1..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "attributesDecl"
		    quid       	"433B49E1022F"
		    label      	"attributesDecl"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLAttributesDeclaration"
		    quidu      	"433B484E00E9"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$48"
	    quid       	"433B4B1C0323"
	    roles      	(list role_list
		(object Role "elementContentList"
		    quid       	"433B4B1E0240"
		    label      	"elementContentList"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionElementContentList"
		    quidu      	"433B4AE70268"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "valueFunctionElement"
		    quid       	"433B4B1E024A"
		    label      	"valueFunctionElement"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionElement"
		    quidu      	"4314C8B602F6"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$49"
	    quid       	"433B4BE200D1"
	    roles      	(list role_list
		(object Role "elementContentListChildren"
		    quid       	"433B4BE30050"
		    label      	"elementContentListChildren"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionElementContentItem"
		    quidu      	"4314C8B602C9"
		    client_cardinality 	(value cardinality "0..n")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "elementContentList"
		    quid       	"433B4BE3005A"
		    label      	"elementContentList"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionElementContentList"
		    quidu      	"433B4AE70268"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$50"
	    quid       	"433B4E8C0091"
	    roles      	(list role_list
		(object Role "namespacesDecl"
		    quid       	"433B4E8C02B8"
		    label      	"namespacesDecl"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLNamespacesDeclaration"
		    quidu      	"433B457C01AC"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "valueFunctionForest"
		    quid       	"433B4E8C02BA"
		    label      	"valueFunctionForest"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionForest"
		    quidu      	"4314C8B60333"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$51"
	    quid       	"433B51E302F3"
	    roles      	(list role_list
		(object Role "namespacesDecl"
		    quid       	"433B51E4020E"
		    label      	"namespacesDecl"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLNamespacesDeclaration"
		    quidu      	"433B457C01AC"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "tableFunction"
		    quid       	"433B51E40218"
		    label      	"tableFunction"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLTableFunction"
		    quidu      	"432F58BF035B"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$52"
	    quid       	"4344923B038E"
	    roles      	(list role_list
		(object Role "queryReturning"
		    quid       	"4344923C032B"
		    label      	"queryReturning"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionQueryReturning"
		    quidu      	"434490B20155"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "valueFunctionQuery"
		    quid       	"4344923C032D"
		    label      	"valueFunctionQuery"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionQuery"
		    quidu      	"431F5BAE0364"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$53"
	    quid       	"4346E8A102C8"
	    roles      	(list role_list
		(object Role "validateElementNamespace"
		    quid       	"4346E8A2008F"
		    label      	"validateElementNamespace"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionValidateElementNamespace"
		    quidu      	"432F7B6000C4"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "validateElement"
		    quid       	"4346E8A20099"
		    label      	"validateElement"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionValidateElement"
		    quidu      	"4346E84C020E"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$54"
	    quid       	"4346E8F401DA"
	    roles      	(list role_list
		(object Role "validateElementName"
		    quid       	"4346E8F90277"
		    label      	"validateElementName"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionValidateElementName"
		    quidu      	"432F792C0211"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "validateElement"
		    quid       	"4346E8F90279"
		    label      	"validateElement"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionValidateElement"
		    quidu      	"4346E84C020E"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$55"
	    quid       	"4346E9550359"
	    roles      	(list role_list
		(object Role "validateElement"
		    quid       	"4346E95D0043"
		    label      	"validateElement"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionValidateElement"
		    quidu      	"4346E84C020E"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "validateAccordingTo"
		    quid       	"4346E95D0045"
		    label      	"validateAccordingTo"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLValueFunctionValidateAccordingTo"
		    quidu      	"432F748E01DE"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$56"
	    quid       	"43598EF500D1"
	    roles      	(list role_list
		(object Role "valueExpr"
		    quid       	"43598EF70322"
		    label      	"valueExpr"
		    supplier   	"Logical View::SQLQueryModel::QueryValueExpression"
		    quidu      	"3B3792520160"
		    client_cardinality 	(value cardinality "1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "$UNNAMED$57"
		    quid       	"43598EF7034A"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLTableColumnDefinitionDefault"
		    quidu      	"43598E370091"
		    client_cardinality 	(value cardinality "1")
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$58"
	    quid       	"43598F37019E"
	    roles      	(list role_list
		(object Role "columnDefinitionDefault"
		    quid       	"43598F3800AF"
		    label      	"columnDefinitionDefault"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLTableColumnDefinitionDefault"
		    quidu      	"43598E370091"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "columnDefinitionRegular"
		    quid       	"43598F3800B9"
		    label      	"columnDefinitionRegular"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLTableColumnDefinitionRegular"
		    quidu      	"432F7257029B"
		    client_cardinality 	(value cardinality "1")
		    is_navigable 	TRUE
		    is_aggregate 	TRUE)))
	(object Association "$UNNAMED$59"
	    quid       	"435E96610004"
	    roles      	(list role_list
		(object Role "serializeEncoding"
		    quid       	"435E966101D1"
		    label      	"serializeEncoding"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLSerializeFunctionEncoding"
		    quidu      	"435E96130247"
		    client_cardinality 	(value cardinality "0..1")
		    Containment 	"By Value"
		    is_navigable 	TRUE)
		(object Role "serializeFunction"
		    quid       	"435E966101D3"
		    label      	"serializeFunction"
		    supplier   	"Logical View::SQLXMLQueryModel::XMLSerializeFunction"
		    quidu      	"4320BC0E00FA"
		    client_cardinality 	(value cardinality "1")
		    is_aggregate 	TRUE))))
    logical_presentations 	(list unit_reference_list
	(object ClassDiagram "XMLValueFunction"
	    quid       	"431F4FA90067"
	    title      	"XMLValueFunction"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunction" @1
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1391, 273)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@1
			location   	(1114, 215)
			fill_color 	13434879
			nlines     	1
			max_width  	554
			justify    	0
			label      	"XMLValueFunction")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"4314C8B602D6"
		    width      	572
		    height     	144
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionElement" @2
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1001, 1482)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@2
			location   	(633, 1425)
			fill_color 	13434879
			nlines     	1
			max_width  	736
			justify    	0
			label      	"XMLValueFunctionElement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4314C8B602F6"
		    width      	754
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionForest" @3
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1196, 1716)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@3
			location   	(850, 1659)
			fill_color 	13434879
			nlines     	1
			max_width  	692
			justify    	0
			label      	"XMLValueFunctionForest")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4314C8B60333"
		    width      	710
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionConcat" @4
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(663, 1027)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@4
			location   	(312, 970)
			fill_color 	13434879
			nlines     	1
			max_width  	702
			justify    	0
			label      	"XMLValueFunctionConcat")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4314C8B602DA"
		    width      	720
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionComment" @5
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(455, 793)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@5
			location   	(70, 736)
			fill_color 	13434879
			nlines     	1
			max_width  	770
			justify    	0
			label      	"XMLValueFunctionComment")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"431F5A830075"
		    width      	788
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionDocument" @6
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(793, 1261)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@6
			location   	(396, 1204)
			fill_color 	13434879
			nlines     	1
			max_width  	794
			justify    	0
			label      	"XMLValueFunctionDocument")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"431F5B1E0385"
		    width      	812
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionParse" @7
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1352, 1937)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@7
			location   	(1007, 1880)
			fill_color 	13434879
			nlines     	1
			max_width  	690
			justify    	0
			label      	"XMLValueFunctionParse")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"431F5B4E0244"
		    width      	708
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionPI" @8
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1560, 2158)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@8
			location   	(1270, 2101)
			fill_color 	13434879
			nlines     	1
			max_width  	580
			justify    	0
			label      	"XMLValueFunctionPI")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"431F5B8B0129"
		    width      	598
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionQuery" @9
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1677, 2379)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@9
			location   	(1339, 2322)
			fill_color 	13434879
			nlines     	1
			max_width  	676
			justify    	0
			label      	"XMLValueFunctionQuery")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"431F5BAE0364"
		    width      	694
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionText" @10
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1846, 2600)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@10
			location   	(1531, 2543)
			fill_color 	13434879
			nlines     	1
			max_width  	630
			justify    	0
			label      	"XMLValueFunctionText")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"431F5DFD011F"
		    width      	648
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionValidate" @11
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1950, 2821)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@11
			location   	(1576, 2764)
			fill_color 	13434879
			nlines     	1
			max_width  	748
			justify    	0
			label      	"XMLValueFunctionValidate")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"431F64ED0250"
		    width      	766
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionFunction" @12
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(429, 273)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@12
			location   	(88, 185)
			fill_color 	13434879
			nlines     	1
			max_width  	682
			justify    	0
			label      	"ValueExpressionFunction")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B389F78002D"
		    width      	700
		    height     	204
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @13
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4320C1D00059"
		    client     	@1
		    supplier   	@12
		    line_style 	0)
		(object InheritTreeView "" @14
		    location   	(1391, 569)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@1
		    vertices   	(list Points
			(1391, 569)
			(1391, 345)))
		(object InheritView "" @15
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"431F5FA20341"
		    client     	@5
		    supplier   	@1
		    line_style 	3
		    origin_attachment 	(753, 721)
		    terminal_attachment 	(753, 569)
		    drawSupplier 	@14)
		(object InheritView "" @16
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"431F5FB30346"
		    client     	@6
		    supplier   	@1
		    line_style 	3
		    origin_attachment 	(1078, 1189)
		    terminal_attachment 	(1078, 569)
		    drawSupplier 	@14)
		(object InheritView "" @17
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"431F64B402F8"
		    client     	@7
		    supplier   	@1
		    line_style 	3
		    origin_attachment 	(1596, 1865)
		    terminal_attachment 	(1596, 569)
		    drawSupplier 	@14)
		(object InheritView "" @18
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"431F64C101DE"
		    client     	@8
		    supplier   	@1
		    line_style 	3
		    origin_attachment 	(1756, 2086)
		    terminal_attachment 	(1756, 569)
		    drawSupplier 	@14)
		(object InheritView "" @19
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"431F64CC0021"
		    client     	@9
		    supplier   	@1
		    line_style 	3
		    origin_attachment 	(1909, 2307)
		    terminal_attachment 	(1909, 569)
		    drawSupplier 	@14)
		(object InheritView "" @20
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"431F64D7004F"
		    client     	@10
		    supplier   	@1
		    line_style 	3
		    origin_attachment 	(2062, 2528)
		    terminal_attachment 	(2062, 569)
		    drawSupplier 	@14)
		(object InheritView "" @21
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"431F65080140"
		    client     	@11
		    supplier   	@1
		    line_style 	3
		    origin_attachment 	(2221, 2749)
		    terminal_attachment 	(2221, 569)
		    drawSupplier 	@14)
		(object InheritView "" @22
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4314C8B602D9"
		    client     	@4
		    supplier   	@1
		    line_style 	3
		    origin_attachment 	(909, 956)
		    terminal_attachment 	(909, 569)
		    drawSupplier 	@14)
		(object InheritView "" @23
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4314C8B60334"
		    client     	@3
		    supplier   	@1
		    line_style 	3
		    origin_attachment 	(1434, 1644)
		    terminal_attachment 	(1434, 569)
		    drawSupplier 	@14)
		(object InheritView "" @24
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4326081A038A"
		    client     	@2
		    supplier   	@1
		    line_style 	3
		    origin_attachment 	(1260, 1410)
		    terminal_attachment 	(1260, 569)
		    drawSupplier 	@14)))
	(object ClassDiagram "XMLCast"
	    quid       	"431F8D3503DE"
	    title      	"XMLCast"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	513
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueExpressionCast" @25
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1287, 780)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@25
			location   	(759, 691)
			fill_color 	13434879
			nlines     	1
			max_width  	1056
			justify    	0
			label      	"XMLValueExpressionCast")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"431F8D6D0258"
		    compartment 	(object Compartment
			Parent_View 	@25
			location   	(759, 758)
			font       	(object Font
			    size       	12
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Label"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	897)
		    width      	1074
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionCast" @26
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(494, 286)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@26
			location   	(196, 198)
			fill_color 	13434879
			nlines     	1
			max_width  	596
			justify    	0
			label      	"ValueExpressionCast")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B389F33029B"
		    width      	614
		    height     	204
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @27
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"431F8E0103E1"
		    client     	@25
		    supplier   	@26
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLPassingType" @28
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1287, 1339)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@28
			location   	(1039, 1216)
			fill_color 	13434879
			nlines     	1
			max_width  	496
			justify    	0
			label      	"XMLPassingType")
		    stereotype 	(object ItemLabel
			Parent_View 	@28
			location   	(1039, 1166)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	496
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	14079702
		    quidu      	"431F8E950073"
		    compartment 	(object Compartment
			Parent_View 	@28
			location   	(1039, 1283)
			font       	(object Font
			    size       	12
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Label"
			fill_color 	16777215
			anchor     	2
			nlines     	4
			max_width  	315)
		    width      	514
		    height     	374
		    annotation 	8
		    autoResize 	TRUE)))
	(object ClassDiagram "XMLPredicate"
	    quid       	"431F91670139"
	    title      	"XMLPredicate"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLPredicate" @29
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1209, 572)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@29
			location   	(1001, 512)
			fill_color 	13434879
			nlines     	1
			max_width  	416
			justify    	0
			label      	"XMLPredicate")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"431F91DA0333"
		    width      	434
		    height     	148
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::Predicate" @30
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1209, 234)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@30
			location   	(965, 146)
			fill_color 	13434879
			nlines     	1
			max_width  	488
			justify    	0
			label      	"Predicate")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B37F1C2039C"
		    width      	506
		    height     	204
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @31
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"431F921F035B"
		    client     	@29
		    supplier   	@30
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLPredicateContent" @32
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(351, 1014)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@32
			location   	(48, 957)
			fill_color 	13434879
			nlines     	1
			max_width  	606
			justify    	0
			label      	"XMLPredicateContent")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"431F922D0058"
		    width      	624
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLPredicateDocument" @33
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(949, 1209)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@33
			location   	(613, 1152)
			fill_color 	13434879
			nlines     	1
			max_width  	672
			justify    	0
			label      	"XMLPredicateDocument")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"431F928F0167"
		    width      	690
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLPredicateValid" @34
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2080, 1664)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@34
			location   	(1805, 1607)
			fill_color 	13434879
			nlines     	1
			max_width  	550
			justify    	0
			label      	"XMLPredicateValid")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"431F92C5001A"
		    width      	568
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @35
		    location   	(1209, 844)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@29
		    vertices   	(list Points
			(1209, 844)
			(1209, 646)))
		(object InheritView "" @36
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"431F92E40304"
		    client     	@33
		    supplier   	@29
		    line_style 	3
		    origin_attachment 	(931, 1137)
		    terminal_attachment 	(931, 844)
		    drawSupplier 	@35)
		(object InheritView "" @37
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"431F92E80025"
		    client     	@32
		    supplier   	@29
		    line_style 	3
		    origin_attachment 	(334, 943)
		    terminal_attachment 	(334, 844)
		    drawSupplier 	@35)
		(object InheritView "" @38
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"431F92EB025A"
		    client     	@34
		    supplier   	@29
		    line_style 	3
		    origin_attachment 	(2084, 1593)
		    terminal_attachment 	(2084, 844)
		    drawSupplier 	@35)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLPredicateExists" @39
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1508, 1430)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@39
			location   	(1220, 1373)
			fill_color 	13434879
			nlines     	1
			max_width  	576
			justify    	0
			label      	"XMLPredicateExists")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"431F92AC0390"
		    width      	594
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @40
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"431F92E1006B"
		    client     	@39
		    supplier   	@29
		    line_style 	3
		    origin_attachment 	(1484, 1359)
		    terminal_attachment 	(1484, 844)
		    drawSupplier 	@35)))
	(object ClassDiagram "XMLSerialize"
	    quid       	"4320BA62000E"
	    title      	"XMLSerialize"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionFunction" @41
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(442, 208)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@41
			location   	(101, 120)
			fill_color 	13434879
			nlines     	1
			max_width  	682
			justify    	0
			label      	"ValueExpressionFunction")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B389F78002D"
		    width      	700
		    height     	204
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLContentType" @42
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(689, 2197)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@42
			location   	(449, 2086)
			fill_color 	13434879
			nlines     	1
			max_width  	480
			justify    	0
			label      	"XMLContentType")
		    stereotype 	(object ItemLabel
			Parent_View 	@42
			location   	(449, 2036)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	480
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	14079702
		    quidu      	"4320BD26008F"
		    compartment 	(object Compartment
			Parent_View 	@42
			location   	(449, 2153)
			font       	(object Font
			    size       	12
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Label"
			fill_color 	16777215
			anchor     	2
			nlines     	4
			max_width  	343)
		    width      	498
		    height     	350
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @43
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(780, 1755)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@43
			location   	(451, 1666)
			fill_color 	13434879
			nlines     	1
			max_width  	658
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	676
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLDeclarationType" @44
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1638, 2197)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@44
			location   	(1156, 2083)
			fill_color 	13434879
			nlines     	1
			max_width  	964
			justify    	0
			label      	"XMLDeclarationType")
		    stereotype 	(object ItemLabel
			Parent_View 	@44
			location   	(1156, 2033)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	964
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	14079702
		    quidu      	"4320C38A0272"
		    compartment 	(object Compartment
			Parent_View 	@44
			location   	(1156, 2150)
			font       	(object Font
			    size       	12
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Label"
			fill_color 	16777215
			anchor     	2
			nlines     	4
			max_width  	828)
		    width      	982
		    height     	356
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLSerializeFunctionTarget" @45
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(780, 1300)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@45
			location   	(401, 1243)
			fill_color 	13434879
			nlines     	1
			max_width  	758
			justify    	0
			label      	"XMLSerializeFunctionTarget")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4320C222013E"
		    width      	776
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$8" @46
		    location   	(780, 1511)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4320C2D6002E"
		    roleview_list 	(list RoleViews
			(object RoleView "valueExpr" @47
			    Parent_View 	@46
			    location   	(-494, 406)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @48
				Parent_View 	@47
				location   	(610, 1608)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	254
				justify    	0
				label      	"+valueExpr"
				pctDist    	0.701493
				height     	171
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4320C2D70315"
			    client     	@46
			    supplier   	@43
			    line_style 	0
			    label      	(object SegLabel @49
				Parent_View 	@47
				location   	(834, 1604)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.662110
				height     	54
				orientation 	0))
			(object RoleView "$UNNAMED$9" @50
			    Parent_View 	@46
			    location   	(-494, 406)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4320C2D70333"
			    client     	@46
			    supplier   	@45
			    line_style 	0
			    label      	(object SegLabel @51
				Parent_View 	@50
				location   	(846, 1406)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.748256
				height     	66
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLSerializeFunctionEncoding" @52
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1781, 1326)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@52
			location   	(1354, 1243)
			fill_color 	13434879
			nlines     	1
			max_width  	854
			justify    	0
			label      	"XMLSerializeFunctionEncoding")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"435E96130247"
		    compartment 	(object Compartment
			Parent_View 	@52
			location   	(1354, 1310)
			font       	(object Font
			    size       	10
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Label"
			fill_color 	13434879
			anchor     	2
			nlines     	2
			max_width  	471)
		    width      	872
		    height     	194
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLSerializeFunction" @53
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1222, 702)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@53
			location   	(675, 556)
			fill_color 	13434879
			nlines     	1
			max_width  	1094
			justify    	0
			label      	"XMLSerializeFunction")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4320BC0E00FA"
		    compartment 	(object Compartment
			Parent_View 	@53
			location   	(675, 623)
			font       	(object Font
			    size       	12
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Label"
			fill_color 	16777215
			anchor     	2
			nlines     	4
			max_width  	940)
		    width      	1112
		    height     	320
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @54
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4320BD0C0222"
		    client     	@53
		    supplier   	@41
		    line_style 	0)
		(object AssociationViewNew "$UNNAMED$7" @55
		    location   	(967, 1045)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4320C28D01F6"
		    roleview_list 	(list RoleViews
			(object RoleView "serializeTarget" @56
			    Parent_View 	@55
			    location   	(-307, 330)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @57
				Parent_View 	@56
				location   	(638, 1139)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	360
				justify    	0
				label      	"+serializeTarget"
				pctDist    	1.196717
				height     	210
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4320C28E031A"
			    client     	@55
			    supplier   	@45
			    line_style 	0
			    label      	(object SegLabel @58
				Parent_View 	@56
				location   	(946, 1190)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.570325
				height     	69
				orientation 	0))
			(object RoleView "serializeFunction" @59
			    Parent_View 	@55
			    location   	(-307, 330)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @60
				Parent_View 	@59
				location   	(812, 899)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	391
				justify    	0
				label      	"+serializeFunction"
				pctDist    	0.117922
				height     	213
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4320C28E031C"
			    client     	@55
			    supplier   	@53
			    line_style 	0
			    label      	(object SegLabel @61
				Parent_View 	@59
				location   	(1144, 906)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.954921
				height     	60
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$59" @62
		    location   	(1529, 1045)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"435E96610004"
		    roleview_list 	(list RoleViews
			(object RoleView "serializeEncoding" @63
			    Parent_View 	@62
			    location   	(307, 343)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @64
				Parent_View 	@63
				location   	(1411, 1175)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	430
				justify    	0
				label      	"+serializeEncoding"
				pctDist    	0.073753
				height     	175
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"435E966101D1"
			    client     	@62
			    supplier   	@52
			    line_style 	0
			    label      	(object SegLabel @65
				Parent_View 	@63
				location   	(1738, 1191)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	1.009548
				height     	59
				orientation 	0))
			(object RoleView "serializeFunction" @66
			    Parent_View 	@62
			    location   	(307, 343)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @67
				Parent_View 	@66
				location   	(1649, 916)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	405
				justify    	0
				label      	"+serializeFunction"
				pctDist    	0.074149
				height     	176
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"435E966101D3"
			    client     	@62
			    supplier   	@53
			    line_style 	0
			    label      	(object SegLabel @68
				Parent_View 	@66
				location   	(1342, 908)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.926040
				height     	49
				orientation 	0))))))
	(object ClassDiagram "XMLAggregate"
	    quid       	"4320C5B003BD"
	    title      	"XMLAggregate"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	19
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::SQLQueryModel::ValueExpressionFunction" @69
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(429, 247)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@69
			location   	(88, 162)
			fill_color 	13434879
			nlines     	1
			max_width  	682
			justify    	0
			label      	"ValueExpressionFunction")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3B389F78002D"
		    width      	700
		    height     	198
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLAggregateFunction" @70
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1170, 637)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@70
			location   	(678, 547)
			fill_color 	13434879
			nlines     	1
			max_width  	984
			justify    	0
			label      	"XMLAggregateFunction")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4314C8B602E4"
		    compartment 	(object Compartment
			Parent_View 	@70
			location   	(678, 614)
			font       	(object Font
			    size       	12
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Label"
			fill_color 	16777215
			anchor     	2
			nlines     	2
			max_width  	835)
		    width      	1002
		    height     	208
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @71
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4320C6DC0198"
		    client     	@70
		    supplier   	@69
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLQueryModel::OrderBySpecification" @72
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1170, 1716)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@72
			location   	(602, 1535)
			fill_color 	13434879
			nlines     	1
			max_width  	1136
			justify    	0
			label      	"OrderBySpecification")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"404D14E20381"
		    compartment 	(object Compartment
			Parent_View 	@72
			location   	(602, 1659)
			font       	(object Font
			    size       	12
			    face       	"Arial"
			    bold       	FALSE
			    italics    	TRUE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Label"
			fill_color 	16777215
			anchor     	2
			nlines     	4
			max_width  	966)
		    width      	1154
		    height     	390
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLAggregateSortSpecification" @73
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1170, 1132)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@73
			location   	(730, 1075)
			fill_color 	13434879
			nlines     	1
			max_width  	880
			justify    	0
			label      	"XMLAggregateSortSpecification")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"432619080328"
		    width      	898
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$19" @74
		    location   	(1170, 900)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4326192702FC"
		    roleview_list 	(list RoleViews
			(object RoleView "sortSpecList" @75
			    Parent_View 	@74
			    location   	(-156, -75)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @76
				Parent_View 	@75
				location   	(973, 1011)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	310
				justify    	0
				label      	"+sortSpecList"
				pctDist    	0.692737
				height     	198
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4326192803A0"
			    client     	@74
			    supplier   	@73
			    line_style 	0
			    label      	(object SegLabel @77
				Parent_View 	@75
				location   	(1239, 1013)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.710692
				height     	69
				orientation 	0))
			(object RoleView "aggregateFunction" @78
			    Parent_View 	@74
			    location   	(-156, -75)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @79
				Parent_View 	@78
				location   	(907, 786)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	447
				justify    	0
				label      	"+aggregateFunction"
				pctDist    	0.723270
				height     	264
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4326192803A2"
			    client     	@74
			    supplier   	@70
			    line_style 	0
			    label      	(object SegLabel @80
				Parent_View 	@78
				location   	(1223, 799)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.641509
				height     	53
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$20" @81
		    location   	(1170, 1361)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"432619B70328"
		    roleview_list 	(list RoleViews
			(object RoleView "orderBySpec" @82
			    Parent_View 	@81
			    location   	(-156, -108)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @83
				Parent_View 	@82
				location   	(987, 1455)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	319
				justify    	0
				label      	"+orderBySpec"
				pctDist    	0.590909
				height     	184
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432619B90329"
			    client     	@81
			    supplier   	@72
			    line_style 	0
			    label      	(object SegLabel @84
				Parent_View 	@82
				location   	(1223, 1468)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.674242
				height     	53
				orientation 	0))
			(object RoleView "$UNNAMED$21" @85
			    Parent_View 	@81
			    location   	(-156, -108)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432619B9032B"
			    client     	@81
			    supplier   	@73
			    line_style 	0
			    label      	(object SegLabel @86
				Parent_View 	@85
				location   	(1224, 1220)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLReturningType" @87
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1937, 2158)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@87
			location   	(1559, 2035)
			fill_color 	13434879
			nlines     	1
			max_width  	756
			justify    	0
			label      	"XMLReturningType")
		    stereotype 	(object ItemLabel
			Parent_View 	@87
			location   	(1559, 1985)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	756
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	14079702
		    quidu      	"4325EA170132"
		    compartment 	(object Compartment
			Parent_View 	@87
			location   	(1559, 2102)
			font       	(object Font
			    size       	12
			    face       	"Arial"
			    bold       	FALSE
			    italics    	FALSE
			    underline  	FALSE
			    strike     	FALSE
			    color      	0
			    default_color 	TRUE)
			icon_style 	"Label"
			fill_color 	16777215
			anchor     	2
			nlines     	4
			max_width  	650)
		    width      	774
		    height     	374
		    annotation 	8
		    autoResize 	TRUE)))
	(object ClassDiagram "XMLElement"
	    quid       	"4320C80F030C"
	    title      	"XMLElement"
	    documentation 	"Generates an XML value which is an XML document element.  See ISO SQL/XML sec. 6.13.  The <XML element name> clause is handled by the name attribute defined in the superclass."
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLNamespaceDeclarationPrefix" @88
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(520, 2015)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@88
			location   	(62, 1926)
			fill_color 	13434879
			nlines     	1
			max_width  	916
			justify    	0
			label      	"XMLNamespaceDeclarationPrefix")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4314C8B60324"
		    width      	934
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLNamespaceDeclarationDefault" @89
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(780, 2262)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@89
			location   	(309, 2173)
			fill_color 	13434879
			nlines     	1
			max_width  	942
			justify    	0
			label      	"XMLNamespaceDeclarationDefault")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4314C8B60329"
		    width      	960
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunction" @90
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(338, 117)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@90
			location   	(61, 57)
			fill_color 	13434879
			nlines     	1
			max_width  	554
			justify    	0
			label      	"XMLValueFunction")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"4314C8B602D6"
		    width      	572
		    height     	148
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLNullHandlingType" @91
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(767, 2691)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@91
			location   	(422, 2484)
			fill_color 	13434879
			nlines     	1
			max_width  	690
			justify    	0
			label      	"XMLNullHandlingType")
		    stereotype 	(object ItemLabel
			Parent_View 	@91
			location   	(422, 2434)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	690
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	14079702
		    quidu      	"43261E3B014E"
		    width      	708
		    height     	542
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLReturningType" @92
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1755, 2678)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@92
			location   	(1441, 2567)
			fill_color 	13434879
			nlines     	1
			max_width  	628
			justify    	0
			label      	"XMLReturningType")
		    stereotype 	(object ItemLabel
			Parent_View 	@92
			location   	(1441, 2517)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	628
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	14079702
		    quidu      	"4325EA170132"
		    width      	646
		    height     	350
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLNamespaceDeclarationItem" @93
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(507, 1664)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@93
			location   	(67, 1575)
			fill_color 	13434879
			nlines     	1
			max_width  	880
			justify    	0
			label      	"XMLNamespaceDeclarationItem")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4314C8B6031E"
		    width      	898
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @94
		    location   	(507, 1865)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@93
		    vertices   	(list Points
			(507, 1865)
			(507, 1767)))
		(object InheritView "" @95
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4314C8B60323"
		    client     	@88
		    supplier   	@93
		    line_style 	3
		    origin_attachment 	(237, 1912)
		    terminal_attachment 	(237, 1865)
		    drawSupplier 	@94)
		(object InheritView "" @96
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4314C8B60328"
		    client     	@89
		    supplier   	@93
		    line_style 	3
		    origin_attachment 	(1090, 2158)
		    terminal_attachment 	(1090, 1865)
		    drawSupplier 	@94)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLAttributeDeclarationItem" @97
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1079, 1378)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@97
			location   	(695, 1321)
			fill_color 	13434879
			nlines     	1
			max_width  	768
			justify    	0
			label      	"XMLAttributeDeclarationItem")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4314C8B602B2"
		    width      	786
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLNamespacesDeclaration" @98
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(507, 819)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@98
			location   	(103, 762)
			fill_color 	13434879
			nlines     	1
			max_width  	808
			justify    	0
			label      	"XMLNamespacesDeclaration")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"433B457C01AC"
		    width      	826
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$44" @99
		    location   	(507, 1225)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"433B45AE006E"
		    roleview_list 	(list RoleViews
			(object RoleView "namespaceDecltemList" @100
			    Parent_View 	@99
			    location   	(0, 458)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @101
				Parent_View 	@100
				location   	(335, 1503)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	551
				justify    	0
				label      	"+namespaceDecltemList"
				pctDist    	0.833333
				height     	173
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"433B45AE02DB"
			    client     	@99
			    supplier   	@93
			    line_style 	0
			    label      	(object SegLabel @102
				Parent_View 	@100
				location   	(667, 1510)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..n"
				pctDist    	0.851515
				height     	160
				orientation 	0))
			(object RoleView "namespacesDecl" @103
			    Parent_View 	@99
			    location   	(0, 458)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @104
				Parent_View 	@103
				location   	(274, 943)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	416
				justify    	0
				label      	"+namespacesDecl"
				pctDist    	0.843648
				height     	234
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"433B45AE02DD"
			    client     	@99
			    supplier   	@98
			    line_style 	0
			    label      	(object SegLabel @105
				Parent_View 	@103
				location   	(561, 936)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.863192
				height     	54
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLAttributesDeclaration" @106
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1079, 1079)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@106
			location   	(733, 1022)
			fill_color 	13434879
			nlines     	1
			max_width  	692
			justify    	0
			label      	"XMLAttributesDeclaration")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"433B484E00E9"
		    width      	710
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$47" @107
		    location   	(1079, 1228)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"433B49E00235"
		    roleview_list 	(list RoleViews
			(object RoleView "attributeDeclItem" @108
			    Parent_View 	@107
			    location   	(-117, 162)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @109
				Parent_View 	@108
				location   	(846, 1276)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	409
				justify    	0
				label      	"+attributeDeclItem"
				pctDist    	0.615385
				height     	234
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"433B49E1022D"
			    client     	@107
			    supplier   	@97
			    line_style 	0
			    label      	(object SegLabel @110
				Parent_View 	@108
				location   	(1157, 1272)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..n"
				pctDist    	0.576923
				height     	78
				orientation 	0))
			(object RoleView "attributesDecl" @111
			    Parent_View 	@107
			    location   	(-117, 162)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @112
				Parent_View 	@111
				location   	(857, 1182)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	336
				justify    	0
				label      	"+attributesDecl"
				pctDist    	0.584416
				height     	223
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"433B49E1022F"
			    client     	@107
			    supplier   	@106
			    line_style 	0
			    label      	(object SegLabel @113
				Parent_View 	@111
				location   	(1146, 1186)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.545455
				height     	67
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @114
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1754, 2054)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@114
			location   	(1425, 1966)
			fill_color 	13434879
			nlines     	1
			max_width  	658
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	676
		    height     	204
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$0" @115
		    location   	(1152, 1796)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"431622D70082"
		    roleview_list 	(list RoleViews
			(object RoleView "valueExpr" @116
			    Parent_View 	@115
			    location   	(125, -661)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @117
				Parent_View 	@116
				location   	(1300, 1935)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	254
				justify    	0
				label      	"+valueExpr"
				pctDist    	0.481070
				height     	71
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"431622D8000B"
			    client     	@115
			    supplier   	@114
			    line_style 	0
			    label      	(object SegLabel @118
				Parent_View 	@116
				location   	(1514, 1894)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.939116
				height     	52
				orientation 	0))
			(object RoleView "$UNNAMED$1" @119
			    Parent_View 	@115
			    location   	(125, -661)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"431622D80015"
			    client     	@115
			    supplier   	@97
			    vertices   	(list Points
				(1152, 1796)
				(1078, 1765)
				(1078, 1449))
			    line_style 	0
			    label      	(object SegLabel @120
				Parent_View 	@119
				location   	(1142, 1528)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.800997
				height     	64
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionElement" @121
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1079, 416)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@121
			location   	(588, 298)
			fill_color 	13434879
			nlines     	1
			max_width  	982
			justify    	0
			label      	"XMLValueFunctionElement")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4314C8B602F6"
		    width      	1000
		    height     	264
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @122
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4326081A038A"
		    client     	@121
		    supplier   	@90
		    line_style 	0)
		(object AssociationViewNew "$UNNAMED$45" @123
		    location   	(747, 647)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"433B466C03A8"
		    roleview_list 	(list RoleViews
			(object RoleView "namespacesDecl" @124
			    Parent_View 	@123
			    location   	(-449, 231)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @125
				Parent_View 	@124
				location   	(282, 717)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	416
				justify    	0
				label      	"+namespacesDecl"
				pctDist    	2.444389
				height     	215
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"433B466D024B"
			    client     	@123
			    supplier   	@98
			    line_style 	0
			    label      	(object SegLabel @126
				Parent_View 	@124
				location   	(530, 716)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	1.263868
				height     	71
				orientation 	1))
			(object RoleView "valueFunctionElement" @127
			    Parent_View 	@123
			    location   	(-449, 231)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @128
				Parent_View 	@127
				location   	(474, 594)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	526
				justify    	0
				label      	"+valueFunctionElement"
				pctDist    	-1.125044
				height     	201
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"433B466D024D"
			    client     	@123
			    supplier   	@121
			    line_style 	0
			    label      	(object SegLabel @129
				Parent_View 	@127
				location   	(761, 590)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.256668
				height     	40
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$46" @130
		    location   	(1079, 777)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"433B49720088"
		    roleview_list 	(list RoleViews
			(object RoleView "attributesDecl" @131
			    Parent_View 	@130
			    location   	(-117, 361)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @132
				Parent_View 	@131
				location   	(882, 959)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	336
				justify    	0
				label      	"+attributesDecl"
				pctDist    	0.789474
				height     	198
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"433B49720359"
			    client     	@130
			    supplier   	@106
			    line_style 	0
			    label      	(object SegLabel @133
				Parent_View 	@131
				location   	(1157, 966)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.822967
				height     	78
				orientation 	0))
			(object RoleView "valueFunctionElement" @134
			    Parent_View 	@130
			    location   	(-117, 361)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @135
				Parent_View 	@134
				location   	(1044, 646)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	526
				justify    	0
				label      	"+valueFunctionElement"
				pctDist    	0.572052
				height     	35
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"433B4972035B"
			    client     	@130
			    supplier   	@121
			    line_style 	0
			    label      	(object SegLabel @136
				Parent_View 	@134
				location   	(1033, 599)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.781778
				height     	47
				orientation 	0))))
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionElementContentItem" @137
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1754, 1638)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@137
			location   	(1226, 1581)
			fill_color 	13434879
			nlines     	1
			max_width  	1056
			justify    	0
			label      	"XMLValueFunctionElementContentItem")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4314C8B602C9"
		    width      	1074
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$22" @138
		    location   	(1754, 1830)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"432621D30389"
		    roleview_list 	(list RoleViews
			(object RoleView "valueExpr" @139
			    Parent_View 	@138
			    location   	(-248, 582)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @140
				Parent_View 	@139
				location   	(1989, 1922)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	254
				justify    	0
				label      	"+valueExpr"
				pctDist    	0.767241
				height     	235
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432621D40272"
			    client     	@138
			    supplier   	@114
			    line_style 	0
			    label      	(object SegLabel @141
				Parent_View 	@139
				location   	(1798, 1920)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.745690
				height     	44
				orientation 	0))
			(object RoleView "$UNNAMED$23" @142
			    Parent_View 	@138
			    location   	(-248, 582)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432621D40286"
			    client     	@138
			    supplier   	@137
			    line_style 	0
			    label      	(object SegLabel @143
				Parent_View 	@142
				location   	(1808, 1721)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionElementContentList" @144
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1755, 819)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@144
			location   	(1185, 730)
			fill_color 	13434879
			nlines     	1
			max_width  	1140
			justify    	0
			label      	"XMLValueFunctionElementContentList")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"433B4AE70268"
		    width      	1158
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$48" @145
		    location   	(1442, 631)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"433B4B1C0323"
		    roleview_list 	(list RoleViews
			(object RoleView "elementContentList" @146
			    Parent_View 	@145
			    location   	(246, 215)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @147
				Parent_View 	@146
				location   	(1812, 665)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	462
				justify    	0
				label      	"+elementContentList"
				pctDist    	2.050420
				height     	161
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"433B4B1E0240"
			    client     	@145
			    supplier   	@144
			    line_style 	0
			    label      	(object SegLabel @148
				Parent_View 	@146
				location   	(1436, 691)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.153233
				height     	55
				orientation 	1))
			(object RoleView "valueFunctionElement" @149
			    Parent_View 	@145
			    location   	(246, 215)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @150
				Parent_View 	@149
				location   	(1654, 584)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	526
				justify    	0
				label      	"+valueFunctionElement"
				pctDist    	-0.973196
				height     	149
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"433B4B1E024A"
			    client     	@145
			    supplier   	@121
			    line_style 	0
			    label      	(object SegLabel @151
				Parent_View 	@149
				location   	(1285, 591)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.961555
				height     	46
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$49" @152
		    location   	(1754, 1244)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"433B4BE200D1"
		    roleview_list 	(list RoleViews
			(object RoleView "elementContentListChildren" @153
			    Parent_View 	@152
			    location   	(-92, 412)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @154
				Parent_View 	@153
				location   	(1545, 1521)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	649
				justify    	0
				label      	"+elementContentListChildren"
				pctDist    	0.864615
				height     	210
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"433B4BE30050"
			    client     	@152
			    supplier   	@137
			    line_style 	0
			    label      	(object SegLabel @155
				Parent_View 	@153
				location   	(1924, 1518)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	0.852308
				height     	170
				orientation 	0))
			(object RoleView "elementContentList" @156
			    Parent_View 	@152
			    location   	(-92, 412)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @157
				Parent_View 	@156
				location   	(2037, 974)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	462
				justify    	0
				label      	"+elementContentList"
				pctDist    	0.843077
				height     	283
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"433B4BE3005A"
			    client     	@152
			    supplier   	@144
			    line_style 	0
			    label      	(object SegLabel @158
				Parent_View 	@156
				location   	(1705, 968)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.858462
				height     	50
				orientation 	0))))))
	(object ClassDiagram "XMLExists"
	    quid       	"4320C9AF01B5"
	    title      	"XMLExists"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLPassingType" @159
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2002, 2704)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@159
			location   	(1748, 2581)
			fill_color 	13434879
			nlines     	1
			max_width  	508
			justify    	0
			label      	"XMLPassingType")
		    stereotype 	(object ItemLabel
			Parent_View 	@159
			location   	(1748, 2531)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	508
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	14079702
		    quidu      	"431F8E950073"
		    width      	526
		    height     	374
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLQueryExpression" @160
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(494, 871)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@160
			location   	(126, 782)
			fill_color 	13434879
			nlines     	1
			max_width  	736
			justify    	0
			label      	"XMLQueryExpression")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4320947501C6"
		    width      	754
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLPredicateExists" @161
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1261, 455)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@161
			location   	(973, 398)
			fill_color 	13434879
			nlines     	1
			max_width  	576
			justify    	0
			label      	"XMLPredicateExists")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"431F92AC0390"
		    width      	594
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$2" @162
		    location   	(906, 646)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"432095DD01D8"
		    roleview_list 	(list RoleViews
			(object RoleView "xqueryExpr" @163
			    Parent_View 	@162
			    location   	(-563, -1018)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @164
				Parent_View 	@163
				location   	(561, 720)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	281
				justify    	0
				label      	"+xqueryExpr"
				pctDist    	1.339351
				height     	101
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432095DE02E8"
			    client     	@162
			    supplier   	@160
			    line_style 	0
			    label      	(object SegLabel @165
				Parent_View 	@163
				location   	(830, 733)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.426829
				height     	40
				orientation 	0))
			(object RoleView "predicateExists" @166
			    Parent_View 	@162
			    location   	(-563, -1018)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @167
				Parent_View 	@166
				location   	(809, 553)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	369
				justify    	0
				label      	"+predicateExists"
				pctDist    	-0.170092
				height     	129
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432095DE02EA"
			    client     	@162
			    supplier   	@161
			    line_style 	0
			    label      	(object SegLabel @168
				Parent_View 	@166
				location   	(1038, 538)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.661092
				height     	34
				orientation 	0))))
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLQueryArgumentList" @169
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1261, 1196)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@169
			location   	(733, 1107)
			fill_color 	13434879
			nlines     	1
			max_width  	1056
			justify    	0
			label      	"XMLQueryArgumentList")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"43209B100380"
		    width      	1074
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$3" @170
		    location   	(1261, 809)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"43209B940254"
		    roleview_list 	(list RoleViews
			(object RoleView "xqueryArgList" @171
			    Parent_View 	@170
			    location   	(-208, -855)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @172
				Parent_View 	@171
				location   	(1030, 1039)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	474
				justify    	0
				label      	"+xqueryArgList"
				pctDist    	0.812721
				height     	231
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"43209B95015B"
			    client     	@170
			    supplier   	@169
			    line_style 	0
			    label      	(object SegLabel @173
				Parent_View 	@171
				location   	(1337, 1047)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.841017
				height     	76
				orientation 	0))
			(object RoleView "predicateExists" @174
			    Parent_View 	@170
			    location   	(-208, -855)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @175
				Parent_View 	@174
				location   	(1496, 573)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	369
				justify    	0
				label      	"+predicateExists"
				pctDist    	0.837419
				height     	235
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"43209B95015D"
			    client     	@170
			    supplier   	@161
			    line_style 	0
			    label      	(object SegLabel @176
				Parent_View 	@174
				location   	(1213, 587)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.787853
				height     	49
				orientation 	0))))
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @177
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1261, 2314)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@177
			location   	(932, 2226)
			fill_color 	13434879
			nlines     	1
			max_width  	658
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	676
		    height     	204
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLQueryArgumentItem" @178
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1261, 1768)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@178
			location   	(733, 1679)
			fill_color 	13434879
			nlines     	1
			max_width  	1056
			justify    	0
			label      	"XMLQueryArgumentItem")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"43209CA10174"
		    width      	1074
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$4" @179
		    location   	(1261, 1481)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"43209D1502C5"
		    roleview_list 	(list RoleViews
			(object RoleView "xqueryArgListChildren" @180
			    Parent_View 	@179
			    location   	(-208, -885)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @181
				Parent_View 	@180
				location   	(948, 1613)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	660
				justify    	0
				label      	"+xqueryArgListChildren"
				pctDist    	0.721311
				height     	313
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"43209D170232"
			    client     	@179
			    supplier   	@178
			    line_style 	0
			    label      	(object SegLabel @182
				Parent_View 	@180
				location   	(1316, 1617)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..n"
				pctDist    	0.748879
				height     	55
				orientation 	0))
			(object RoleView "xqueryArgList" @183
			    Parent_View 	@179
			    location   	(-208, -885)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @184
				Parent_View 	@183
				location   	(1028, 1357)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	474
				justify    	0
				label      	"+xqueryArgList"
				pctDist    	0.681319
				height     	233
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"43209D170234"
			    client     	@179
			    supplier   	@169
			    line_style 	0
			    label      	(object SegLabel @185
				Parent_View 	@183
				location   	(1319, 1359)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.676424
				height     	58
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$5" @186
		    location   	(1261, 2041)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4320AE75025D"
		    roleview_list 	(list RoleViews
			(object RoleView "valueExpr" @187
			    Parent_View 	@186
			    location   	(-468, -611)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @188
				Parent_View 	@187
				location   	(1075, 2151)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	254
				justify    	0
				label      	"+valueExpr"
				pctDist    	0.647059
				height     	186
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4320AE760313"
			    client     	@186
			    supplier   	@177
			    line_style 	0
			    label      	(object SegLabel @189
				Parent_View 	@187
				location   	(1311, 2157)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.682353
				height     	50
				orientation 	0))
			(object RoleView "$UNNAMED$6" @190
			    Parent_View 	@186
			    location   	(-468, -611)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4320AE76033B"
			    client     	@186
			    supplier   	@178
			    line_style 	0
			    label      	(object SegLabel @191
				Parent_View 	@190
				location   	(1315, 1889)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLPredicate" @192
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(338, 169)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@192
			location   	(130, 109)
			fill_color 	13434879
			nlines     	1
			max_width  	416
			justify    	0
			label      	"XMLPredicate")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"431F91DA0333"
		    width      	434
		    height     	148
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @193
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"431F92E1006B"
		    client     	@161
		    supplier   	@192
		    line_style 	0)))
	(object ClassDiagram "XMLForest"
	    quid       	"4320CB4501FF"
	    title      	"XMLForest"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunction" @194
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(364, 143)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@194
			location   	(87, 83)
			fill_color 	13434879
			nlines     	1
			max_width  	554
			justify    	0
			label      	"XMLValueFunction")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"4314C8B602D6"
		    width      	572
		    height     	148
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLNamespaceDeclarationPrefix" @195
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(572, 1859)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@195
			location   	(114, 1770)
			fill_color 	13434879
			nlines     	1
			max_width  	916
			justify    	0
			label      	"XMLNamespaceDeclarationPrefix")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4314C8B60324"
		    width      	934
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLNamespaceDeclarationDefault" @196
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(858, 2158)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@196
			location   	(387, 2069)
			fill_color 	13434879
			nlines     	1
			max_width  	942
			justify    	0
			label      	"XMLNamespaceDeclarationDefault")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4314C8B60329"
		    width      	960
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLNullHandlingType" @197
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(845, 2626)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@197
			location   	(501, 2419)
			fill_color 	13434879
			nlines     	1
			max_width  	688
			justify    	0
			label      	"XMLNullHandlingType")
		    stereotype 	(object ItemLabel
			Parent_View 	@197
			location   	(501, 2369)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	688
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	14079702
		    quidu      	"43261E3B014E"
		    width      	706
		    height     	542
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLReturningType" @198
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1833, 2613)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@198
			location   	(1520, 2502)
			fill_color 	13434879
			nlines     	1
			max_width  	626
			justify    	0
			label      	"XMLReturningType")
		    stereotype 	(object ItemLabel
			Parent_View 	@198
			location   	(1520, 2452)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	626
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	14079702
		    quidu      	"4325EA170132"
		    width      	644
		    height     	350
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @199
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1781, 1469)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@199
			location   	(1452, 1381)
			fill_color 	13434879
			nlines     	1
			max_width  	658
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	676
		    height     	204
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLNamespaceDeclarationItem" @200
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(559, 1378)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@200
			location   	(119, 1289)
			fill_color 	13434879
			nlines     	1
			max_width  	880
			justify    	0
			label      	"XMLNamespaceDeclarationItem")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4314C8B6031E"
		    width      	898
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @201
		    location   	(559, 1650)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@200
		    vertices   	(list Points
			(559, 1650)
			(559, 1481)))
		(object InheritView "" @202
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4314C8B60323"
		    client     	@195
		    supplier   	@200
		    line_style 	3
		    origin_attachment 	(287, 1756)
		    terminal_attachment 	(287, 1650)
		    drawSupplier 	@201)
		(object InheritView "" @203
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4314C8B60328"
		    client     	@196
		    supplier   	@200
		    line_style 	3
		    origin_attachment 	(1172, 2055)
		    terminal_attachment 	(1172, 1650)
		    drawSupplier 	@201)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionForestContentItem" @204
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1781, 949)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@204
			location   	(1284, 892)
			fill_color 	13434879
			nlines     	1
			max_width  	994
			justify    	0
			label      	"XMLValueFunctionForestContentItem")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"432F1BC80031"
		    width      	1012
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$25" @205
		    location   	(1781, 1193)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"432F1E090211"
		    roleview_list 	(list RoleViews
			(object RoleView "valueExpr" @206
			    Parent_View 	@205
			    location   	(0, -29)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @207
				Parent_View 	@206
				location   	(1585, 1308)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	254
				justify    	0
				label      	"+valueExpr"
				pctDist    	0.662894
				height     	197
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F1E09035B"
			    client     	@205
			    supplier   	@199
			    line_style 	0
			    label      	(object SegLabel @208
				Parent_View 	@206
				location   	(1834, 1329)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.789956
				height     	53
				orientation 	0))
			(object RoleView "$UNNAMED$26" @209
			    Parent_View 	@205
			    location   	(0, -29)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F1E090397"
			    client     	@205
			    supplier   	@204
			    line_style 	0
			    label      	(object SegLabel @210
				Parent_View 	@209
				location   	(1835, 1037)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLNamespacesDeclaration" @211
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(559, 949)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@211
			location   	(155, 892)
			fill_color 	13434879
			nlines     	1
			max_width  	808
			justify    	0
			label      	"XMLNamespacesDeclaration")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"433B457C01AC"
		    width      	826
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$44" @212
		    location   	(559, 1147)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"433B45AE006E"
		    roleview_list 	(list RoleViews
			(object RoleView "namespacesDecl" @213
			    Parent_View 	@212
			    location   	(0, -348)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @214
				Parent_View 	@213
				location   	(310, 1054)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	416
				justify    	0
				label      	"+namespacesDecl"
				pctDist    	0.732620
				height     	250
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"433B45AE02DD"
			    client     	@212
			    supplier   	@211
			    line_style 	0
			    label      	(object SegLabel @215
				Parent_View 	@213
				location   	(639, 1051)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.764706
				height     	80
				orientation 	1))
			(object RoleView "namespaceDecltemList" @216
			    Parent_View 	@212
			    location   	(0, -348)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @217
				Parent_View 	@216
				location   	(363, 1226)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	725
				justify    	0
				label      	"+namespaceDecltemList"
				pctDist    	0.627907
				height     	197
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"433B45AE02DB"
			    client     	@212
			    supplier   	@200
			    line_style 	0
			    label      	(object SegLabel @218
				Parent_View 	@216
				location   	(731, 1242)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..n"
				pctDist    	0.754011
				height     	172
				orientation 	0))))
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionForest" @219
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1183, 455)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@219
			location   	(613, 338)
			fill_color 	13434879
			nlines     	1
			max_width  	1140
			justify    	0
			label      	"XMLValueFunctionForest")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4314C8B60333"
		    width      	1158
		    height     	262
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @220
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4314C8B60334"
		    client     	@219
		    supplier   	@194
		    line_style 	0)
		(object AssociationViewNew "$UNNAMED$24" @221
		    location   	(1517, 731)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"432F1C12012E"
		    roleview_list 	(list RoleViews
			(object RoleView "forestContentList" @222
			    Parent_View 	@221
			    location   	(334, -10)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @223
				Parent_View 	@222
				location   	(1417, 834)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	409
				justify    	0
				label      	"+forestContentList"
				pctDist    	-0.055726
				height     	144
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F1C130143"
			    client     	@221
			    supplier   	@204
			    line_style 	0
			    label      	(object SegLabel @224
				Parent_View 	@222
				location   	(1746, 836)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..n"
				pctDist    	1.067276
				height     	66
				orientation 	0))
			(object RoleView "valueFunctionForest" @225
			    Parent_View 	@221
			    location   	(334, -10)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @226
				Parent_View 	@225
				location   	(1691, 625)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	483
				justify    	0
				label      	"+valueFunctionForest"
				pctDist    	-0.295353
				height     	193
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F1C130145"
			    client     	@221
			    supplier   	@219
			    line_style 	0
			    label      	(object SegLabel @227
				Parent_View 	@225
				location   	(1306, 622)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	1.026605
				height     	51
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$50" @228
		    location   	(831, 731)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"433B4E8C0091"
		    roleview_list 	(list RoleViews
			(object RoleView "namespacesDecl" @229
			    Parent_View 	@228
			    location   	(-352, 276)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @230
				Parent_View 	@229
				location   	(416, 831)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	416
				justify    	0
				label      	"+namespacesDecl"
				pctDist    	1.657538
				height     	182
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"433B4E8C02B8"
			    client     	@228
			    supplier   	@211
			    line_style 	0
			    label      	(object SegLabel @231
				Parent_View 	@229
				location   	(779, 839)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.456639
				height     	52
				orientation 	0))
			(object RoleView "valueFunctionForest" @232
			    Parent_View 	@228
			    location   	(-352, 276)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @233
				Parent_View 	@232
				location   	(660, 631)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	483
				justify    	0
				label      	"+valueFunctionForest"
				pctDist    	-0.314278
				height     	186
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"433B4E8C02BA"
			    client     	@228
			    supplier   	@219
			    line_style 	0
			    label      	(object SegLabel @234
				Parent_View 	@232
				location   	(1039, 629)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.969576
				height     	48
				orientation 	1))))))
	(object ClassDiagram "XMLConcat"
	    quid       	"4320CBC5014F"
	    title      	"XMLConcat"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	197
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunction" @235
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(494, 195)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@235
			location   	(217, 135)
			fill_color 	13434879
			nlines     	1
			max_width  	554
			justify    	0
			label      	"XMLValueFunction")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"4314C8B602D6"
		    width      	572
		    height     	148
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLReturningType" @236
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1833, 2249)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@236
			location   	(1456, 2126)
			fill_color 	13434879
			nlines     	1
			max_width  	754
			justify    	0
			label      	"XMLReturningType")
		    stereotype 	(object ItemLabel
			Parent_View 	@236
			location   	(1456, 2076)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	754
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	14079702
		    quidu      	"4325EA170132"
		    width      	772
		    height     	374
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionConcat" @237
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1248, 637)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@237
			location   	(757, 548)
			fill_color 	13434879
			nlines     	1
			max_width  	982
			justify    	0
			label      	"XMLValueFunctionConcat")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4314C8B602DA"
		    width      	1000
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @238
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4314C8B602D9"
		    client     	@237
		    supplier   	@235
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @239
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1248, 1755)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@239
			location   	(919, 1667)
			fill_color 	13434879
			nlines     	1
			max_width  	658
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	676
		    height     	204
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionConcatContentItem" @240
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1248, 1209)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@240
			location   	(743, 1152)
			fill_color 	13434879
			nlines     	1
			max_width  	1010
			justify    	0
			label      	"XMLValueFunctionConcatContentItem")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4325FC9500E8"
		    width      	1028
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$10" @241
		    location   	(1248, 938)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4325FCE0012C"
		    roleview_list 	(list RoleViews
			(object RoleView "concatContentList" @242
			    Parent_View 	@241
			    location   	(78, 197)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @243
				Parent_View 	@242
				location   	(1000, 1094)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	428
				justify    	0
				label      	"+concatContentList"
				pctDist    	0.789855
				height     	249
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4325FCE0037B"
			    client     	@241
			    supplier   	@240
			    line_style 	0
			    label      	(object SegLabel @244
				Parent_View 	@242
				location   	(1314, 1099)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..n"
				pctDist    	0.811594
				height     	66
				orientation 	0))
			(object RoleView "valueFunctionConcat" @245
			    Parent_View 	@241
			    location   	(78, 197)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @246
				Parent_View 	@245
				location   	(948, 786)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	500
				justify    	0
				label      	"+valueFunctionConcat"
				pctDist    	0.774061
				height     	301
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4325FCE0037D"
			    client     	@241
			    supplier   	@237
			    line_style 	0
			    label      	(object SegLabel @247
				Parent_View 	@245
				location   	(1302, 775)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.824859
				height     	54
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$11" @248
		    location   	(1248, 1466)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4325FD3403AF"
		    roleview_list 	(list RoleViews
			(object RoleView "valueExpr" @249
			    Parent_View 	@248
			    location   	(78, 270)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @250
				Parent_View 	@249
				location   	(1067, 1610)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	254
				justify    	0
				label      	"+valueExpr"
				pctDist    	0.778050
				height     	182
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4325FD350306"
			    client     	@248
			    supplier   	@239
			    line_style 	0
			    label      	(object SegLabel @251
				Parent_View 	@249
				location   	(1302, 1618)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.820466
				height     	54
				orientation 	0))
			(object RoleView "$UNNAMED$12" @252
			    Parent_View 	@248
			    location   	(78, 270)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4325FD35031A"
			    client     	@248
			    supplier   	@240
			    line_style 	0
			    label      	(object SegLabel @253
				Parent_View 	@252
				location   	(1303, 1314)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.823529
				height     	55
				orientation 	1))))))
	(object ClassDiagram "XMLComment"
	    quid       	"4325E5370354"
	    title      	"XMLComment"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunction" @254
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(377, 221)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@254
			location   	(100, 161)
			fill_color 	13434879
			nlines     	1
			max_width  	554
			justify    	0
			label      	"XMLValueFunction")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"4314C8B602D6"
		    width      	572
		    height     	148
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLReturningType" @255
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1859, 2301)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@255
			location   	(1481, 2178)
			fill_color 	13434879
			nlines     	1
			max_width  	756
			justify    	0
			label      	"XMLReturningType")
		    stereotype 	(object ItemLabel
			Parent_View 	@255
			location   	(1481, 2128)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	756
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	14079702
		    quidu      	"4325EA170132"
		    width      	774
		    height     	374
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionComment" @256
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1170, 637)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@256
			location   	(679, 548)
			fill_color 	13434879
			nlines     	1
			max_width  	982
			justify    	0
			label      	"XMLValueFunctionComment")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"431F5A830075"
		    width      	1000
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @257
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"431F5FA20341"
		    client     	@256
		    supplier   	@254
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @258
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1170, 1807)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@258
			location   	(841, 1718)
			fill_color 	13434879
			nlines     	1
			max_width  	658
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	676
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionCommentContent" @259
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1170, 1222)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@259
			location   	(684, 1165)
			fill_color 	13434879
			nlines     	1
			max_width  	972
			justify    	0
			label      	"XMLValueFunctionCommentContent")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4325FF710379"
		    width      	990
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$13" @260
		    location   	(1170, 945)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4325FF8900C9"
		    roleview_list 	(list RoleViews
			(object RoleView "commentContent" @261
			    Parent_View 	@260
			    location   	(-13, -30)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @262
				Parent_View 	@261
				location   	(924, 1086)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	406
				justify    	0
				label      	"+commentContent"
				pctDist    	0.691167
				height     	247
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4325FF8902DA"
			    client     	@260
			    supplier   	@259
			    line_style 	0
			    label      	(object SegLabel @263
				Parent_View 	@261
				location   	(1224, 1093)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.724235
				height     	54
				orientation 	0))
			(object RoleView "valueFunctionComment" @264
			    Parent_View 	@260
			    location   	(-13, -30)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @265
				Parent_View 	@264
				location   	(842, 782)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	559
				justify    	0
				label      	"+valueFunctionComment"
				pctDist    	0.794702
				height     	329
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4325FF8902DC"
			    client     	@260
			    supplier   	@256
			    line_style 	0
			    label      	(object SegLabel @266
				Parent_View 	@264
				location   	(1225, 779)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.814570
				height     	55
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$14" @267
		    location   	(1170, 1498)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4325FFFC00C3"
		    roleview_list 	(list RoleViews
			(object RoleView "valueExpr" @268
			    Parent_View 	@267
			    location   	(-13, 55)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @269
				Parent_View 	@268
				location   	(1013, 1661)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	254
				justify    	0
				label      	"+valueExpr"
				pctDist    	0.794702
				height     	158
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4325FFFC0388"
			    client     	@267
			    supplier   	@258
			    line_style 	0
			    label      	(object SegLabel @270
				Parent_View 	@268
				location   	(1225, 1664)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.814570
				height     	55
				orientation 	0))
			(object RoleView "$UNNAMED$15" @271
			    Parent_View 	@267
			    location   	(-13, 55)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4325FFFC03A6"
			    client     	@267
			    supplier   	@259
			    line_style 	0
			    label      	(object SegLabel @272
				Parent_View 	@271
				location   	(1224, 1334)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.802409
				height     	54
				orientation 	1))))))
	(object ClassDiagram "XMLDocument"
	    quid       	"4325E5560359"
	    title      	"XMLDocument"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	341
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunction" @273
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(416, 247)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@273
			location   	(139, 187)
			fill_color 	13434879
			nlines     	1
			max_width  	554
			justify    	0
			label      	"XMLValueFunction")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"4314C8B602D6"
		    width      	572
		    height     	148
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLReturningType" @274
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1872, 2223)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@274
			location   	(1494, 2100)
			fill_color 	13434879
			nlines     	1
			max_width  	756
			justify    	0
			label      	"XMLReturningType")
		    stereotype 	(object ItemLabel
			Parent_View 	@274
			location   	(1494, 2050)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	756
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	14079702
		    quidu      	"4325EA170132"
		    width      	774
		    height     	374
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionDocument" @275
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1170, 663)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@275
			location   	(679, 574)
			fill_color 	13434879
			nlines     	1
			max_width  	982
			justify    	0
			label      	"XMLValueFunctionDocument")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"431F5B1E0385"
		    width      	1000
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @276
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"431F5FB30346"
		    client     	@275
		    supplier   	@273
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @277
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1170, 1742)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@277
			location   	(841, 1653)
			fill_color 	13434879
			nlines     	1
			max_width  	658
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	676
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionDocumentContent" @278
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1170, 1209)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@278
			location   	(676, 1152)
			fill_color 	13434879
			nlines     	1
			max_width  	988
			justify    	0
			label      	"XMLValueFunctionDocumentContent")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"432603710070"
		    width      	1006
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$16" @279
		    location   	(1170, 951)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4326038C0283"
		    roleview_list 	(list RoleViews
			(object RoleView "documentContent" @280
			    Parent_View 	@279
			    location   	(39, -11)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @281
				Parent_View 	@280
				location   	(920, 1097)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	416
				justify    	0
				label      	"+documentContent"
				pctDist    	0.784946
				height     	250
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4326038E0155"
			    client     	@279
			    supplier   	@278
			    line_style 	0
			    label      	(object SegLabel @282
				Parent_View 	@280
				location   	(1224, 1101)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.803990
				height     	54
				orientation 	0))
			(object RoleView "valueFunctionDocument" @283
			    Parent_View 	@279
			    location   	(39, -11)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @284
				Parent_View 	@283
				location   	(841, 805)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	570
				justify    	0
				label      	"+valueFunctionDocument"
				pctDist    	0.796610
				height     	330
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4326038E0157"
			    client     	@279
			    supplier   	@275
			    line_style 	0
			    label      	(object SegLabel @285
				Parent_View 	@283
				location   	(1225, 800)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.819209
				height     	55
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$17" @286
		    location   	(1170, 1459)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"432603E8011E"
		    roleview_list 	(list RoleViews
			(object RoleView "valueExpr" @287
			    Parent_View 	@286
			    location   	(39, -23)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @288
				Parent_View 	@287
				location   	(999, 1584)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	254
				justify    	0
				label      	"+valueExpr"
				pctDist    	0.695652
				height     	172
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432603EA02B5"
			    client     	@286
			    supplier   	@277
			    line_style 	0
			    label      	(object SegLabel @289
				Parent_View 	@287
				location   	(1236, 1603)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.804348
				height     	66
				orientation 	0))
			(object RoleView "$UNNAMED$18" @290
			    Parent_View 	@286
			    location   	(39, -23)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432603EA02D3"
			    client     	@286
			    supplier   	@278
			    line_style 	0
			    label      	(object SegLabel @291
				Parent_View 	@290
				location   	(1223, 1332)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.715328
				height     	53
				orientation 	1))))))
	(object ClassDiagram "Inheritance1"
	    quid       	"4326059A0249"
	    title      	"Inheritance1"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::SQLQueryModel::SQLQueryObject" @292
		    ShowCompartmentStereotypes 	TRUE
		    location   	(390, 1391)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@292
			location   	(146, 1303)
			fill_color 	13434879
			nlines     	1
			max_width  	488
			justify    	0
			label      	"SQLQueryObject")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"4046839E02AB"
		    width      	506
		    height     	204
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLQueryArgumentList" @293
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1680, 813)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@293
			location   	(1357, 756)
			fill_color 	13434879
			nlines     	1
			max_width  	646
			justify    	0
			label      	"XMLQueryArgumentList")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"43209B100380"
		    width      	664
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @294
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"43209DDA0391"
		    client     	@293
		    supplier   	@292
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLQueryExpression" @295
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1675, 1038)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@295
			location   	(1371, 981)
			fill_color 	13434879
			nlines     	1
			max_width  	608
			justify    	0
			label      	"XMLQueryExpression")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4320947501C6"
		    width      	626
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @296
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"43209DD50181"
		    client     	@295
		    supplier   	@292
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLAggregateSortSpecification" @297
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1677, 143)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@297
			location   	(1237, 86)
			fill_color 	13434879
			nlines     	1
			max_width  	880
			justify    	0
			label      	"XMLAggregateSortSpecification")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"432619080328"
		    width      	898
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @298
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"43271DD50090"
		    client     	@297
		    supplier   	@292
		    line_style 	0)
		(object NoteView @299
		    location   	(468, 247)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@299
			location   	(118, 116)
			fill_color 	13434879
			nlines     	4
			max_width  	665
			label      	"This diagram shows inheritance that isn't shown on other diagrams.  These are miscellaneous classes.")
		    line_color 	3342489
		    fill_color 	16777088
		    width      	725
		    height     	275)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLTableColumnDefinitionItem" @300
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1684, 1488)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@300
			location   	(1258, 1431)
			fill_color 	13434879
			nlines     	1
			max_width  	852
			justify    	0
			label      	"XMLTableColumnDefinitionItem")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"432F717D0304"
		    width      	870
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @301
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"432F723600D1"
		    client     	@300
		    supplier   	@292
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLNamespaceDeclarationItem" @302
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1680, 581)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@302
			location   	(1240, 524)
			fill_color 	13434879
			nlines     	1
			max_width  	880
			justify    	0
			label      	"XMLNamespaceDeclarationItem")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4314C8B6031E"
		    width      	898
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @303
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4314C8B6031F"
		    client     	@302
		    supplier   	@292
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLNamespacesDeclaration" @304
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1675, 351)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@304
			location   	(1271, 294)
			fill_color 	13434879
			nlines     	1
			max_width  	808
			justify    	0
			label      	"XMLNamespacesDeclaration")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"433B457C01AC"
		    width      	826
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @305
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"433B553002A7"
		    client     	@304
		    supplier   	@292
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionElementContentList" @306
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1680, 1713)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@306
			location   	(1171, 1656)
			fill_color 	13434879
			nlines     	1
			max_width  	1018
			justify    	0
			label      	"XMLValueFunctionElementContentList")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"433B4AE70268"
		    width      	1036
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @307
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"433B55E001D9"
		    client     	@306
		    supplier   	@292
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionQueryReturning" @308
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1687, 1945)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@308
			location   	(1225, 1888)
			fill_color 	13434879
			nlines     	1
			max_width  	924
			justify    	0
			label      	"XMLValueFunctionQueryReturning")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"434490B20155"
		    width      	942
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @309
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4344930C002F"
		    client     	@308
		    supplier   	@292
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionValidateElementNamespace" @310
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1687, 2871)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@310
			location   	(1061, 2814)
			fill_color 	13434879
			nlines     	1
			max_width  	1252
			justify    	0
			label      	"XMLValueFunctionValidateElementNamespace")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"432F7B6000C4"
		    width      	1270
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @311
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"432F7CDC004C"
		    client     	@310
		    supplier   	@292
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionValidateElementName" @312
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1687, 2642)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@312
			location   	(1134, 2585)
			fill_color 	13434879
			nlines     	1
			max_width  	1106
			justify    	0
			label      	"XMLValueFunctionValidateElementName")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"432F792C0211"
		    width      	1124
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @313
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"432F7CDF00C8"
		    client     	@312
		    supplier   	@292
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionValidateElement" @314
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1703, 2420)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@314
			location   	(1231, 2363)
			fill_color 	13434879
			nlines     	1
			max_width  	944
			justify    	0
			label      	"XMLValueFunctionValidateElement")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4346E84C020E"
		    width      	962
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionValidateAccordingTo" @315
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1706, 2179)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@315
			location   	(1169, 2122)
			fill_color 	13434879
			nlines     	1
			max_width  	1074
			justify    	0
			label      	"XMLValueFunctionValidateAccordingTo")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"432F748E01DE"
		    width      	1092
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @316
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"432F75E601F0"
		    client     	@315
		    supplier   	@292
		    line_style 	0)
		(object InheritView "" @317
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4346EA3A00CF"
		    client     	@314
		    supplier   	@292
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLSerializeFunctionEncoding" @318
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1688, 1263)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@318
			location   	(1261, 1209)
			fill_color 	13434879
			nlines     	1
			max_width  	854
			justify    	0
			label      	"XMLSerializeFunctionEncoding")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"435E96130247"
		    width      	872
		    height     	136
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @319
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"435E9B540092"
		    client     	@318
		    supplier   	@292
		    line_style 	0)))
	(object ClassDiagram "XMLParse"
	    quid       	"432F2247008A"
	    title      	"XMLParse"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	94
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunction" @320
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(377, 169)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@320
			location   	(100, 109)
			fill_color 	13434879
			nlines     	1
			max_width  	554
			justify    	0
			label      	"XMLValueFunction")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"4314C8B602D6"
		    width      	572
		    height     	148
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLContentType" @321
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(689, 1937)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@321
			location   	(448, 1826)
			fill_color 	13434879
			nlines     	1
			max_width  	482
			justify    	0
			label      	"XMLContentType")
		    stereotype 	(object ItemLabel
			Parent_View 	@321
			location   	(448, 1776)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	482
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	14079702
		    quidu      	"4320BD26008F"
		    width      	500
		    height     	350
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionParse" @322
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1183, 533)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@322
			location   	(403, 416)
			fill_color 	13434879
			nlines     	1
			max_width  	1560
			justify    	0
			label      	"XMLValueFunctionParse")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"431F5B4E0244"
		    width      	1578
		    height     	262
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @323
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"431F64B402F8"
		    client     	@322
		    supplier   	@320
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @324
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1183, 1456)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@324
			location   	(854, 1367)
			fill_color 	13434879
			nlines     	1
			max_width  	658
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	676
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionParseContent" @325
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1183, 1001)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@325
			location   	(747, 944)
			fill_color 	13434879
			nlines     	1
			max_width  	872
			justify    	0
			label      	"XMLValueFunctionParseContent")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"432F3271034A"
		    width      	890
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$27" @326
		    location   	(1183, 796)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"432F329D01F7"
		    roleview_list 	(list RoleViews
			(object RoleView "parseContent" @327
			    Parent_View 	@326
			    location   	(0, 263)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @328
				Parent_View 	@327
				location   	(989, 887)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	322
				justify    	0
				label      	"+parseContent"
				pctDist    	0.682363
				height     	195
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F329E0146"
			    client     	@326
			    supplier   	@325
			    line_style 	0
			    label      	(object SegLabel @329
				Parent_View 	@327
				location   	(1238, 891)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.712919
				height     	55
				orientation 	0))
			(object RoleView "valueFunctionParse" @330
			    Parent_View 	@326
			    location   	(0, 263)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @331
				Parent_View 	@330
				location   	(908, 703)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	471
				justify    	0
				label      	"+valueFunctionParse"
				pctDist    	0.715232
				height     	276
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F329E0148"
			    client     	@326
			    supplier   	@322
			    line_style 	0
			    label      	(object SegLabel @332
				Parent_View 	@330
				location   	(1248, 703)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.715232
				height     	65
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$28" @333
		    location   	(1183, 1212)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"432F336600AF"
		    roleview_list 	(list RoleViews
			(object RoleView "valueExpr" @334
			    Parent_View 	@333
			    location   	(0, 211)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @335
				Parent_View 	@334
				location   	(1014, 1312)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	254
				justify    	0
				label      	"+valueExpr"
				pctDist    	0.717241
				height     	170
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F33660334"
			    client     	@333
			    supplier   	@324
			    line_style 	0
			    label      	(object SegLabel @336
				Parent_View 	@334
				location   	(1237, 1313)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.724138
				height     	54
				orientation 	0))
			(object RoleView "$UNNAMED$29" @337
			    Parent_View 	@333
			    location   	(0, 211)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F33660352"
			    client     	@333
			    supplier   	@325
			    line_style 	0
			    label      	(object SegLabel @338
				Parent_View 	@337
				location   	(1237, 1087)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLWhitespaceHandlingType" @339
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1534, 1937)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@339
			location   	(1120, 1826)
			fill_color 	13434879
			nlines     	1
			max_width  	828
			justify    	0
			label      	"XMLWhitespaceHandlingType")
		    stereotype 	(object ItemLabel
			Parent_View 	@339
			location   	(1120, 1776)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	828
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	14079702
		    quidu      	"432F33A80213"
		    width      	846
		    height     	350
		    annotation 	8
		    autoResize 	TRUE)))
	(object ClassDiagram "XMLPI"
	    quid       	"432F37B701D7"
	    title      	"XMLPI"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunction" @340
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(429, 195)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@340
			location   	(152, 135)
			fill_color 	13434879
			nlines     	1
			max_width  	554
			justify    	0
			label      	"XMLValueFunction")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"4314C8B602D6"
		    width      	572
		    height     	148
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLReturningType" @341
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2002, 1924)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@341
			location   	(1688, 1813)
			fill_color 	13434879
			nlines     	1
			max_width  	628
			justify    	0
			label      	"XMLReturningType")
		    stereotype 	(object ItemLabel
			Parent_View 	@341
			location   	(1688, 1763)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	628
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	14079702
		    quidu      	"4325EA170132"
		    width      	646
		    height     	350
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionPI" @342
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1183, 585)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@342
			location   	(692, 468)
			fill_color 	13434879
			nlines     	1
			max_width  	982
			justify    	0
			label      	"XMLValueFunctionPI")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"431F5B8B0129"
		    width      	1000
		    height     	262
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @343
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"431F64C101DE"
		    client     	@342
		    supplier   	@340
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @344
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1183, 1599)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@344
			location   	(854, 1510)
			fill_color 	13434879
			nlines     	1
			max_width  	658
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	676
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionPIContent" @345
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1183, 1105)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@345
			location   	(794, 1048)
			fill_color 	13434879
			nlines     	1
			max_width  	778
			justify    	0
			label      	"XMLValueFunctionPIContent")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"432F390B0155"
		    width      	796
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$30" @346
		    location   	(1183, 874)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"432F39250383"
		    roleview_list 	(list RoleViews
			(object RoleView "PIContent" @347
			    Parent_View 	@346
			    location   	(0, 289)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @348
				Parent_View 	@347
				location   	(1024, 987)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	253
				justify    	0
				label      	"+PIContent"
				pctDist    	0.719512
				height     	160
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F392601CB"
			    client     	@346
			    supplier   	@345
			    line_style 	0
			    label      	(object SegLabel @349
				Parent_View 	@347
				location   	(1249, 991)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.737805
				height     	66
				orientation 	0))
			(object RoleView "valueFunctionPI" @350
			    Parent_View 	@346
			    location   	(0, 289)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @351
				Parent_View 	@350
				location   	(948, 759)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	389
				justify    	0
				label      	"+valueFunctionPI"
				pctDist    	0.725610
				height     	236
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F392601CD"
			    client     	@346
			    supplier   	@342
			    line_style 	0
			    label      	(object SegLabel @352
				Parent_View 	@350
				location   	(1249, 758)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.731707
				height     	66
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$31" @353
		    location   	(1183, 1335)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"432F39B30146"
		    roleview_list 	(list RoleViews
			(object RoleView "valueExpr" @354
			    Parent_View 	@353
			    location   	(0, 230)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @355
				Parent_View 	@354
				location   	(1015, 1446)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	254
				justify    	0
				label      	"+valueExpr"
				pctDist    	0.693037
				height     	169
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F39B30359"
			    client     	@353
			    supplier   	@344
			    line_style 	0
			    label      	(object SegLabel @356
				Parent_View 	@354
				location   	(1238, 1451)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.726007
				height     	55
				orientation 	0))
			(object RoleView "$UNNAMED$32" @357
			    Parent_View 	@353
			    location   	(0, 230)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F39B3036D"
			    client     	@353
			    supplier   	@345
			    line_style 	0
			    label      	(object SegLabel @358
				Parent_View 	@357
				location   	(1237, 1192)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	1))))))
	(object ClassDiagram "XMLQuery"
	    quid       	"432F3B9A020D"
	    title      	"XMLQuery"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunction" @359
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(442, 208)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@359
			location   	(165, 148)
			fill_color 	13434879
			nlines     	1
			max_width  	554
			justify    	0
			label      	"XMLValueFunction")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"4314C8B602D6"
		    width      	572
		    height     	148
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLReturningType" @360
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(507, 2652)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@360
			location   	(194, 2541)
			fill_color 	13434879
			nlines     	1
			max_width  	626
			justify    	0
			label      	"XMLReturningType")
		    stereotype 	(object ItemLabel
			Parent_View 	@360
			location   	(194, 2491)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	626
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	14079702
		    quidu      	"4325EA170132"
		    width      	644
		    height     	350
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLPassingType" @361
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1248, 2652)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@361
			location   	(994, 2529)
			fill_color 	13434879
			nlines     	1
			max_width  	508
			justify    	0
			label      	"XMLPassingType")
		    stereotype 	(object ItemLabel
			Parent_View 	@361
			location   	(994, 2479)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	508
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	14079702
		    quidu      	"431F8E950073"
		    width      	526
		    height     	374
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLEmptyHandlingType" @362
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(2015, 2652)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@362
			location   	(1676, 2541)
			fill_color 	13434879
			nlines     	1
			max_width  	678
			justify    	0
			label      	"XMLEmptyHandlingType")
		    stereotype 	(object ItemLabel
			Parent_View 	@362
			location   	(1676, 2491)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	678
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	14079702
		    quidu      	"432F51280232"
		    width      	696
		    height     	350
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @363
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1222, 2223)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@363
			location   	(893, 2135)
			fill_color 	13434879
			nlines     	1
			max_width  	658
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	676
		    height     	204
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLQueryArgumentItem" @364
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1222, 1781)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@364
			location   	(695, 1692)
			fill_color 	13434879
			nlines     	1
			max_width  	1054
			justify    	0
			label      	"XMLQueryArgumentItem")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"43209CA10174"
		    width      	1072
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$5" @365
		    location   	(1222, 2002)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4320AE75025D"
		    roleview_list 	(list RoleViews
			(object RoleView "valueExpr" @366
			    Parent_View 	@365
			    location   	(-507, -650)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @367
				Parent_View 	@366
				location   	(1037, 2078)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	254
				justify    	0
				label      	"+valueExpr"
				pctDist    	0.647059
				height     	186
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4320AE760313"
			    client     	@365
			    supplier   	@363
			    line_style 	0
			    label      	(object SegLabel @368
				Parent_View 	@366
				location   	(1272, 2083)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.682353
				height     	50
				orientation 	0))
			(object RoleView "$UNNAMED$6" @369
			    Parent_View 	@365
			    location   	(-507, -650)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4320AE76033B"
			    client     	@365
			    supplier   	@364
			    line_style 	0
			    label      	(object SegLabel @370
				Parent_View 	@369
				location   	(1276, 1897)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLQueryExpression" @371
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(572, 962)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@371
			location   	(204, 873)
			fill_color 	13434879
			nlines     	1
			max_width  	736
			justify    	0
			label      	"XMLQueryExpression")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4320947501C6"
		    width      	754
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLQueryArgumentList" @372
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1222, 1313)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@372
			location   	(694, 1224)
			fill_color 	13434879
			nlines     	1
			max_width  	1056
			justify    	0
			label      	"XMLQueryArgumentList")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"43209B100380"
		    width      	1074
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$4" @373
		    location   	(1222, 1546)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"43209D1502C5"
		    roleview_list 	(list RoleViews
			(object RoleView "xqueryArgListChildren" @374
			    Parent_View 	@373
			    location   	(-247, -820)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @375
				Parent_View 	@374
				location   	(910, 1639)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	660
				justify    	0
				label      	"+xqueryArgListChildren"
				pctDist    	0.721311
				height     	313
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"43209D170232"
			    client     	@373
			    supplier   	@364
			    line_style 	0
			    label      	(object SegLabel @376
				Parent_View 	@374
				location   	(1277, 1643)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..n"
				pctDist    	0.748879
				height     	55
				orientation 	0))
			(object RoleView "xqueryArgList" @377
			    Parent_View 	@373
			    location   	(-247, -820)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @378
				Parent_View 	@377
				location   	(990, 1458)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	474
				justify    	0
				label      	"+xqueryArgList"
				pctDist    	0.681319
				height     	233
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"43209D170234"
			    client     	@373
			    supplier   	@372
			    line_style 	0
			    label      	(object SegLabel @379
				Parent_View 	@377
				location   	(1280, 1458)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.676424
				height     	58
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionQueryReturning" @380
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1859, 975)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@380
			location   	(1368, 858)
			fill_color 	13434879
			nlines     	1
			max_width  	982
			justify    	0
			label      	"XMLValueFunctionQueryReturning")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"434490B20155"
		    width      	1000
		    height     	262
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionQuery" @381
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1222, 546)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@381
			location   	(581, 456)
			fill_color 	13434879
			nlines     	1
			max_width  	1282
			justify    	0
			label      	"XMLValueFunctionQuery")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"431F5BAE0364"
		    width      	1300
		    height     	208
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @382
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"431F64CC0021"
		    client     	@381
		    supplier   	@359
		    line_style 	0)
		(object AssociationViewNew "$UNNAMED$33" @383
		    location   	(895, 754)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"432F3CC90159"
		    roleview_list 	(list RoleViews
			(object RoleView "xqueryExpr" @384
			    Parent_View 	@383
			    location   	(-327, 208)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @385
				Parent_View 	@384
				location   	(553, 819)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	281
				justify    	0
				label      	"+xqueryExpr"
				pctDist    	1.686528
				height     	130
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F3CCA01D3"
			    client     	@383
			    supplier   	@371
			    line_style 	0
			    label      	(object SegLabel @386
				Parent_View 	@384
				location   	(756, 807)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.763099
				height     	32
				orientation 	1))
			(object RoleView "valueFunctionQuery" @387
			    Parent_View 	@383
			    location   	(-327, 208)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @388
				Parent_View 	@387
				location   	(623, 702)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	477
				justify    	0
				label      	"+valueFunctionQuery"
				pctDist    	-1.041955
				height     	191
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F3CCA01D5"
			    client     	@383
			    supplier   	@381
			    line_style 	0
			    label      	(object SegLabel @389
				Parent_View 	@387
				location   	(925, 681)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.337013
				height     	47
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$34" @390
		    location   	(1222, 929)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"432F3FBC01A5"
		    roleview_list 	(list RoleViews
			(object RoleView "xqueryArgList" @391
			    Parent_View 	@390
			    location   	(0, 383)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @392
				Parent_View 	@391
				location   	(1026, 1164)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	334
				justify    	0
				label      	"+xqueryArgList"
				pctDist    	0.838926
				height     	197
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F3FBD00AC"
			    client     	@390
			    supplier   	@372
			    line_style 	0
			    label      	(object SegLabel @393
				Parent_View 	@391
				location   	(1276, 1180)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.900000
				height     	54
				orientation 	0))
			(object RoleView "valueFunctionQuery" @394
			    Parent_View 	@390
			    location   	(0, 383)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @395
				Parent_View 	@394
				location   	(1222, 755)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	477
				justify    	0
				label      	"+valueFunctionQuery"
				pctDist    	0.623016
				height     	0
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F3FBD00AE"
			    client     	@390
			    supplier   	@381
			    line_style 	0
			    label      	(object SegLabel @396
				Parent_View 	@394
				location   	(1276, 679)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$52" @397
		    location   	(1521, 746)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4344923B038E"
		    roleview_list 	(list RoleViews
			(object RoleView "queryReturning" @398
			    Parent_View 	@397
			    location   	(299, 200)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @399
				Parent_View 	@398
				location   	(1985, 802)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	368
				justify    	0
				label      	"+queryReturning"
				pctDist    	2.391607
				height     	214
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4344923C032B"
			    client     	@397
			    supplier   	@380
			    line_style 	0
			    label      	(object SegLabel @400
				Parent_View 	@398
				location   	(1729, 812)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	1.205869
				height     	63
				orientation 	0))
			(object RoleView "valueFunctionQuery" @401
			    Parent_View 	@397
			    location   	(299, 200)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @402
				Parent_View 	@401
				location   	(1748, 695)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	458
				justify    	0
				label      	"+valueFunctionQuery"
				pctDist    	-0.934202
				height     	169
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4344923C032D"
			    client     	@397
			    supplier   	@381
			    line_style 	0
			    label      	(object SegLabel @403
				Parent_View 	@401
				location   	(1504, 699)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.245426
				height     	30
				orientation 	1))))))
	(object ClassDiagram "XMLTable"
	    quid       	"432F574E026C"
	    title      	"XMLTable"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::SQLQueryModel::TableFunction" @404
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(364, 169)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@404
			location   	(118, 84)
			fill_color 	13434879
			nlines     	1
			max_width  	492
			justify    	0
			label      	"TableFunction")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"3BF3D3E801A0"
		    width      	510
		    height     	198
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLNamespaceDeclarationPrefix" @405
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(507, 2548)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@405
			location   	(49, 2459)
			fill_color 	13434879
			nlines     	1
			max_width  	916
			justify    	0
			label      	"XMLNamespaceDeclarationPrefix")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4314C8B60324"
		    width      	934
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLNamespaceDeclarationDefault" @406
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(624, 2834)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@406
			location   	(153, 2745)
			fill_color 	13434879
			nlines     	1
			max_width  	942
			justify    	0
			label      	"XMLNamespaceDeclarationDefault")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4314C8B60329"
		    width      	960
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLTableColumnDefinitionOrdinality" @407
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1859, 1677)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@407
			location   	(1372, 1620)
			fill_color 	13434879
			nlines     	1
			max_width  	974
			justify    	0
			label      	"XMLTableColumnDefinitionOrdinality")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"432F728503C4"
		    width      	992
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLNamespaceDeclarationItem" @408
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(507, 2119)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@408
			location   	(67, 2030)
			fill_color 	13434879
			nlines     	1
			max_width  	880
			justify    	0
			label      	"XMLNamespaceDeclarationItem")
		    icon_style 	"Icon"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4314C8B6031E"
		    width      	898
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritTreeView "" @409
		    location   	(507, 2370)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@408
		    vertices   	(list Points
			(507, 2370)
			(507, 2222)))
		(object InheritView "" @410
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4314C8B60328"
		    client     	@406
		    supplier   	@408
		    line_style 	3
		    origin_attachment 	(1018, 2730)
		    terminal_attachment 	(1018, 2370)
		    drawSupplier 	@409)
		(object InheritView "" @411
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4314C8B60323"
		    client     	@405
		    supplier   	@408
		    line_style 	3
		    origin_attachment 	(118, 2445)
		    terminal_attachment 	(118, 2370)
		    drawSupplier 	@409)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLTableColumnDefinitionItem" @412
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1833, 715)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@412
			location   	(1407, 658)
			fill_color 	13434879
			nlines     	1
			max_width  	852
			justify    	0
			label      	"XMLTableColumnDefinitionItem")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"432F717D0304"
		    width      	870
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLNamespacesDeclaration" @413
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(507, 715)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@413
			location   	(103, 658)
			fill_color 	13434879
			nlines     	1
			max_width  	808
			justify    	0
			label      	"XMLNamespacesDeclaration")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"433B457C01AC"
		    width      	826
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$44" @414
		    location   	(507, 1400)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"433B45AE006E"
		    roleview_list 	(list RoleViews
			(object RoleView "namespacesDecl" @415
			    Parent_View 	@414
			    location   	(0, -719)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @416
				Parent_View 	@415
				location   	(282, 844)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	416
				justify    	0
				label      	"+namespacesDecl"
				pctDist    	0.907166
				height     	226
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"433B45AE02DD"
			    client     	@414
			    supplier   	@413
			    line_style 	0
			    label      	(object SegLabel @417
				Parent_View 	@415
				location   	(576, 848)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.899023
				height     	69
				orientation 	1))
			(object RoleView "namespaceDecltemList" @418
			    Parent_View 	@414
			    location   	(0, -719)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @419
				Parent_View 	@418
				location   	(351, 1958)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	551
				justify    	0
				label      	"+namespaceDecltemList"
				pctDist    	0.907468
				height     	157
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"433B45AE02DB"
			    client     	@414
			    supplier   	@408
			    line_style 	0
			    label      	(object SegLabel @420
				Parent_View 	@418
				location   	(702, 1968)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..n"
				pctDist    	0.923701
				height     	195
				orientation 	0))))
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLTableFunction" @421
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1170, 325)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@421
			location   	(831, 236)
			fill_color 	13434879
			nlines     	1
			max_width  	678
			justify    	0
			label      	"XMLTableFunction")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"432F58BF035B"
		    width      	696
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @422
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"432F58ED037A"
		    client     	@421
		    supplier   	@404
		    line_style 	0)
		(object AssociationViewNew "$UNNAMED$42" @423
		    location   	(1528, 535)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"432F71A40340"
		    roleview_list 	(list RoleViews
			(object RoleView "columnDefList" @424
			    Parent_View 	@423
			    location   	(267, 210)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @425
				Parent_View 	@424
				location   	(1466, 606)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	348
				justify    	0
				label      	"+columnDefList"
				pctDist    	-0.090817
				height     	93
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F71A5020C"
			    client     	@423
			    supplier   	@412
			    line_style 	0
			    label      	(object SegLabel @426
				Parent_View 	@424
				location   	(1780, 597)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..n"
				pctDist    	1.165729
				height     	75
				orientation 	0))
			(object RoleView "tableFunction" @427
			    Parent_View 	@423
			    location   	(267, 210)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @428
				Parent_View 	@427
				location   	(1656, 471)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	334
				justify    	0
				label      	"+tableFunction"
				pctDist    	-0.370677
				height     	120
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F71A5020E"
			    client     	@423
			    supplier   	@421
			    line_style 	0
			    label      	(object SegLabel @429
				Parent_View 	@427
				location   	(1331, 461)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.992006
				height     	36
				orientation 	0))))
		(object AssociationViewNew "$UNNAMED$51" @430
		    location   	(809, 535)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"433B51E302F3"
		    roleview_list 	(list RoleViews
			(object RoleView "namespacesDecl" @431
			    Parent_View 	@430
			    location   	(-452, 210)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @432
				Parent_View 	@431
				location   	(392, 617)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	416
				justify    	0
				label      	"+namespacesDecl"
				pctDist    	1.885634
				height     	142
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"433B51E4020E"
			    client     	@430
			    supplier   	@413
			    line_style 	0
			    label      	(object SegLabel @433
				Parent_View 	@431
				location   	(776, 592)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.273184
				height     	33
				orientation 	0))
			(object RoleView "tableFunction" @434
			    Parent_View 	@430
			    location   	(-452, 210)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @435
				Parent_View 	@434
				location   	(740, 479)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	334
				justify    	0
				label      	"+tableFunction"
				pctDist    	-0.153283
				height     	84
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"433B51E40218"
			    client     	@430
			    supplier   	@421
			    line_style 	0
			    label      	(object SegLabel @436
				Parent_View 	@434
				location   	(1023, 459)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	1.053479
				height     	42
				orientation 	1))))
		(object InheritTreeView "" @437
		    location   	(1819, 1542)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@412
		    vertices   	(list Points
			(1819, 1542)
			(1819, 786)))
		(object InheritView "" @438
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"432F72A90380"
		    client     	@407
		    supplier   	@412
		    line_style 	3
		    origin_attachment 	(2247, 1605)
		    terminal_attachment 	(2247, 1542)
		    drawSupplier 	@437)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLQueryArgumentList" @439
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1170, 962)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@439
			location   	(642, 873)
			fill_color 	13434879
			nlines     	1
			max_width  	1056
			justify    	0
			label      	"XMLQueryArgumentList")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"43209B100380"
		    width      	1074
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$41" @440
		    location   	(1170, 643)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"432F6C0F004B"
		    roleview_list 	(list RoleViews
			(object RoleView "xqueryArgList" @441
			    Parent_View 	@440
			    location   	(-65, 19)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @442
				Parent_View 	@441
				location   	(979, 824)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	334
				justify    	0
				label      	"+xqueryArgList"
				pctDist    	0.846890
				height     	192
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F6C0F0308"
			    client     	@440
			    supplier   	@439
			    line_style 	0
			    label      	(object SegLabel @443
				Parent_View 	@441
				location   	(1224, 833)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.889952
				height     	54
				orientation 	0))
			(object RoleView "tableFunction" @444
			    Parent_View 	@440
			    location   	(-65, 19)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @445
				Parent_View 	@444
				location   	(1135, 526)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	334
				justify    	0
				label      	"+tableFunction"
				pctDist    	0.548077
				height     	36
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F6C0F0312"
			    client     	@440
			    supplier   	@421
			    line_style 	0
			    label      	(object SegLabel @446
				Parent_View 	@444
				location   	(1233, 468)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.817308
				height     	63
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLQueryArgumentItem" @447
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1170, 1365)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@447
			location   	(642, 1276)
			fill_color 	13434879
			nlines     	1
			max_width  	1056
			justify    	0
			label      	"XMLQueryArgumentItem")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"43209CA10174"
		    width      	1074
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$4" @448
		    location   	(1170, 1163)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"43209D1502C5"
		    roleview_list 	(list RoleViews
			(object RoleView "xqueryArgListChildren" @449
			    Parent_View 	@448
			    location   	(-299, -1203)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @450
				Parent_View 	@449
				location   	(871, 1219)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	660
				justify    	0
				label      	"+xqueryArgListChildren"
				pctDist    	0.568428
				height     	300
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"43209D170232"
			    client     	@448
			    supplier   	@447
			    line_style 	0
			    label      	(object SegLabel @451
				Parent_View 	@449
				location   	(1225, 1236)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1..n"
				pctDist    	0.748879
				height     	55
				orientation 	0))
			(object RoleView "xqueryArgList" @452
			    Parent_View 	@448
			    location   	(-299, -1203)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @453
				Parent_View 	@452
				location   	(938, 1097)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	474
				justify    	0
				label      	"+xqueryArgList"
				pctDist    	0.681319
				height     	233
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"43209D170234"
			    client     	@448
			    supplier   	@439
			    line_style 	0
			    label      	(object SegLabel @454
				Parent_View 	@452
				location   	(1228, 1098)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.676424
				height     	58
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @455
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1690, 2834)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@455
			location   	(1361, 2746)
			fill_color 	13434879
			nlines     	1
			max_width  	658
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	676
		    height     	204
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$5" @456
		    location   	(1169, 2193)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4320AE75025D"
		    roleview_list 	(list RoleViews
			(object RoleView "valueExpr" @457
			    Parent_View 	@456
			    location   	(-560, -459)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @458
				Parent_View 	@457
				location   	(1482, 2691)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	254
				justify    	0
				label      	"+valueExpr"
				pctDist    	1.031758
				height     	48
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4320AE760313"
			    client     	@456
			    supplier   	@455
			    vertices   	(list Points
				(1169, 2193)
				(1169, 2608)
				(1454, 2731))
			    line_style 	0
			    label      	(object SegLabel @459
				Parent_View 	@457
				location   	(1642, 2685)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	1.497354
				height     	116
				orientation 	0))
			(object RoleView "$UNNAMED$6" @460
			    Parent_View 	@456
			    location   	(-560, -459)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4320AE76033B"
			    client     	@456
			    supplier   	@447
			    line_style 	0
			    label      	(object SegLabel @461
				Parent_View 	@460
				location   	(1223, 1541)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLTableColumnDefinitionDefault" @462
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1690, 2379)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@462
			location   	(1262, 2325)
			fill_color 	13434879
			nlines     	1
			max_width  	857
			justify    	0
			label      	"XMLTableColumnDefinitionDefault")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"43598E370091"
		    width      	875
		    height     	137
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$56" @463
		    location   	(1690, 2589)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"43598EF500D1"
		    roleview_list 	(list RoleViews
			(object RoleView "valueExpr" @464
			    Parent_View 	@463
			    location   	(0, 210)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @465
				Parent_View 	@464
				location   	(1858, 2689)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	254
				justify    	0
				label      	"+valueExpr"
				pctDist    	0.706145
				height     	168
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"43598EF70322"
			    client     	@463
			    supplier   	@455
			    line_style 	0
			    label      	(object SegLabel @466
				Parent_View 	@464
				location   	(2027, 2684)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.665610
				height     	337
				orientation 	0))
			(object RoleView "$UNNAMED$57" @467
			    Parent_View 	@463
			    location   	(0, 210)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"43598EF7034A"
			    client     	@463
			    supplier   	@462
			    line_style 	0
			    label      	(object SegLabel @468
				Parent_View 	@467
				location   	(1744, 2462)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLTableColumnDefinitionRegular" @469
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1690, 1989)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@469
			location   	(1223, 1843)
			fill_color 	13434879
			nlines     	1
			max_width  	934
			justify    	0
			label      	"XMLTableColumnDefinitionRegular")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"432F7257029B"
		    width      	952
		    height     	320
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @470
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"432F72AD00C9"
		    client     	@469
		    supplier   	@412
		    line_style 	3
		    origin_attachment 	(1297, 1828)
		    terminal_attachment 	(1297, 1542)
		    drawSupplier 	@437)
		(object AssociationViewNew "$UNNAMED$58" @471
		    location   	(1690, 2229)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"43598F37019E"
		    roleview_list 	(list RoleViews
			(object RoleView "columnDefinitionDefault" @472
			    Parent_View 	@471
			    location   	(0, 240)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @473
				Parent_View 	@472
				location   	(2024, 2281)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	546
				justify    	0
				label      	"+columnDefinitionDefault"
				pctDist    	0.641975
				height     	334
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"43598F3800AF"
			    client     	@471
			    supplier   	@462
			    line_style 	0
			    label      	(object SegLabel @474
				Parent_View 	@472
				location   	(1613, 2276)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.580247
				height     	77
				orientation 	1))
			(object RoleView "columnDefinitionRegular" @475
			    Parent_View 	@471
			    location   	(0, 240)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @476
				Parent_View 	@475
				location   	(2025, 2191)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	556
				justify    	0
				label      	"+columnDefinitionRegular"
				pctDist    	0.475000
				height     	335
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"43598F3800B9"
			    client     	@471
			    supplier   	@469
			    line_style 	0
			    label      	(object SegLabel @477
				Parent_View 	@475
				location   	(1616, 2182)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.587500
				height     	74
				orientation 	0))))))
	(object ClassDiagram "XMLText"
	    quid       	"432F5AF9039F"
	    title      	"XMLText"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunction" @478
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(403, 195)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@478
			location   	(126, 135)
			fill_color 	13434879
			nlines     	1
			max_width  	554
			justify    	0
			label      	"XMLValueFunction")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"4314C8B602D6"
		    width      	572
		    height     	148
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionText" @479
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1144, 559)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@479
			location   	(653, 470)
			fill_color 	13434879
			nlines     	1
			max_width  	982
			justify    	0
			label      	"XMLValueFunctionText")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"431F5DFD011F"
		    width      	1000
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @480
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"431F64D7004F"
		    client     	@479
		    supplier   	@478
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @481
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1144, 1547)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@481
			location   	(815, 1458)
			fill_color 	13434879
			nlines     	1
			max_width  	658
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	676
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionTextContent" @482
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1144, 1053)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@482
			location   	(729, 996)
			fill_color 	13434879
			nlines     	1
			max_width  	830
			justify    	0
			label      	"XMLValueFunctionTextContent")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"432F5B620073"
		    width      	848
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$35" @483
		    location   	(1144, 821)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"432F5B7F0059"
		    roleview_list 	(list RoleViews
			(object RoleView "textContent" @484
			    Parent_View 	@483
			    location   	(0, 262)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @485
				Parent_View 	@484
				location   	(936, 934)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	282
				justify    	0
				label      	"+textContent"
				pctDist    	0.713546
				height     	209
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F5B7F0227"
			    client     	@483
			    supplier   	@482
			    line_style 	0
			    label      	(object SegLabel @486
				Parent_View 	@484
				location   	(1197, 939)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.741350
				height     	53
				orientation 	0))
			(object RoleView "valueFunctionText" @487
			    Parent_View 	@483
			    location   	(0, 262)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @488
				Parent_View 	@487
				location   	(884, 706)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	422
				justify    	0
				label      	"+valueFunctionText"
				pctDist    	0.727273
				height     	261
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F5B7F0229"
			    client     	@483
			    supplier   	@479
			    line_style 	0
			    label      	(object SegLabel @489
				Parent_View 	@487
				location   	(1198, 707)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.721212
				height     	54
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$36" @490
		    location   	(1144, 1283)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"432F5BD70178"
		    roleview_list 	(list RoleViews
			(object RoleView "valueExpr" @491
			    Parent_View 	@490
			    location   	(0, 256)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @492
				Parent_View 	@491
				location   	(964, 1409)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	254
				justify    	0
				label      	"+valueExpr"
				pctDist    	0.795455
				height     	181
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F5BD80026"
			    client     	@490
			    supplier   	@481
			    line_style 	0
			    label      	(object SegLabel @493
				Parent_View 	@491
				location   	(1198, 1414)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.823864
				height     	54
				orientation 	0))
			(object RoleView "$UNNAMED$37" @494
			    Parent_View 	@490
			    location   	(0, 256)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F5BD8003A"
			    client     	@490
			    supplier   	@482
			    line_style 	0
			    label      	(object SegLabel @495
				Parent_View 	@494
				location   	(1198, 1140)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLReturningType" @496
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1937, 1963)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@496
			location   	(1623, 1852)
			fill_color 	13434879
			nlines     	1
			max_width  	628
			justify    	0
			label      	"XMLReturningType")
		    stereotype 	(object ItemLabel
			Parent_View 	@496
			location   	(1623, 1802)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	628
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	14079702
		    quidu      	"4325EA170132"
		    width      	646
		    height     	350
		    annotation 	8
		    autoResize 	TRUE)))
	(object ClassDiagram "XMLValidate"
	    quid       	"432F60A00307"
	    title      	"XMLValidate"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	0
	    origin_y   	0
	    items      	(list diagram_item_list
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunction" @497
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(416, 182)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@497
			location   	(139, 122)
			fill_color 	13434879
			nlines     	1
			max_width  	554
			justify    	0
			label      	"XMLValueFunction")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"4314C8B602D6"
		    width      	572
		    height     	148
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLContentType2" @498
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(442, 2509)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@498
			location   	(176, 2358)
			fill_color 	13434879
			nlines     	1
			max_width  	532
			justify    	0
			label      	"XMLContentType2")
		    stereotype 	(object ItemLabel
			Parent_View 	@498
			location   	(176, 2308)
			fill_color 	13434879
			anchor     	10
			nlines     	1
			max_width  	532
			justify    	0
			label      	"<<enumeration>>")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	14079702
		    quidu      	"432F62190175"
		    width      	550
		    height     	430
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionValidateAccordingToURI" @499
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1534, 1742)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@499
			location   	(954, 1597)
			fill_color 	13434879
			nlines     	1
			max_width  	1160
			justify    	0
			label      	"XMLValueFunctionValidateAccordingToURI")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"432F752A01C6"
		    width      	1178
		    height     	318
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionValidateAccordingToIdentifier" @500
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1287, 1404)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@500
			location   	(648, 1287)
			fill_color 	13434879
			nlines     	1
			max_width  	1278
			justify    	0
			label      	"XMLValueFunctionValidateAccordingToIdentifier")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"432F75530067"
		    width      	1296
		    height     	262
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @501
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(559, 1729)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@501
			location   	(230, 1640)
			fill_color 	13434879
			nlines     	1
			max_width  	658
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	676
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionValidateContent" @502
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(559, 988)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@502
			location   	(90, 931)
			fill_color 	13434879
			nlines     	1
			max_width  	938
			justify    	0
			label      	"XMLValueFunctionValidateContent")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"432F60FF0073"
		    width      	956
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$39" @503
		    location   	(559, 1342)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"432F61960258"
		    roleview_list 	(list RoleViews
			(object RoleView "valueExpr" @504
			    Parent_View 	@503
			    location   	(-637, 328)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @505
				Parent_View 	@504
				location   	(375, 1547)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	254
				justify    	0
				label      	"+valueExpr"
				pctDist    	0.725610
				height     	185
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F619701C5"
			    client     	@503
			    supplier   	@501
			    line_style 	0
			    label      	(object SegLabel @506
				Parent_View 	@504
				location   	(613, 1547)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.725610
				height     	54
				orientation 	0))
			(object RoleView "$UNNAMED$40" @507
			    Parent_View 	@503
			    location   	(-637, 328)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F619701E3"
			    client     	@503
			    supplier   	@502
			    line_style 	0
			    label      	(object SegLabel @508
				Parent_View 	@507
				location   	(613, 1111)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.817073
				height     	54
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionValidateElementNamespace" @509
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1469, 2522)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@509
			location   	(844, 2405)
			fill_color 	13434879
			nlines     	1
			max_width  	1250
			justify    	0
			label      	"XMLValueFunctionValidateElementNamespace")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"432F7B6000C4"
		    width      	1268
		    height     	262
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionValidateElementName" @510
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1755, 2925)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@510
			location   	(1202, 2868)
			fill_color 	13434879
			nlines     	1
			max_width  	1106
			justify    	0
			label      	"XMLValueFunctionValidateElementName")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"432F792C0211"
		    width      	1124
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionValidate" @511
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1196, 507)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@511
			location   	(729, 418)
			fill_color 	13434879
			nlines     	1
			max_width  	934
			justify    	0
			label      	"XMLValueFunctionValidate")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"431F64ED0250"
		    width      	952
		    height     	206
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @512
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"431F65080140"
		    client     	@511
		    supplier   	@497
		    line_style 	0)
		(object AssociationViewNew "$UNNAMED$38" @513
		    location   	(854, 763)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"432F61200036"
		    roleview_list 	(list RoleViews
			(object RoleView "validateContent" @514
			    Parent_View 	@513
			    location   	(-342, 256)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @515
				Parent_View 	@514
				location   	(476, 888)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	378
				justify    	0
				label      	"+validateContent"
				pctDist    	1.486591
				height     	129
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F61200291"
			    client     	@513
			    supplier   	@502
			    line_style 	0
			    label      	(object SegLabel @516
				Parent_View 	@514
				location   	(768, 856)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.491976
				height     	23
				orientation 	0))
			(object RoleView "valueFunctionValidate" @517
			    Parent_View 	@513
			    location   	(-342, 256)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @518
				Parent_View 	@517
				location   	(653, 664)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	523
				justify    	0
				label      	"+valueFunctionValidate"
				pctDist    	-0.398340
				height     	201
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F61200293"
			    client     	@513
			    supplier   	@511
			    line_style 	0
			    label      	(object SegLabel @519
				Parent_View 	@517
				location   	(1069, 669)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionValidateElement" @520
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1833, 2119)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@520
			location   	(1362, 2062)
			fill_color 	13434879
			nlines     	1
			max_width  	942
			justify    	0
			label      	"XMLValueFunctionValidateElement")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4346E84C020E"
		    width      	960
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$53" @521
		    location   	(1675, 2290)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4346E8A102C8"
		    roleview_list 	(list RoleViews
			(object RoleView "validateElementNamespace" @522
			    Parent_View 	@521
			    location   	(-184, 288)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @523
				Parent_View 	@522
				location   	(1217, 2333)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	654
				justify    	0
				label      	"+validateElementNamespace"
				pctDist    	2.531635
				height     	311
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4346E8A2008F"
			    client     	@521
			    supplier   	@509
			    line_style 	0
			    label      	(object SegLabel @524
				Parent_View 	@522
				location   	(1709, 2354)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.191710
				height     	69
				orientation 	0))
			(object RoleView "validateElement" @525
			    Parent_View 	@521
			    location   	(-184, 288)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @526
				Parent_View 	@525
				location   	(1477, 2232)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	386
				justify    	0
				label      	"+validateElement"
				pctDist    	-0.687598
				height     	187
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4346E8A20099"
			    client     	@521
			    supplier   	@520
			    line_style 	0
			    label      	(object SegLabel @527
				Parent_View 	@525
				location   	(1796, 2237)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.900000
				height     	54
				orientation 	1))))
		(object AssociationViewNew "$UNNAMED$54" @528
		    location   	(2258, 2550)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4346E8F401DA"
		    roleview_list 	(list RoleViews
			(object RoleView "validateElementName" @529
			    Parent_View 	@528
			    location   	(399, 548)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @530
				Parent_View 	@529
				location   	(1581, 2801)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	520
				justify    	0
				label      	"+validateElementName"
				pctDist    	1.789576
				height     	178
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4346E8F90277"
			    client     	@528
			    supplier   	@510
			    vertices   	(list Points
				(2258, 2550)
				(2258, 2711)
				(1918, 2853))
			    line_style 	0
			    label      	(object SegLabel @531
				Parent_View 	@529
				location   	(1919, 2809)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"0..1"
				pctDist    	0.967929
				height     	41
				orientation 	1))
			(object RoleView "validateElement" @532
			    Parent_View 	@528
			    location   	(399, 548)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @533
				Parent_View 	@532
				location   	(2146, 2290)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	386
				justify    	0
				label      	"+validateElement"
				pctDist    	0.681926
				height     	39
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4346E8F90279"
			    client     	@528
			    supplier   	@520
			    vertices   	(list Points
				(2258, 2550)
				(2258, 2295)
				(2005, 2190))
			    line_style 	0
			    label      	(object SegLabel @534
				Parent_View 	@532
				location   	(2168, 2219)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	32
				justify    	0
				label      	"1"
				pctDist    	0.694990
				height     	37
				orientation 	1))))
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionValidateAccordingTo" @535
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1729, 988)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@535
			location   	(1192, 931)
			fill_color 	13434879
			nlines     	1
			max_width  	1074
			justify    	0
			label      	"XMLValueFunctionValidateAccordingTo")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"432F748E01DE"
		    width      	1092
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object AssociationViewNew "$UNNAMED$43" @536
		    location   	(1479, 763)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"432F74E40124"
		    roleview_list 	(list RoleViews
			(object RoleView "validateAccordingTo" @537
			    Parent_View 	@536
			    location   	(283, 256)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @538
				Parent_View 	@537
				location   	(1296, 870)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	486
				justify    	0
				label      	"+validateAccordingTo"
				pctDist    	-0.290110
				height     	202
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F74E403E1"
			    client     	@536
			    supplier   	@535
			    line_style 	0
			    label      	(object SegLabel @539
				Parent_View 	@537
				location   	(1709, 872)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	119
				justify    	0
				label      	"0..1"
				pctDist    	1.063761
				height     	72
				orientation 	0))
			(object RoleView "valueFunctionValidate" @540
			    Parent_View 	@536
			    location   	(283, 256)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @541
				Parent_View 	@540
				location   	(1408, 688)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	523
				justify    	0
				label      	"+valueFunctionValidate"
				pctDist    	0.454790
				height     	9
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"432F74E403E3"
			    client     	@536
			    supplier   	@511
			    line_style 	0
			    label      	(object SegLabel @542
				Parent_View 	@540
				location   	(1718, 679)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	-0.534287
				height     	223
				orientation 	1))))
		(object InheritTreeView "" @543
		    location   	(1729, 1213)
		    line_color 	3342489
		    fill_color 	13434879
		    supplier   	@535
		    vertices   	(list Points
			(1729, 1213)
			(1729, 1059)))
		(object InheritView "" @544
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"432F75F50007"
		    client     	@500
		    supplier   	@535
		    line_style 	3
		    origin_attachment 	(878, 1272)
		    terminal_attachment 	(878, 1213)
		    drawSupplier 	@543)
		(object InheritView "" @545
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"432F75F80228"
		    client     	@499
		    supplier   	@535
		    line_style 	3
		    origin_attachment 	(1991, 1582)
		    terminal_attachment 	(1991, 1213)
		    drawSupplier 	@543)
		(object AssociationViewNew "$UNNAMED$55" @546
		    location   	(2209, 1523)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"4346E9550359"
		    roleview_list 	(list RoleViews
			(object RoleView "validateElement" @547
			    Parent_View 	@546
			    location   	(480, 535)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @548
				Parent_View 	@547
				location   	(1604, 2002)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	386
				justify    	0
				label      	"+validateElement"
				pctDist    	2.143070
				height     	205
				orientation 	1)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4346E95D0043"
			    client     	@546
			    supplier   	@520
			    vertices   	(list Points
				(2209, 1523)
				(2209, 1926)
				(1970, 2047))
			    line_style 	0
			    label      	(object SegLabel @549
				Parent_View 	@547
				location   	(1875, 2001)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	181
				justify    	0
				label      	"0..1"
				pctDist    	1.099087
				height     	85
				orientation 	1))
			(object RoleView "validateAccordingTo" @550
			    Parent_View 	@546
			    location   	(480, 535)
			    font       	(object Font
				size       	12
				face       	"Arial"
				bold       	FALSE
				italics    	FALSE
				underline  	FALSE
				strike     	FALSE
				color      	0
				default_color 	TRUE)
			    label      	(object SegLabel @551
				Parent_View 	@550
				location   	(2050, 1156)
				font       	(object Font
				    size       	12
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	1
				anchor_loc 	1
				nlines     	1
				max_width  	486
				justify    	0
				label      	"+validateAccordingTo"
				pctDist    	0.717745
				height     	19
				orientation 	0)
			    stereotype 	TRUE
			    line_color 	3342489
			    quidu      	"4346E95D0045"
			    client     	@546
			    supplier   	@535
			    vertices   	(list Points
				(2209, 1523)
				(2209, 1210)
				(1884, 1059))
			    line_style 	0
			    label      	(object SegLabel @552
				Parent_View 	@550
				location   	(2110, 1099)
				font       	(object Font
				    size       	10
				    face       	"Arial"
				    bold       	FALSE
				    italics    	FALSE
				    underline  	FALSE
				    strike     	FALSE
				    color      	0
				    default_color 	TRUE)
				anchor     	2
				anchor_loc 	1
				nlines     	1
				max_width  	15
				justify    	0
				label      	"1"
				pctDist    	0.669924
				height     	60
				orientation 	1))))))
	(object ClassDiagram "Inheritance2"
	    quid       	"433B53840365"
	    title      	"Inheritance2"
	    zoom       	100
	    max_height 	28350
	    max_width  	21600
	    origin_x   	81
	    origin_y   	0
	    items      	(list diagram_item_list
		(object NoteView @553
		    location   	(481, 247)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@553
			location   	(171, 88)
			fill_color 	13434879
			nlines     	5
			max_width  	584
			label      	
|This diagram shows inheritance that isn't shown on other diagrams.  These are classes that "wrap" a QueryValueExpression.
			)
		    line_color 	3342489
		    fill_color 	16777088
		    width      	644
		    height     	331)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionCommentContent" @554
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1716, 910)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@554
			location   	(1231, 853)
			fill_color 	13434879
			nlines     	1
			max_width  	970
			justify    	0
			label      	"XMLValueFunctionCommentContent")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4325FF710379"
		    width      	988
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionConcatContentItem" @555
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1716, 1378)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@555
			location   	(1210, 1321)
			fill_color 	13434879
			nlines     	1
			max_width  	1012
			justify    	0
			label      	"XMLValueFunctionConcatContentItem")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4325FC9500E8"
		    width      	1030
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionDocumentContent" @556
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1729, 1599)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@556
			location   	(1236, 1542)
			fill_color 	13434879
			nlines     	1
			max_width  	986
			justify    	0
			label      	"XMLValueFunctionDocumentContent")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"432603710070"
		    width      	1004
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLAttributeDeclarationItem" @557
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1690, 247)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@557
			location   	(1306, 190)
			fill_color 	13434879
			nlines     	1
			max_width  	768
			justify    	0
			label      	"XMLAttributeDeclarationItem")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4314C8B602B2"
		    width      	786
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionElementContentItem" @558
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1729, 1820)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@558
			location   	(1201, 1763)
			fill_color 	13434879
			nlines     	1
			max_width  	1056
			justify    	0
			label      	"XMLValueFunctionElementContentItem")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4314C8B602C9"
		    width      	1074
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLQueryArgumentItem" @559
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1703, 468)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@559
			location   	(1370, 411)
			fill_color 	13434879
			nlines     	1
			max_width  	666
			justify    	0
			label      	"XMLQueryArgumentItem")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"43209CA10174"
		    width      	684
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionForestContentItem" @560
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1729, 2041)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@560
			location   	(1232, 1984)
			fill_color 	13434879
			nlines     	1
			max_width  	994
			justify    	0
			label      	"XMLValueFunctionForestContentItem")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"432F1BC80031"
		    width      	1012
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionParseContent" @561
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1742, 2262)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@561
			location   	(1306, 2205)
			fill_color 	13434879
			nlines     	1
			max_width  	872
			justify    	0
			label      	"XMLValueFunctionParseContent")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"432F3271034A"
		    width      	890
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionPIContent" @562
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1742, 2470)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@562
			location   	(1353, 2413)
			fill_color 	13434879
			nlines     	1
			max_width  	778
			justify    	0
			label      	"XMLValueFunctionPIContent")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"432F390B0155"
		    width      	796
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLSerializeFunctionTarget" @563
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1703, 689)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@563
			location   	(1324, 632)
			fill_color 	13434879
			nlines     	1
			max_width  	758
			justify    	0
			label      	"XMLSerializeFunctionTarget")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"4320C222013E"
		    width      	776
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionTextContent" @564
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1742, 2691)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@564
			location   	(1327, 2634)
			fill_color 	13434879
			nlines     	1
			max_width  	830
			justify    	0
			label      	"XMLValueFunctionTextContent")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"432F5B620073"
		    width      	848
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLValueFunctionValidateContent" @565
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1742, 2912)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@565
			location   	(1275, 2855)
			fill_color 	13434879
			nlines     	1
			max_width  	934
			justify    	0
			label      	"XMLValueFunctionValidateContent")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"432F60FF0073"
		    width      	952
		    height     	142
		    annotation 	8
		    autoResize 	TRUE)
		(object ClassView "Class" "Logical View::SQLQueryModel::QueryValueExpression" @566
		    ShowCompartmentStereotypes 	TRUE
		    IncludeOperation 	TRUE
		    location   	(429, 1378)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	TRUE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@566
			location   	(100, 1290)
			fill_color 	13434879
			nlines     	1
			max_width  	658
			justify    	0
			label      	"QueryValueExpression")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13828055
		    quidu      	"3B3792520160"
		    width      	676
		    height     	204
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @567
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"433B54710354"
		    client     	@554
		    supplier   	@566
		    line_style 	0)
		(object InheritView "" @568
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"433B54B00215"
		    client     	@555
		    supplier   	@566
		    line_style 	0)
		(object InheritView "" @569
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"433B54E70369"
		    client     	@556
		    supplier   	@566
		    line_style 	0)
		(object InheritView "" @570
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"433B5574029B"
		    client     	@557
		    supplier   	@566
		    line_style 	0)
		(object InheritView "" @571
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"433B55C10116"
		    client     	@558
		    supplier   	@566
		    line_style 	0)
		(object InheritView "" @572
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"433B56240278"
		    client     	@559
		    supplier   	@566
		    line_style 	0)
		(object InheritView "" @573
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"433B56CB00C1"
		    client     	@560
		    supplier   	@566
		    line_style 	0)
		(object InheritView "" @574
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"433B57030235"
		    client     	@561
		    supplier   	@566
		    line_style 	0)
		(object InheritView "" @575
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"433B5727006A"
		    client     	@562
		    supplier   	@566
		    line_style 	0)
		(object InheritView "" @576
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"433B57730128"
		    client     	@563
		    supplier   	@566
		    line_style 	0)
		(object InheritView "" @577
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"433B57DE032C"
		    client     	@564
		    supplier   	@566
		    line_style 	0)
		(object InheritView "" @578
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"433B581B02C6"
		    client     	@565
		    supplier   	@566
		    line_style 	0)
		(object ClassView "Class" "Logical View::SQLXMLQueryModel::XMLTableColumnDefinitionDefault" @579
		    ShowCompartmentStereotypes 	TRUE
		    IncludeAttribute 	TRUE
		    IncludeOperation 	TRUE
		    location   	(1716, 1131)
		    font       	(object Font
			size       	12
			face       	"Arial"
			bold       	FALSE
			italics    	FALSE
			underline  	FALSE
			strike     	FALSE
			color      	0
			default_color 	TRUE)
		    label      	(object ItemLabel
			Parent_View 	@579
			location   	(1256, 1077)
			fill_color 	13434879
			nlines     	1
			max_width  	920
			justify    	0
			label      	"XMLTableColumnDefinitionDefault")
		    icon_style 	"Label"
		    line_color 	3342489
		    fill_color 	13434879
		    quidu      	"43598E370091"
		    width      	938
		    height     	136
		    annotation 	8
		    autoResize 	TRUE)
		(object InheritView "" @580
		    stereotype 	TRUE
		    line_color 	3342489
		    quidu      	"43598FF50147"
		    client     	@579
		    supplier   	@566
		    line_style 	0)))))
