目录
概述
语法
Google 代码搜索可让用户在网络上搜索包含源代码的存档。我们的软件会找到这些存档内的源代码文件,并检测到语言和许可。就像使用常规 Sitemap 向我们提供关于您网站上网页的信息一样,您也可以使用 Packagemap 文件告诉我们您存档文件内的源代码的语言和许可。
代码为 XML。以下是示例:
<?xml version="1.0" encoding="UTF-8"?>
<fileset>
<file>
<path>source/myfile.cpp</path>
<type>C++</type>
<license>LGPL</icense>
</file>
<file>
<path>messages/messages.tgz</path>
<type>archive</type>
<license>BSD</license>
<packagemap>info/PackageMap.xml</packagemap>
</file>
</fileset>
文件名
在代码搜索 Sitemap 中,使用 <packagemap> 标记指定 Packagemap 文件的名称。如果您没有指定 Packagemap 文件的名称,我们将在存档的顶级目录中查找以下文件,并使用找到的第一个文件:
- PACKAGEMAP.XML
- PACKAGEMAP.xml
- Packagemap.xml
- packagemap.xml
- PACKAGEMAP
- Packagemap
- packagemap
XML 标记定义
以下介绍可用的 XML 标记。
<fileset> |
必需 |
封装此文件并提供当前协议标准作为参考。 |
<file> |
必需 |
<fileset> 的子标记 |
<path> |
必需 |
<file> 的子标记描述存档中文件的路径。区分大小写,可包含任意字符。 |
<type> |
必需 |
<file> 的子标记值可以是语言名称或"archive"。语言名称可以包括:"C"、"Python"、"C#"、"Java"、"Vim"等。
不区分大小写,"Java"、"JAVA"和"java"具有等同的效用。
其值必须为可输出的 ASCII 字符,不含空格。
名称必须是其中一种支持的语言。
我们仅在索引中编入用受支持语言编写的文件。所有其他文件将被忽略。您可以使用我们尚不支持的语言名称,我们可能会在将来将该文件编入索引。
存档内的存档可以使用特殊值"archive"。这仅在该存档中包含源代码时才有用。
由于代码搜索索引仅限源代码,因此不需要添加任何包含仅含文本、html 等的存档条目。 |
<license> |
可选 |
<file> 的子标记值应当是版权许可名称。示例包括:"GPL"、"BSD"、"Python"、"disclaimer"。
不区分大小写,"LPGL"、"Lgpl"和"lgpl"具有等同的效用。
如果 <type> 是"archive",则存档内文件的默认许可是 <license> 的值。可以在存档中使用 Packagmap 文件为特定文件指定不同的许可。
许可必须是其中一种受支持的许可。我们会忽略无法识别的许可,并将许可值列为"未知"。 |
<packagemap> |
可选 |
<file> 子标记存档内 Packagemap 文件的名称。我们建议使用"PACKAGEMAP.xml"。在这种情况下,我们会自动检测 Packagemap 文件,因此您不需要在此提供。
区分大小写。
只有 <type> 值为"archive"的 <file> 条目才使用此标记。 |
实体 转义
开头和结尾空格将被忽略。必须使用 UTF-8 编码。对于所有的 XML 文件,任何数据值(包括网址)都应对下表中列出的字符使用实体转义码。
| 字符 |
转义码 |
| & 符号 |
& |
& |
| 单引号 |
' |
' |
| 双引号 |
" |
" |
| 大于 |
> |
> |
| 小于 |
< |
< |