Package should contain a content type part [M1.13]

Package should contain a content type part [M1.13]


```java

错误的地方是    OPCPackage open = OPCPackage.open(in);这句话出现了错误

```

参考下这个博客https://blog.csdn.net/weixin_42833423/article/details/112391440
更改下POI的版本试试。

该回答引用ChatGPT4与博主@晓码自在合作编写:

这个错误意思是,所提交的软件包(Package)应当包含一个 ContentType 部件(Part)。

在 DITA Package 规范中,一个 Package 至少要包含:

  • Package 本身的描述(packagedesc.xml)
  • 元数据(metadata.xml)
  • 内容类型(Content type,内容的类别)

所以这个错误提示我们,提交的 Package 中可能缺失了 Content Type 这个必要部件。

要修复这个错误,可以:

  1. 确保 Package 中包含一个名为 contenttype.xml 的文件。

  2. contenttype.xml 的内容如下:

xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE contenttype 
  PUBLIC "-//IBM//DTD DITA Package Content Type//EN" 
  "../../dtd/package/dtd/contenttype.dtd">
<contenttype>
  <title>Sample content</title>
  <shortdesc>Various DITA topics</shortdesc>  
</contenttype>

  1. 在 packagedesc.xml 文件中,添加对这个内容类型文件的引用:
xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE package PUBLIC "-//IBM//DTD DITA Package//EN" <SPACE:HARD>"../../dtd/package/dtd/package.dtd">
<package id="sample">
  <!-- ... -->
  <content>            
    <elemid id="ctype"/>          
    <link href="contenttype.xml" role="content-type"/>              
  </content> 
</package>

  1. 在 metadata.xml 文件中,也添加对内容类型文件的引用:
xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE metadata 
  PUBLIC "-//IBM//DTD DITA Metadata//EN"         
  "../../dtd/package/dtd/metadata.dtd">
<metadata>
  <dminfo dmi-id="contenttype" dmicnum="1">                 
    <link href="contenttype.xml" role="content-type"/>        
  </dminfo>    
</metadata>

完成上述步骤后,Package 中将包含必要的 Content Type 部件,错误应当被解决。