Bug 28325

Summary: doc-generator.xsl does not handle external-type struct arrays
Product: Telepathy Reporter: Danielle Madeley <danielle>
Component: tp-specAssignee: Telepathy bugs list <telepathy-bugs>
Status: RESOLVED INVALID QA Contact: Telepathy bugs list <telepathy-bugs>
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: a hacky workaround

Description Danielle Madeley 2010-05-30 20:17:15 UTC
Given a type like:

<tp:external-type name="Contact_Info_Field" type="sasas" .../>

If someone asks for Contact_Info_Field[], doc-generator.xsl generates the mismatching type asasas, instead of a(sasas).

Not sure how to resolve this. It's possible that specparser suffers the same bug.
Comment 1 Danielle Madeley 2010-05-30 20:19:04 UTC
Created attachment 35960 [details] [review]
a hacky workaround

Worked around it with the following hack, which I don't particularly like as a serious solution. Looking for better options.
Comment 2 Simon McVittie 2010-09-06 09:55:34 UTC
Sorry it took so long to get to this bug...

> <tp:external-type name="Contact_Info_Field" type="sasas" .../>

This isn't right: the type attribute takes a single complete type (D-Bus jargon for exactly one basic type or container). sasas isn't a single complete type (and it's not really feasible to diagnose that in XSLT), it's three single complete types concatenated. The correct syntax would be type="(sasas)" which is a struct with three members.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.