osdir.com
mailing list archive

Subject: XML Strings with special Characters - msg#00073

List: text.xml.xmlbeans.user

Date: Prev Next Index Thread: Prev Next Index
I  am not sure if this message got through the first time: 
I am very new to xml beans. I am trying to set the string content of an element. I simply do parentName.setElement("some_string"); The problem is that the string contains ampersands (&). The string is actually a URL referring to a Servlet. XMLBeans is replacing my &s with &. How can I prevent this and preserve my &s?    

Philip V. Monte  (Newport, RI) 


 

 

  ---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@xxxxxxxxxxxxxxxxxxx
For additional commands, e-mail: user-help@xxxxxxxxxxxxxxxxxxx
Was this page helpful?
Yes No
Thread at a glance:

Previous Message by Date: click to view message preview

RE: Namespace Qualified Attributes?

Hi John Glad you found the previous post helpful (although note elementFormDefault="qualified" attributeFormDefault="unqualified", while definitely my favorite, is not required - it just maps to instance docs that I find most readable). My suspicion with your problem is that you have all your attributes declared globally (i.e. just inside the <schema> element). elementFormDefault and attributeFormDefault affect only how _local_ elements/attributes are referred to. Global elements/attributes must always be referred to using the full namespace-qualified name. So if you want your attributes to not require a prefix I would use attributeFormDefault="unqualified" (as you already do) _and_ I would define my attributes locally i.e. within the definition of the element on which you want them to appear. If that doesn't do it please post an example schema and instance doc and I'll have a look at it. Not so sure on the XPath/XQuery issues. Am trying to find time to look into those but not having much luck at the moment. Perhaps someone else who already has experience using XPath/XQuery on XmlBeans could answer for you? Cheers, Lawrence > -----Original Message----- > From: John Dugaw [mailto:jibdugaw@xxxxxxx] > Sent: Monday, January 30, 2006 8:55 PM > To: user@xxxxxxxxxxxxxxxxxxx > Subject: Namespace Qualified Attributes? > > All, > > I have run into a problem wherein I have forced the use of all tags in an > XML file to be namespace qualified, a desired effect. Unfortunately, this > also means that all my attributes also must be fully qualified. This is > not the behavior I expected, and I believe I have run into several side > effects. The information attached below I hope will be useful. > > The XSD: > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" > > targetNamespace="http://www.unizenconsulting.com/MustReadMessages" > xmlns="http://www.unizenconsulting.com/MustReadMessages" > attributeFormDefault="unqualified" > elementFormDefault="qualified"> > > I would expect this to give me an XMLBeans library that would require > fully qualifed tags and unqualified attributes. Yet I am finding myself > needing to implement my XML files as in the following: > > <mrm:messageGroup > xmlns:mrm="http://www.unizenconsulting.com/MustReadMessages" > mrm:level="warn"> > > If I exclude the atrribute namespace qualifier I get validation errors > about the "level" attribute not permitted. If I exclude it I get an error > about "level" being a required attribute. If I define it as "mrm:level" > then everything works, but I cannot get XPath and XQuery to work properly > (NOTE: I am using 8.1.1 per the docs at xmlbeans.apache.org) > > Unfortunately, when using the XmlCursor object trying to add the attribute > as in the following: > > String namespaceURI = cursor.namespaceForPrefix("mrm"); > cursor.beginElement("message",namespaceURI); > cursor.insertAttributeWithValue("level",level); > > This results in an error, and trying to use the following line: > > cursor.insertAttributeWithValue("mrm:level",level); > > also results in a runtime error. > > Now the results created when using the XMLBeans 2.0 generated classes and > API result in XML with the "mrm" namespace prefix to both the XML tags and > the attributes, effectively the same result I am required to provide for > things to work smoothly. > > I am also using an xsdconfig file but it basically maps the classes to > com.unizenconsulting.mustReadMessages namespace within Java. > > POSSIBLE SIDE EFFECT: I am also having difficulty with Saxon XPATH and > XQuery but firmly believe the namespace qualifiers to attributes is the > root cause e.g.: > > String query = "declare namespace " > > +"mrm='http://www.unizenconsulting.com/MustReadMessages'; " > +" $this/mrm:messageGroup/mrm:message"; > > This strikes me as exceedingly odd. What have I missed? I am sure it is > something right in front of me. I did read the attribute comments from > January '06 through September '06 which pointed me to my need for the > 'elementFormDefault="qualified"' definition is the XSD itself before using > scomp. My thanks to Mr. Lawrence on that one! > > Regards, > > John Dugaw > Denver, CO > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscribe@xxxxxxxxxxxxxxxxxxx > For additional commands, e-mail: user-help@xxxxxxxxxxxxxxxxxxx

