XML Schema Validation Errors

Arnav Garg 10 Reputation points
2024-09-09T06:21:22.6+00:00

Hey! I'm trying to upload my manifest.xml package to the Microsoft Office Store for my Excel add-in, which has a CustomTab based ribbon for added user functionality. However, I get the following error: Package acceptance validation error: XML Schema Validation Error Error found during XML Schema validation. Error code: The element 'CustomTab' in namespace 'http://schemas.microsoft.com/office/taskpaneappversionoverrides' has invalid child element 'Label' in namespace 'http://schemas.microsoft.com/office/taskpaneappversionoverrides'. List of possible elements expected: 'Group, OfficeGroup' in namespace 'http://schemas.microsoft.com/office/taskpaneappversionoverrides'.

This is because there is a Label after my CustomTab tag opens, but without that Label, the Add-in ceases to sideload - is that normal? I've tried putting in a dummy placeholder group, but the sideloading still doesn't work, and I've also tried putting the Label in the first Group declared

Microsoft 365 and Office | Development | Other
Microsoft 365 and Office | Excel | For business | Windows
{count} votes

3 answers

Sort by: Most helpful
  1. Samuel Hartmann 0 Reputation points
    2025-07-25T11:39:33.2766667+00:00

    I have the same error. I'm writing a Word add-in with a Custom Tab labelled "Math".

    With the label and side-loading, everything worked.

    The I wanted to upload the manifest to the integrated apps list, so that I can use my app without side-loading:

    https://admin.microsoft.com/#/Settings/IntegratedApps

    The upload failed.

    The I checked using

    npx office-addin-manifest validate .\manifest.xml

    It failed due to the label directly under CustomTab.

    Then I removed the label ➔ It failed CustomTab ... has incomplete content. List of possible elements expected: 'Group, OfficeGroup, Label'

    I have my Groups there. So it expects the label. This seems to be a Microsoft bug.

    I have no chance to upload my manifest with a CustomTab defined, since there will always be errors, without and with label. Do you know whether I will also fail upload to appsources?


  2. Daniel Brown 0 Reputation points
    2025-07-25T12:01:25.63+00:00

    I think I have gotten around this issue. Try putting the Label at the end of the Custom Tab section.

    <CustomTab id="Blah">

    <Group id=...>

    ...
    

    </Group>

    ...
    

    <Label .../>

    </CustomTab>

    0 comments No comments

  3. Samuel Hartmann 0 Reputation points
    2025-07-29T09:01:07.33+00:00

    Thanks, that helped!

    What a pity that the validator is not telling this.

    It also does not check wether some ids are dupplicated. May be also not non-existing resids.

    Also, I cannot directly look at the schema (the browser does not load it):

    http://schemas.microsoft.com/office/taskpaneappversionoverrides

    But I found it by web search (or some version of it)

    https://learn.microsoft.com/en-us/openspecs/office_file_formats/ms-owemxml/82e93ec5-de22-42a8-86e3-353c8336aa40

    And here I can see:

    <xs:complexType name="CustomTab">
         <xs:complexContent>
           <xs:extension base="Tab">
             <xs:sequence>
               <xs:choice minOccurs="1" maxOccurs="unbounded">
                 <xs:element name="Group" type="Group"/>
                 <xs:element name="OfficeGroup" type="OfficeGroup"/>
               </xs:choice>
               <xs:element name="Label" type="bt:ShortResourceReference" minOccurs="1" maxOccurs="1"/>
               <xs:choice minOccurs="0" maxOccurs="1">
                 <xs:element name="InsertBefore" type="bt:ShortString"/>
                 <xs:element name="InsertAfter" type="bt:ShortString"/>
               </xs:choice>
             </xs:sequence>
           </xs:extension>
         </xs:complexContent>
       </xs:complexType>
    

    Probably sequence means:

    First <Group> or <OfficeGroup>

    Then <Label>

    Then <InsertBefore> or <InsertAfter>

    Any idea how, I can directly load and look at referenced schema files?

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.