[Xcb] [PATCH] Fix xcb-proto xml typos

Jeremy Kolb jkolb at brandeis.edu
Sat Feb 18 18:26:20 PST 2006


Good catch.  Compiling them didn't generate any errors or warnings so I
missed them.  Maybe we should add something to the stylesheet to do
that.  Also, xprint has not been fully tested.

Jeremy

Alp Toker wrote:
> Further to my previous mail ([ANNOUNCE] Xnb: X protocol library for
> .NET), attached is a patch to fix typos in the XCB protocol
> specifications that were found whilst writing Xnb:
> 
>     * The "bytes" attribute is spelt "byes" and "byte" in various places.
>     * item elements in certain enums specify the value as CDATA, whereas
> they should be wrapped with the value tag.
> 
> The patch has not been tested for correctness with XCB, but is trivially
> correct for Xnb. You should probably check your generated bindings
> before committing the patch.
> 
> 
> The authors of XCB should note that xprint.xml and glx.xml will continue
> to be invalid as long as they contain request replies with valueparams,
> which is not allowed by the XCB schema:
> 
> XmlSchema error: Invalid start element: :valueparam XML URI:
> file:///home/alp/Projects/mono-svn/xnb/proto/xprint.xml . Line 217,
> Position 14.
> 
> XmlSchema error: Invalid start element: :valueparam XML URI:
> file:///home/alp/Projects/mono-svn/xnb/proto/glx.xml . Line 244,
> Position 5.
> 
> Once the patch has been applied and the issues with xprint.xml and
> glx.xml are resolved, I'll be able to remove all forked specification
> files from the Xnb sources.
> 
> 
> Also, the question of enum values in the specifications remains. Certain
> languages allow typesafe enumerations and flags, and it would be great
> to maintain this information in one place (xcb-proto) rather than
> requiring individual consumers of xcb-proto to provide additional metadata.
> 
> Any XCB hackers care to comment on how the XCB protocol specification
> format could be extended to accommodate this?
> 
> 
> ------------------------------------------------------------------------
> 
> Index: src/extensions/glx.xml
> ===================================================================
> RCS file: /cvs/xcb/xcb-proto/src/extensions/glx.xml,v
> retrieving revision 1.9
> diff -u -r1.9 glx.xml
> --- src/extensions/glx.xml	10 Feb 2006 19:29:38 -0000	1.9
> +++ src/extensions/glx.xml	19 Feb 2006 00:45:52 -0000
> @@ -282,7 +282,7 @@
>  			<pad bytes="1" />
>  			<pad bytes="4" />
>  			<field type="CARD32" name="n" />
> -			<pad byes="16" />
> +			<pad bytes="16" />
>  		</reply>
>  	</request>
>  
> @@ -367,7 +367,7 @@
>  		<reply>
>  			<pad bytes="1" />
>  			<field type="CARD32" name="context_tag" />
> -			<pad byes="20" />
> +			<pad bytes="20" />
>  		</reply>
>  	</request>
>  
> Index: src/extensions/xprint.xml
> ===================================================================
> RCS file: /cvs/xcb/xcb-proto/src/extensions/xprint.xml,v
> retrieving revision 1.2
> diff -u -r1.2 xprint.xml
> --- src/extensions/xprint.xml	18 Jul 2005 03:03:43 -0000	1.2
> +++ src/extensions/xprint.xml	19 Feb 2006 00:45:54 -0000
> @@ -50,36 +50,36 @@
>  
>      <!-- "PrintGetDocumentData" -->
>      <enum name="GetDoc">
> -        <item name="Finished">0</item>
> -            <item name="SecondConsumer">1</item>
> +        <item name="Finished"><value>0</value></item>
> +            <item name="SecondConsumer"><value>1</value></item>
>      </enum>
>  
>      <!-- Event Mask ("PrintSelectInput") -->
>      <enum name="EvMask">
> -        <item name="NoEventMask">0x00000000</item>
> -        <item name="PrintMask">0x00000001</item>
> -        <item name="AttributeMask">0x00000002</item>
> +        <item name="NoEventMask"><value>0x00000000</value></item>
> +        <item name="PrintMask"><value>0x00000001</value></item>
> +        <item name="AttributeMask"><value>0x00000002</value></item>
>      </enum>
>  
>      <!-- "PrintNotify" detail -->
>      <enum name="Detail">
> -        <item name="StartJobNotify">1</item>
> -        <item name="EndJobNotify">2</item>
> -        <item name="StartDocNotify">3</item>
> -        <item name="EndDocNotify">4</item>
> -        <item name="StartPageNotify">5</item>
> -        <item name="EndPageNotify">6</item>
> +        <item name="StartJobNotify"><value>1</value></item>
> +        <item name="EndJobNotify"><value>2</value></item>
> +        <item name="StartDocNotify"><value>3</value></item>
> +        <item name="EndDocNotify"><value>4</value></item>
> +        <item name="StartPageNotify"><value>5</value></item>
> +        <item name="EndPageNotify"><value>6</value></item>
>      </enum>
>  
>      <!-- "AttributeNotify" detail -->
>      <enum name="Attr">
> -        <item name="JobAttr">1</item>
> -        <item name="DocAttr">2</item>
> -        <item name="PageAttr">3</item>
> -        <item name="PrinterAttr">4</item>
> -        <item name="ServerAttr">5</item>
> -        <item name="MediumAttr">6</item>
> -        <item name="SpoolerAttr">7</item>
> +        <item name="JobAttr"><value>1</value></item>
> +        <item name="DocAttr"><value>2</value></item>
> +        <item name="PageAttr"><value>3</value></item>
> +        <item name="PrinterAttr"><value>4</value></item>
> +        <item name="ServerAttr"><value>5</value></item>
> +        <item name="MediumAttr"><value>6</value></item>
> +        <item name="SpoolerAttr"><value>7</value></item>
>      </enum>
>      
>      
> Index: src/extensions/xvmc.xml
> ===================================================================
> RCS file: /cvs/xcb/xcb-proto/src/extensions/xvmc.xml,v
> retrieving revision 1.1
> diff -u -r1.1 xvmc.xml
> --- src/extensions/xvmc.xml	12 Jan 2006 16:34:13 -0000	1.1
> +++ src/extensions/xvmc.xml	19 Feb 2006 00:45:55 -0000
> @@ -77,7 +77,7 @@
>              <field type="CARD16" name="width_actual" />
>              <field type="CARD16" name="height_actual" />
>              <field type="CARD32" name="flags_return" />
> -            <pad byte="20" />
> +            <pad bytes="20" />
>              <list type="CARD32" name="priv_data" />
>          </reply>
>      </request>
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Xcb mailing list
> Xcb at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xcb



More information about the Xcb mailing list