Next Message by Date: click to view message preview

RE: XML Strings with special Characters

How about CDATA?   Richard Butterwood | Senior Analyst/Programmer | Infor | office: 770-418-2000 X 1167 | cell: 678-492-3080 | fax: 770-418-2022 | richard.butterwood@xxxxxxxxx From: Monte Philip V NPRI [mailto:MontePV@xxxxxxxxxxxxxxxxx] Sent: Tuesday, January 31, 2006 12:24 PM To: 'user@xxxxxxxxxxxxxxxxxxx' Subject: XML Strings with special Characters   I  am not sure if this message got through the first time:  I am very new to xml beans. I am trying to set the string content of an element. I simply do parentName.setElement("some_string"); The problem is that the string contains ampersands (&). The string is actually a URL referring to a Servlet. XMLBeans is replacing my &s with &amp;. How can I prevent this and preserve my &s?     Philip V. Monte  (Newport, RI)        

Previous Message by Thread: click to view message preview

Namespace Qualified Attributes?

All, I have run into a problem wherein I have forced the use of all tags in an XML file to be namespace qualified, a desired effect. Unfortunately, this also means that all my attributes also must be fully qualified. This is not the behavior I expected, and I believe I have run into several side effects. The information attached below I hope will be useful. The XSD: <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.unizenconsulting.com/MustReadMessages" xmlns="http://www.unizenconsulting.com/MustReadMessages" attributeFormDefault="unqualified" elementFormDefault="qualified"> I would expect this to give me an XMLBeans library that would require fully qualifed tags and unqualified attributes. Yet I am finding myself needing to implement my XML files as in the following: <mrm:messageGroup xmlns:mrm="http://www.unizenconsulting.com/MustReadMessages" mrm:level="warn"> If I exclude the atrribute namespace qualifier I get validation errors about the "level" attribute not permitted. If I exclude it I get an error about "level" being a required attribute. If I define it as "mrm:level" then everything works, but I cannot get XPath and XQuery to work properly (NOTE: I am using 8.1.1 per the docs at xmlbeans.apache.org) Unfortunately, when using the XmlCursor object trying to add the attribute as in the following: String namespaceURI = cursor.namespaceForPrefix("mrm"); cursor.beginElement("message",namespaceURI); cursor.insertAttributeWithValue("level",level); This results in an error, and trying to use the following line: cursor.insertAttributeWithValue("mrm:level",level); also results in a runtime error. Now the results created when using the XMLBeans 2.0 generated classes and API result in XML with the "mrm" namespace prefix to both the XML tags and the attributes, effectively the same result I am required to provide for things to work smoothly. I am also using an xsdconfig file but it basically maps the classes to com.unizenconsulting.mustReadMessages namespace within Java. POSSIBLE SIDE EFFECT: I am also having difficulty with Saxon XPATH and XQuery but firmly believe the namespace qualifiers to attributes is the root cause e.g.: String query = "declare namespace " +"mrm='http://www.unizenconsulting.com/MustReadMessages'; " +" $this/mrm:messageGroup/mrm:message"; This strikes me as exceedingly odd. What have I missed? I am sure it is something right in front of me. I did read the attribute comments from January '06 through September '06 which pointed me to my need for the 'elementFormDefault="qualified"' definition is the XSD itself before using scomp. My thanks to Mr. Lawrence on that one! Regards, John Dugaw Denver, CO

Next Message by Thread: click to view message preview

RE: XML Strings with special Characters

How about CDATA?   Richard Butterwood | Senior Analyst/Programmer | Infor | office: 770-418-2000 X 1167 | cell: 678-492-3080 | fax: 770-418-2022 | richard.butterwood@xxxxxxxxx From: Monte Philip V NPRI [mailto:MontePV@xxxxxxxxxxxxxxxxx] Sent: Tuesday, January 31, 2006 12:24 PM To: 'user@xxxxxxxxxxxxxxxxxxx' Subject: XML Strings with special Characters   I  am not sure if this message got through the first time:  I am very new to xml beans. I am trying to set the string content of an element. I simply do parentName.setElement("some_string"); The problem is that the string contains ampersands (&). The string is actually a URL referring to a Servlet. XMLBeans is replacing my &s with &amp;. How can I prevent this and preserve my &s?     Philip V. Monte  (Newport, RI)        
Sign up for updates to this mailing list. email:
Loading Comments...
Home | News | Patents | Sitemap | FAQ | advertise

Advertising by