Вы не можете выразить свое ограничение в XSD 1.0, но в XSD 1.1 вы можете использовать xs:assert
для ограничения элементов itemUID
с атрибутами key
до 0, 2, 3 элементов следующим образом:
<xs:assert test="count(itemUID[@key]) = (0, 2, 3)"/>
Здесь он находится в контексте полного XSD:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified"
elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning"
vc:minVersion="1.1">
<xs:element name="items">
<xs:complexType>
<xs:sequence>
<xs:element name="itemUID" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="key" type="xs:boolean">
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:assert test="count(itemUID[@key]) = (0, 2, 3)"/>
</xs:complexType>
</xs:element>
</xs:schema>
Расширение далее на ответах от Darrell Root и theMikeSwan выше, документация Apple для credits
свойство NSApplication.AboutPanelOptionKey
states:-
значением этого ключа является NSAttributedString, отображенный в информационной области панели. Если не указанный, AppKit затем ищет файл по имени “Credits.html”, “Credits.rtf” и “Credits.rtfd”, в том порядке, в пакете, возвращенном основным методом класса Пакета. Первый найденный файл используется. Если ни один не найден, информационная область оставлена незаполненная.
Если вы добавите файл с именем Credits.rtf
в Ресурсы
, его содержимое будет автоматически использоваться в расширенном стандарте панели сведений, и вы можете поместить все, что угодно информацию, которую вы хотите в файле. Стандартные сведения об авторских правах, версии и т. Д. Будут по-прежнему извлечены из info.plist
. Это самый простой из известных мне способов добавить произвольную информацию, иначе вам придется создавать собственную панель about.