Return-Path: Delivered-To: apmail-xml-axis-dev-archive@xml.apache.org Received: (qmail 71254 invoked by uid 500); 19 Feb 2002 13:28:40 -0000 Mailing-List: contact axis-dev-help@xml.apache.org; run by ezmlm Precedence: bulk Reply-To: axis-dev@xml.apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list axis-dev@xml.apache.org Received: (qmail 71245 invoked from network); 19 Feb 2002 13:28:40 -0000 Importance: Normal Subject: RE: cvs commit: xml-axis/java/src/org/apache/axis/wsdl/toJava Sch emaUtils.java To: axis-dev@xml.apache.org X-Mailer: Lotus Notes Release 5.0.7 March 21, 2001 Message-ID: From: "Russell Butek" Date: Tue, 19 Feb 2002 07:28:42 -0600 X-MIMETrack: Serialize by Router on D04NMS23/04/M/IBM(Release 5.0.8 |June 18, 2001) at 02/19/2002 08:28:39 AM MIME-Version: 1.0 Content-type: text/plain; charset=iso-8859-1 Content-transfer-encoding: quoted-printable X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N Ouch. No, I'm afraid I haven't seen this problem. Hopefully someone e= lse can help? What platform are you on? Russell Butek butek@us.ibm.com David Altenburg on 02/18/2002 06:03:33 P= M Please respond to axis-dev@xml.apache.org To: "'axis-dev@xml.apache.org'" cc: Subject: RE: cvs commit: xml-axis/java/src/org/apache/axis/wsdl/toJava= Sch emaUtils.java Thanks.=A0 Saw that, and I'd like to write one. However, I'm having some problems running the test suite with Ant.=A0 I= get a ClassNotFoundException on samples.userguide.example6.WidgetPrice (and a= fter commenting that out, I see that I get a ClassNotFound on every one of t= he samples classes).=A0 That class is getting built, however, and it is in= my classpath (xml-axis/java/build/classes).=A0 This question is probably b= etter suited for the Ant list, but I was wondering if anyone here had had the= same problem. Thanks, David Altenburg altenburgd@businesslogic.com >-----Original Message----- >From: Russell Butek [mailto:butek@us.ibm.com] >Sent: Monday, February 18, 2002 9:59 AM >To: axis-dev@xml.apache.org >Subject: RE: cvs commit: >xml-axis/java/src/org/apache/axis/wsdl/toJava Sch emaUtils.java > > >David, in his commit comment, Rich said, "Need a testcase..." > >Hint hint! > >Russell Butek >butek@us.ibm.com > > >David Altenburg on 02/18/2002 >09:42:37 AM > >Please respond to axis-dev@xml.apache.org > >To:=A0=A0 "'axis-dev@xml.apache.org'" >cc: >Subject:=A0 RE: cvs commit: >xml-axis/java/src/org/apache/axis/wsdl/toJava Sch >=A0=A0=A0=A0=A0 emaUtils.java > > > > > >Excellent.=A0 Thanks! > >David Altenburg >altenburgd@businesslogic.com > >>-----Original Message----- >>From: scheu@apache.org [mailto:scheu@apache.org] >>Sent: Friday, February 15, 2002 5:02 PM >>To: xml-axis-cvs@apache.org >>Subject: cvs commit: xml-axis/java/src/org/apache/axis/wsdl/toJava >>SchemaUtils.java >> >> >>scheu=A0=A0=A0=A0=A0=A0 02/02/15 15:02:19 >> >>=A0 Modified:=A0=A0=A0 java/src/org/apache/axis/wsdl/toJava SchemaUti= ls.java >>=A0 Log: >>=A0 Changes per axis-dev request from David Altenburg. >> >>=A0 The WSDL2Java emitter now parses choice and group elements >underneath >>=A0 complexType elements. >> >>=A0 Need a testcase... >> >>=A0 Revision=A0 Changes=A0=A0=A0 Path >>=A0 1.9=A0=A0=A0=A0=A0=A0 +132 -21 >>xml-axis/java/src/org/apache/axis/wsdl/toJava/SchemaUtils.java >> >>=A0 Index: SchemaUtils.java >>=A0 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>=A0 RCS file: >>/home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/SchemaU >>tils.java,v >>=A0 retrieving revision 1.8 >>=A0 retrieving revision 1.9 >>=A0 diff -u -r1.8 -r1.9 >>=A0 --- SchemaUtils.java 15 Feb 2002 19:41:17 -0000=A0=A0=A0=A0=A0 1.= 8 >>=A0 +++ SchemaUtils.java 15 Feb 2002 23:02:19 -0000=A0=A0=A0=A0=A0 1.= 9 >>=A0 @@ -163,33 +163,18 @@ >>=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } >>=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 if (groupNode !=3D null) {= >> >>=A0 -=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 // Process each of= the element nodes under >the group >>node >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 // Process each of= the choice or element >nodes under >>the sequence/all node >>=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 Vector v =3D n= ew Vector(); >>=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 NodeList eleme= nts =3D groupNode.getChildNodes(); >>=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 for (int i=3D0= ; i < elements.getLength(); i++) { >>=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 QN= ame elementKind =3D >>Utils.getNodeQName(elements.item(i)); >>=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 if= (elementKind !=3D null && >>=A0 - >>elementKind.getLocalPart().equals("element") && >> >>Constants.isSchemaXSD(elementKind.getNamespaceURI())) { >>=A0 - >>=A0 -=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0 // Get the name and type qnames. >>=A0 -=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0 // The name of the element is the >local part >>of the name's qname. >>=A0 -=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0 // The type qname is used to locate the >>TypeEntry, which is then >>=A0 -=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0 // used to retrieve the proper >java name of >>the type. >>=A0 -=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0 Node elementNode =3D elements.item(i); >>=A0 -=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0 QName nodeName =3D >>Utils.getNodeNameQName(elementNode); >>=A0 -=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0 BooleanHolder forElement =3D new >>BooleanHolder(); >>=A0 -=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0 QName nodeType =3D >>Utils.getNodeTypeRefQName(elementNode, forElement); >>=A0 -=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0 if (nodeType =3D=3D null) { // The element may >>use an anonymous type >>=A0 -=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 nodeType =3D nodeName; >>=A0 -=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 forElement.value =3D false; >>=A0 -=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0 } >>=A0 - >>=A0 -=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0 TypeEntry type =3D (TypeEntry) >>symbolTable.getTypeEntry(nodeType, >>=A0 - >>=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 forElement.value)= ; >>=A0 -=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0 if (type !=3D null) { >>=A0 -=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 v.add(type); >>=A0 -=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 v.add(nodeName.getLocalPart()); >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0 if ( >>elementKind.getLocalPart().equals("element")) { >>=A0 + >>v.addAll(processChildElementNode(elements.item(i), symbolTable)); >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0 } else if >>(elementKind.getLocalPart().equals("choice")) { >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 Vector choiceElems =3D >>processChoiceNode(elements.item(i), symbolTable); >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 v.addAll(choiceElems); >>=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0 } >>=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } >>=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } >>=A0 @@ -197,6 +182,132 @@ >>=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } >>=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } >>=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 return null; >>=A0 +=A0=A0=A0 } >>=A0 + >>=A0 +=A0=A0=A0 /** >>=A0 +=A0=A0=A0=A0 * Invoked by getComplexElementTypesAndNames to get = the child >>element types >>=A0 +=A0=A0=A0=A0 * and child element names underneath a Choice Node >>=A0 +=A0=A0=A0=A0 */ >>=A0 +=A0=A0=A0 private static Vector processChoiceNode(Node choiceNod= e, >>SymbolTable symbolTable) { >>=A0 +=A0=A0=A0=A0=A0=A0=A0 Vector v =3D new Vector(); >>=A0 +=A0=A0=A0=A0=A0=A0=A0 NodeList children =3D choiceNode.getChildN= odes(); >>=A0 +=A0=A0=A0=A0=A0=A0=A0 for (int j =3D 0; j < children.getLength()= ; j++) { >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 QName subNodeKind =3D >>Utils.getNodeQName(children.item(j)); >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 if (subNodeKind !=3D null && >>=A0 + >>Constants.isSchemaXSD(subNodeKind.getNamespaceURI())) { >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 if (subNodeKind.ge= tLocalPart().equals("choice")) { >>=A0 + >>v.addAll(processChoiceNode(children.item(j), symbolTable)); >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } else if >>(subNodeKind.getLocalPart().equals("sequence")) { >>=A0 + >>v.addAll(processSequenceNode(children.item(j), symbolTable)); >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } else if >>(subNodeKind.getLocalPart().equals("group")) { >>=A0 + >>v.addAll(processGroupNode(children.item(j), symbolTable)); >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } else if >>(subNodeKind.getLocalPart().equals("element")) { >>=A0 + >>v.addAll(processChildElementNode(children.item(j), symbolTable)); >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } >>=A0 +=A0=A0=A0=A0=A0=A0=A0 } >>=A0 +=A0=A0=A0=A0=A0=A0=A0 return v; >>=A0 +=A0=A0=A0 } >>=A0 + >>=A0 +=A0=A0=A0 /** >>=A0 +=A0=A0=A0=A0 * Invoked by getComplexElementTypesAndNames to get = the child >>element types >>=A0 +=A0=A0=A0=A0 * and child element names underneath a Sequence Nod= e >>=A0 +=A0=A0=A0=A0 */ >>=A0 +=A0=A0=A0 private static Vector processSequenceNode(Node sequenc= eNode, >>SymbolTable symbolTable) { >>=A0 +=A0=A0=A0=A0=A0=A0=A0 Vector v =3D new Vector(); >>=A0 +=A0=A0=A0=A0=A0=A0=A0 NodeList children =3D sequenceNode.getChil= dNodes(); >>=A0 +=A0=A0=A0=A0=A0=A0=A0 for (int j =3D 0; j < children.getLength()= ; j++) { >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 QName subNodeKind =3D >>Utils.getNodeQName(children.item(j)); >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 if (subNodeKind !=3D null && >>=A0 + >>Constants.isSchemaXSD(subNodeKind.getNamespaceURI())) { >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 if (subNodeKind.ge= tLocalPart().equals("choice")) { >>=A0 + >>v.addAll(processChoiceNode(children.item(j), symbolTable)); >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } else if >>(subNodeKind.getLocalPart().equals("sequence")) { >>=A0 + >>v.addAll(processSequenceNode(children.item(j), symbolTable)); >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } else if >>(subNodeKind.getLocalPart().equals("group")) { >>=A0 + >>v.addAll(processGroupNode(children.item(j), symbolTable)); >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } else if >>(subNodeKind.getLocalPart().equals("element")) { >>=A0 + >>v.addAll(processChildElementNode(children.item(j), symbolTable)); >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } >>=A0 +=A0=A0=A0=A0=A0=A0=A0 } >>=A0 +=A0=A0=A0=A0=A0=A0=A0 return v; >>=A0 +=A0=A0=A0 } >>=A0 + >>=A0 +=A0=A0=A0 /** >>=A0 +=A0=A0=A0=A0 * Invoked by getComplexElementTypesAndNames to get = the child >>element types >>=A0 +=A0=A0=A0=A0 * and child element names underneath a group node. >>=A0 +=A0=A0=A0=A0 * (Currently the code only supports a defined group= >it does not >>=A0 +=A0=A0=A0=A0 * support a group that references a previously defi= ned group) >>=A0 +=A0=A0=A0=A0 */ >>=A0 +=A0=A0=A0 private static Vector processGroupNode(Node groupNode,= >>SymbolTable symbolTable) { >>=A0 +=A0=A0=A0=A0=A0=A0=A0 Vector v =3D new Vector(); >>=A0 +=A0=A0=A0=A0=A0=A0=A0 NodeList children =3D groupNode.getChildNo= des(); >>=A0 +=A0=A0=A0=A0=A0=A0=A0 for (int j =3D 0; j < children.getLength()= ; j++) { >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 QName subNodeKind =3D >>Utils.getNodeQName(children.item(j)); >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 if (subNodeKind !=3D null && >>=A0 + >>Constants.isSchemaXSD(subNodeKind.getNamespaceURI())) { >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 if (subNodeKind.ge= tLocalPart().equals("choice")) { >>=A0 + >>v.addAll(processChoiceNode(children.item(j), symbolTable)); >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } else if >>(subNodeKind.getLocalPart().equals("sequence")) { >>=A0 + >>v.addAll(processSequenceNode(children.item(j), symbolTable)); >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } else if >>(subNodeKind.getLocalPart().equals("all")) { >>=A0 + >>v.addAll(processAllNode(children.item(j), symbolTable)); >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } >>=A0 +=A0=A0=A0=A0=A0=A0=A0 } >>=A0 +=A0=A0=A0=A0=A0=A0=A0 return v; >>=A0 +=A0=A0=A0 } >>=A0 + >>=A0 +=A0=A0=A0 /** >>=A0 +=A0=A0=A0=A0 * Invoked by getComplexElementTypesAndNames to get = the child >>element types >>=A0 +=A0=A0=A0=A0 * and child element names underneath an all node. >>=A0 +=A0=A0=A0=A0 */ >>=A0 +=A0=A0=A0 private static Vector processAllNode(Node allNode, Sym= bolTable >>symbolTable) { >>=A0 +=A0=A0=A0=A0=A0=A0=A0 Vector v =3D new Vector(); >>=A0 +=A0=A0=A0=A0=A0=A0=A0 NodeList children =3D allNode.getChildNode= s(); >>=A0 +=A0=A0=A0=A0=A0=A0=A0 for (int j =3D 0; j < children.getLength()= ; j++) { >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 QName subNodeKind =3D >>Utils.getNodeQName(children.item(j)); >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 if (subNodeKind !=3D null && >>=A0 + >>Constants.isSchemaXSD(subNodeKind.getNamespaceURI())) { >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 if (subNodeKind.ge= tLocalPart().equals("element")) { >>=A0 + >>v.addAll(processChildElementNode(children.item(j), symbolTable)); >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } >>=A0 +=A0=A0=A0=A0=A0=A0=A0 } >>=A0 +=A0=A0=A0=A0=A0=A0=A0 return v; >>=A0 +=A0=A0=A0 } >>=A0 + >>=A0 + >>=A0 +=A0=A0=A0 /** >>=A0 +=A0=A0=A0=A0 * Invoked by getComplexElementTypesAndNames to get = the child >>element type >>=A0 +=A0=A0=A0=A0 * and child element name for a child element node. >>=A0 +=A0=A0=A0=A0 * >>=A0 +=A0=A0=A0=A0 * If the specified node represents a supported JAX-= RPC child >>element, >>=A0 +=A0=A0=A0=A0 * a Vector is returned which contains the child ele= ment type >>and >>=A0 +=A0=A0=A0=A0 * child element name.=A0 The 0th index is the eleme= nt types >>(TypeEntry) and >>=A0 +=A0=A0=A0=A0 * the 1st index is the corresponding name (Strings)= . >>=A0 +=A0=A0=A0=A0 */ >>=A0 +=A0=A0=A0 private static Vector processChildElementNode(Node >elementNode, >>SymbolTable symbolTable) { >>=A0 +=A0=A0=A0=A0=A0=A0=A0 Vector v =3D new Vector(); >>=A0 +=A0=A0=A0=A0=A0=A0=A0 // Get the name and type qnames. >>=A0 +=A0=A0=A0=A0=A0=A0=A0 // The name of the element is the local pa= rt of the name's >>qname. >>=A0 +=A0=A0=A0=A0=A0=A0=A0 // The type qname is used to locate the Ty= peEntry, >which is >>then >>=A0 +=A0=A0=A0=A0=A0=A0=A0 // used to retrieve the proper java name o= f the type. >>=A0 +=A0=A0=A0=A0=A0=A0=A0 QName nodeName =3D Utils.getNodeNameQName(= elementNode); >>=A0 +=A0=A0=A0=A0=A0=A0=A0 BooleanHolder forElement =3D new BooleanHo= lder(); >>=A0 +=A0=A0=A0=A0=A0=A0=A0 QName nodeType =3D Utils.getNodeTypeRefQNa= me(elementNode, >>forElement); >>=A0 +=A0=A0=A0=A0=A0=A0=A0 if (nodeType =3D=3D null) { // The element= may use an >anonymous >>type >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 nodeType =3D nodeName; >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 forElement.value =3D false;= >>=A0 +=A0=A0=A0=A0=A0=A0=A0 } >>=A0 + >>=A0 +=A0=A0=A0=A0=A0=A0=A0 TypeEntry type =3D (TypeEntry) >>symbolTable.getTypeEntry(nodeType, forElement.value); >>=A0 +=A0=A0=A0=A0=A0=A0=A0 if (type !=3D null) { >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 v.add(type); >>=A0 +=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 v.add(nodeName.getLocalPart())= ; >>=A0 +=A0=A0=A0=A0=A0=A0=A0 } >>=A0 +=A0=A0=A0=A0=A0=A0=A0 return v; >>=A0=A0=A0=A0=A0=A0 } >> >>=A0=A0=A0=A0=A0=A0 /** >> >> >> >> > > > =