Can CO be generated from "Send XML Settings Document"

Can CO be generated from "Send XML Settings Document" SearchSearch
Author Message
Yuan
New member
Username: Arbor

Post Number: 1
Registered: 09-2007
Posted on Wednesday, September 12, 2007 - 07:22 am:   

HI,
I try to generate a CO using NowSMS(v2006.03.09), I use "Send XML Setting Document" to generate a CO and send, Later I received a CO in my handset, but I failed to parse it. I found that I can't found tokens of "invalidate-object" and "invalidate-service" from the CO, According to WAP-175-CacheOp, they should be 0x86 and 0x87. but I only found "0xC6" and "0xC7" from that CO. Could you tell me the reason, NowSMS can't support wap-175-CacheOP, or some setting need be done,or other reasons?
the following is the captured CO:
"1E0601B202076A0045C606033232312E31302E36352E33382F74632F7761702F000101C70603323 2312E31302E36352E33382F74632F7761702F63616368652F6D61782D6167653D33303000010101"

Thanks
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 7475
Registered: 10-2002
Posted on Friday, September 14, 2007 - 09:43 pm:   

Hi,

If you show me the original XML CO, then we can take a closer look at the content to see if there is a problem. (This object is not used very much, so it is possible that there is a problem.)

Regarding values of 0x86 and 0x87 vs. 0xC6 and 0xC7 ... keep in mind that the actual tag values are 0x06 and 0x07.

The 0x80 mask means that the tag has attributes.

The 0xC0 mask means that the tag has attributes and content.

The fact that the mask is set to indicate that the tag has content is strange. That makes me wonder what the original XML document was. Maybe a stray character?

Ah ... actually I see what it is ...

If I look at the example in the spec:

<?xml version="1.0"?>
<!DOCTYPE co PUBLIC "-//WAPFORUM//DTD CO 1.0//EN"
"http://www.wapforum.org/DTD/co_1.0.dtd">
<co>
<invalidate-object uri="foo.wml"></invalidate-object>
<invalidate-service uri="/bar"></invalidate-service>
</co>

Then I see what it is ...

If there is not a closing "/" within the tag itself, our WBXML encoder sets the mask to indicate that the tag includes content. The content might end up being null (indicated by an 0x01 to close it), but we make a distinction that the XML tag was not self-closing.

Change the XML to this, and you'll see the WBXML that you expect:

<?xml version="1.0"?>
<!DOCTYPE co PUBLIC "-//WAPFORUM//DTD CO 1.0//EN"
"http://www.wapforum.org/DTD/co_1.0.dtd">
<co>
<invalidate-object uri="foo.wml"/>
<invalidate-service uri="/bar"/>
</co>

Basically, the two examples ... both XML and WBXML variants ... are both correct, and should be both interpreted the same way.


-bn