Отображение URI в файлы - PullRequest
1 голос
/ 26 марта 2020

Я пытаюсь понять сопоставление URI с файлами. Давайте возьмем этот URI:

modelica://foo.bar/file.png

Правильно ли, что есть два возможных местоположения для file.png?

Это может быть либо

$MODELICAPATH/foo/file.png, если файл $MODELICAPATH/foo/bar.mo существует.

Или

$MODELICAPATH/foo/bar/file.png, если файл $MODELICAPATH/foo/bar/package.mo существует.

1 Ответ

2 голосов
/ 26 марта 2020

Вероятно Раздел «13.2.3 Внешние ресурсы» Modelica Language Specification помогает.

Небольшая модификация вашего примера должна помочь понять, как он работает. Использование modelica://foo/bar/file.png означает foo как пакет / библиотеку верхнего уровня. Библиотека, путь которой разрешается при загрузке в среду моделирования. Если вы храните библиотеку иерархически (т. Е. Каждый пакет представлен в виде папки, каждая модель представляет собой файл), то bar будет подпапкой в ​​каталоге библиотеки root. file.png будет именем файла в bar.

Это отличается, если пакет хранится в виде одного файла, но, поскольку это имеет несколько недостатков, я бы рекомендовал go с иерархической опцией.

Нет необходимости редактировать $ModelicaPath$ если библиотека загружена.

Обычно картинки и c. помещаются в папку ресурсов в библиотеке. Эта папка может содержать дополнительные папки, такие как data, Images, Scripts ...

...