Okay upgraded to 2.8.0 xerces. I now get the error
cvc-elt.1: Cannot find the declaration of element 'shippingRequest'. Column: 201 Line: 2 PublicID: null It no longer is finding the schema on the local app server so I just removed it. The old version wanted it there. I added elementFormDefault="qualified" to the schema but still get the above error. I thought the elementFormDefault worked in reverse from the way it does which is why I didn't have it there to begin with. > -----Original Message----- > From: Michael Glavassevich [mailto:[EMAIL PROTECTED] > Sent: Thursday, April 20, 2006 9:57 AM > To: [email protected] > Subject: Re: Xerces 1.4.4, XML, XSD and validation > > The local element declarations in your schema have no target > namespace. > You either need to change your schema (for instance by adding > the attribute elementFormDefault="qualified" to xsd:schema) > or fix the namespace declarations in your instance document. > > Michael Glavassevich > XML Parser Development > IBM Toronto Lab > E-mail: [EMAIL PROTECTED] > E-mail: [EMAIL PROTECTED] > > "Scott Shaver" <[EMAIL PROTECTED]> wrote on 04/20/2006 > 11:05:26 AM: > > > > > I'm having trouble with the 1.4.4 xerces trying to validate > an xml doc > > against a XSD schema. > > > > It always gives me the error shown below. I know it is finding the > > schema file because when it doesn't I get a exception telling me so. > > > > > > Here are: > > > > Error message > > XML > > XSD > > The code > > > > ========================== > > The Error > > ========================== > > > > The content of element type "shippingRequest" must match > > > "(order_date,brand_name,shipRequestType,shipHow,exportDocsURL,so,po,cu > > st omer_po?,shipInstructions?,shipTo,items,comment?)". Column: 19 > > Line: 43 > > PublicID: null > > > > ========================== > > The XML > > ========================== > > > > <?xml version="1.0"?> > > <shippingRequest xmlns="http://foo.comp.com" > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > xsi:schemaLocation="http://foo.comp.com/downloads/it/schema > > riverbed_ship_request.xsd"> > > <order_date>2006-03-09</order_date> > > <brand_name>FOO</brand_name> > > <shipRequestType>Evaluation</shipRequestType> > > <shipHow shippingCarrier="ROUTED" > shippingServiceLevel="NEXT DAY AM" > > modeOfTransport="AIR" freightTerms="WE PAY"/> > > <exportDocsURL>https://foo.comp.com</exportDocsURL> > > <so>99165</so> > > <po>65512</po> > > <customer_po>77836 NRR</customer_po> > > <shipTo> > > <company>GENERAL AIRCRAFT ENGINES - OH</company> > > <attn>DAVID SMITHY</attn> > > <address>ONE MAN WAY</address> > > <city>CINCINNATI</city> > > <state>OH</state> > > <postalCode>2342315</postalCode> > > <country>US</country> > > </shipTo> > > <items> > > <item> > > <item_reason>NEW</item_reason> > > <type>STANDARD</type> > > <creation_date>2006-03-09</creation_date> > > <update_date>2006-03-09</update_date> > > > <schedule_ship_date>2006-03-16</schedule_ship_date> > > <order_line_id>799082</order_line_id> > > <quantity>2</quantity> > > <part_num>M23SHA-03010</part_num> > > </item> > > <item> > > <item_reason>NEW</item_reason> > > <type>STANDARD</type> > > <creation_date>2006-03-09</creation_date> > > <update_date>2006-03-09</update_date> > > > <schedule_ship_date>2006-03-16</schedule_ship_date> > > <order_line_id>799091</order_line_id> > > <quantity>1</quantity> > > <part_num>M324CMC-08003</part_num> > > </item> > > </items> > > <comment>ATTN: DAVID SMITHY</comment> </shippingRequest> > > > > ======================= > > The Schema > > ======================= > > <?xml version="1.0"?> > > > > <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" > > targetNamespace="http://foo.comp.com" xmlns="http://foo.comp.com"> > > <!-- Schema definition for shipping requests sent to rbed > from foo > > --> > > > > <xsd:element name="shippingRequest" type="ShippingRequestType"/> > > > > <xsd:complexType name="ShippingRequestType"> > > <xsd:sequence> > > <!-- create date of the order --> > > <xsd:element name="order_date" type="xsd:date"/> > > > > <!-- rbed or OEM (foo) name --> > > <xsd:element name="brand_name" type="xsd:string"/> > > > > <xsd:element name="shipRequestType" type="ShipRequestType"/> > > > > <xsd:element name="shipHow" type="ShippingMethod"/> > > > > <!-- URL pointing to a PDF file containing the export > documents > --> > > <xsd:element name="exportDocsURL" type="xsd:string"/> > > > > <!-- foo so (order) number (this is used in the documentation > > file > names) --> > > <xsd:element name="so" type="xsd:string"/> > > > > <!-- rbed or OEM (foo) po number --> > > <xsd:element name="po" type="xsd:string"/> > > > > <!-- rbed or OEM customer's PO number --> > > <xsd:element name="customer_po" type="xsd:string" > minOccurs="0" > > maxOccurs="1"/> > > > > <xsd:element name="shipInstructions" type="xsd:string" > > minOccurs="0" maxOccurs="1"/> > > > > <xsd:element name="shipTo" type="Address"/> > > > > <xsd:element name="items" type="Items"/> > > > > <xsd:element name="comment" type="xsd:string" > minOccurs="0"/> > > > > </xsd:sequence> > > </xsd:complexType> > > > > <xsd:simpleType name="ShipRequestType"> > > <xsd:restriction base="xsd:string"> > > <xsd:enumeration value="Sale"/> > > <xsd:enumeration value="Evaluation"/> > > <xsd:enumeration value="RMA Replacement"/> > > </xsd:restriction> > > </xsd:simpleType> > > > > <xsd:complexType name="ShippingMethod"> > > <xsd:attribute name="shippingCarrier" type="xsd:string"/> > > <xsd:attribute name="shippingServiceLevel" type="xsd:string"/> > > <xsd:attribute name="modeOfTransport" type="xsd:string"/> > > <xsd:attribute name="freightTerms" type="xsd:string"/> > > </xsd:complexType> > > > > <xsd:complexType name="Address"> > > <xsd:sequence> > > <xsd:element name="company" type="xsd:string"/> > > <xsd:element name="attn" type="xsd:string" minOccurs="0" > > maxOccurs="1"/> > > <xsd:element name="address" type="xsd:string"/> > > <xsd:element name="address2" type="xsd:string" minOccurs="0" > > maxOccurs="1"/> > > <xsd:element name="address3" type="xsd:string" minOccurs="0" > > maxOccurs="1"/> > > <xsd:element name="city" type="xsd:string"/> > > <xsd:element name="state" type="xsd:string"/> > > <xsd:element name="postalCode" type="xsd:string"/> > > <xsd:element name="country" type="xsd:string"/> > > <xsd:element name="phone" type="xsd:string" minOccurs="0" > > maxOccurs="1"/> > > <xsd:element name="email" type="xsd:string" minOccurs="0" > > maxOccurs="1"/> > > </xsd:sequence> > > </xsd:complexType> > > > > <xsd:simpleType name="LineItemType"> > > <xsd:restriction base="xsd:string"> > > <xsd:enumeration value="MODEL"/> > > <xsd:enumeration value="CLASS"/> > > <xsd:enumeration value="OPTION"/> > > <xsd:enumeration value="CONFIG"/> > > </xsd:restriction> > > </xsd:simpleType> > > > > <!-- > An item is a single line item from the foo order system. > > It doesn't > necessarily > represent an actuall orderable part > > number. Sometime it is just > there to show > configuration information. > --> > > <xsd:complexType name="Items"> > > <xsd:sequence> > > <xsd:element name="item" minOccurs="1" maxOccurs="unbounded"> > > <xsd:complexType> > > <xsd:sequence> > > <!-- the reson this line is in the data --> > > <xsd:element name="item_reson" type="xsd:string"/> > > > > <!-- the type of this line on the order --> > > <xsd:element name="type" type="LineItemType"/> > > > > <!-- create date of the line item --> > > <xsd:element name="creation_date" type="xsd:date"/> > > > > <!-- date of last update to the line item --> > > <xsd:element name="update_date" type="xsd:date"/> > > > > <!-- date the line item is supposed to be shipped --> > > <xsd:element name="schedule_ship_date" type="xsd:date"/> > > > > <!-- this is the order_line_id of the item on the order > > that > is this items parent line, > if this line is it's > > own parent then it is the top of a > configured item. This happens > > > when the part_num element is a star "*" part. A > generated part > > number for a config. > --> > > <xsd:element name="parent_line_id" type="xsd:integer" > > minOccurs="0" maxOccurs="1"/> > > > > <!-- uniquely identifies this PO line item in our OEM's > > > database --> > > <xsd:element name="order_line_id" type="xsd:integer" > > minOccurs="1" maxOccurs="1"/> > > > > <xsd:element name="quantity"> > > <xsd:simpleType> > > <xsd:restriction base="xsd:positiveInteger"> > > <xsd:maxExclusive value="100"/> > > </xsd:restriction> > > </xsd:simpleType> > > </xsd:element> > > > > <!-- used in the packing list --> > > <xsd:element name="part_num" type="xsd:string"/> > > > > <!-- Special packing instructions, shipping > instructions, > etc. --> > > <xsd:element name="note" type="xsd:string" > minOccurs="0" > > maxOccurs="1"/> > > > > </xsd:sequence> > > </xsd:complexType> > > </xsd:element> > > </xsd:sequence> > > </xsd:complexType> > > > > > > </xsd:schema> > > > > > > ================= > > The code > > ================= > > public boolean validateSchema(String schemaURL, String > xml, String > > ordernumber) > > { > > boolean retval = true; > > try > > > > { > > DOMParser domParser = new DOMParser(); > > > > > > > > > > domParser.setFeature("http://xml.org/sax/features/validation",true); > > > > > > > domParser.setFeature("http://apache.org/xml/features/validation/schema > > ", > > true); > > > > > > > domParser.setFeature("http://apache.org/xml/features/validation/schema > > -f > > ull-checking",true); > > > > > > > domParser.setProperty("http://apache.org/xml/properties/schema/externa > > l- > > schemaLocation",schemaURL); > > > > > > Validator handler=new Validator(); > > domParser.setErrorHandler(handler); > > > > domParser.parse(new InputSource(new StringReader(xml))); > > > > if(handler.validationError==true) > > { > > doLogging("validateSchema()","XML failed > > validation:"+handler.saxParseException.getMessage()+" Column: > > "+handler.saxParseException.getColumnNumber()+" Line: > > "+handler.saxParseException.getLineNumber()+" PublicID: > > "+handler.saxParseException.getPublicId(),true,true,false); > > logError(ordernumber,"XML failed > validation:","System"); > > //handler.saxParseException.printStackTrace(); > > retval=false; > > } > > else > > doLogging("validateSchema()","XML has been > > validated",true,true,false); > > } > > > > catch (Exception e) > > > > { > > e.printStackTrace(); > > } > > > > return retval; > > } > > > > > > private class Validator extends DefaultHandler > > > > { > > > > public boolean validationError = false; > > > > public SAXParseException saxParseException=null; > > > > > > public void error(SAXParseException exception) throws > > SAXException > > > > { > > validationError = true; > > > > saxParseException=exception; > > } > > > > > > public void fatalError(SAXParseException exception) throws > > SAXException > > > > { > > > > validationError = true; > > > > saxParseException=exception; > > > > } > > > > > > public void warning(SAXParseException exception) throws > > SAXException > > > > { > > > > } > > > > } > > > > > > > > > > SPECIAL NOTICE > > > > > > All information transmitted hereby is intended only for the > use of the > > addressee(s) named above and may contain confidential and > privileged > > information. Any unauthorized review, use, disclosure or > distribution > > of confidential and privileged information is prohibited. If the > > reader of this message is not the intended recipient(s) or the > > employee or > agent > > responsible for delivering the message to the intended > recipient, you > are > > hereby notified that you must not read this transmission and that > disclosure, > > copying, printing, distribution or use of any of the information > contained > > in or attached to this transmission is STRICTLY PROHIBITED. > > > > Anyone who receives confidential and privileged information in error > should > > notify us immediately by telephone and mail the original > message to us > at > > the above address and destroy all copies. To the extent > any portion > > of > this > > communication contains public information, no such > restrictions apply > > to > that > > information. (gate01) > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
