Share via

XML Schema Validation Errors

Anonymous
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

3 answers

Sort by: Most helpful
  1. 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?

    Was this answer helpful?

    0 comments No comments

  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>

    Was this answer helpful?

    0 comments No comments

  3. 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?

    Was this answer helpful?


Your answer

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