# 包内 URI 小工具

`fsys.openXml.uri` 不依赖 ZIP、XML、Office 或 .NET。

- `normalizeName(name)` 验证并规范化部件 URI；返回无前导 / 名称，失败 null,err。
- `resolveTarget(sourcePart,target)` 相对源部件解析内部目标；包根用空字符串；禁止越界、反斜杠、查询/片段或外部方案。
- `relationshipPart(sourcePart)` 计算 `.rels` 部件名，包根为 `_rels/.rels`。
- `relativeTarget(sourcePart,targetPart)` 为两个部件计算关系 Target，不检查是否存在。

```aardio
import fsys.openXml.uri;
var target,err=fsys.openXml.uri.relativeTarget("ppt/slides/slide1.xml","ppt/media/image1.png");
if(!target) return null,err;
return target;
```

不要用 io.fullpath 处理包内路径。
