wiki/assets/xsd/TipFormat.xsd

212 lines
7.5 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!--
Microsoft Works Tip of the Day XML schema
Copyright (c) 2023 ~lucidiot
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, version 3.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-->
<xs:schema
xmlns="http://MSWorks/TipFormat.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
attributeFormDefault="unqualified"
elementFormDefault="qualified"
version="9.0"
targetNamespace="http://MSWorks/TipFormat.xsd"
>
<xs:annotation>
<xs:documentation>Microsoft Works 9.0 Tip of the Day XML schema</xs:documentation>
<xs:documentation>
Derived from a Works 9.0 installation on Windows XP localized in English (United States),
using the file at %ProgramFiles%\Microsoft Works\1033\WksTips.xml
</xs:documentation>
<xs:documentation>This may be valid for older versions of Works, but this has not been tested yet.</xs:documentation>
</xs:annotation>
<xs:simpleType name="LocalizationActionType">
<xs:restriction base="xs:string">
<xs:enumeration value="locNone">
<xs:annotation>
<xs:documentation>Do not localize.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="locData">
<xs:annotation>
<xs:documentation>Localize this data.</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="TagLocalizationAction">
<xs:annotation>
<xs:documentation>
Defines what task should be done by a translator to localize an XML element.
</xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="_loc" type="LocalizationActionType" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="DefaultLocalizationAction">
<xs:annotation>
<xs:documentation>
The default localization action for every element whose localization has not been explicitly defined.
</xs:documentation>
</xs:annotation>
<xs:attribute name="_loc" type="LocalizationActionType" use="required" />
</xs:complexType>
<xs:complexType name="LocalizationDefinition">
<xs:annotation>
<xs:documentation>
Defines the tasks that should be done by a translator to localize this XML document.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="_locDefault" type="DefaultLocalizationAction" minOccurs="0" maxOccurs="1" />
<xs:element name="_locTag" type="TagLocalizationAction" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="LocalizableString">
<xs:annotation>
<xs:documentation>
An element with string content that may be localized by translators.
</xs:documentation>
</xs:annotation>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="_locID" type="xs:ID" use="optional">
<xs:annotation>
<xs:documentation>
A unique identifier that will be used by translation software.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:simpleType name="LinkType">
<xs:restriction base="xs:string">
<xs:enumeration value="Help">
<xs:annotation>
<xs:documentation>This is a link to a local Works help page.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Web">
<xs:annotation>
<xs:documentation>This is a link to an online help page.</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="Link">
<xs:simpleContent>
<xs:extension base="xs:anyURI">
<xs:attribute name="Link" type="LinkType" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="Tip">
<xs:sequence>
<xs:element name="Header" type="LocalizableString">
<xs:annotation>
<xs:documentation>Title of the tip.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Content" type="LocalizableString">
<xs:annotation>
<xs:documentation>Description of the tip.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="LearnMore" type="Link">
<xs:annotation>
<xs:documentation>
A link to a help page to learn more about the feature described in this tip.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="ID" type="xs:ID" use="required" />
</xs:complexType>
<xs:simpleType name="CategoryName">
<xs:restriction base="xs:string">
<xs:enumeration value="Common">
<xs:annotation>
<xs:documentation>Tips that can be displayed in any Works program.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="WP">
<xs:annotation>
<xs:documentation>Tips that are specific to Works Word Processor.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="SS">
<xs:annotation>
<xs:documentation>Tips that are specific to Works Spreadsheet.</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DB">
<xs:annotation>
<xs:documentation>Tips that are specific to Works Database.</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="TipCategory">
<xs:annotation>
<xs:documentation>
A category of tips, used to differentiate tips that are general
to the Works suite or specific to a single Works program.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Tip" type="Tip" minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="Name" type="CategoryName" use="required" />
</xs:complexType>
<xs:complexType name="TipCollection">
<xs:annotation>
<xs:documentation>
A collection of tips displayed in the Tip of the Day section of the Task Pane
of Microsoft Works Word Processor, Spreadsheet and Database.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="_locDefinition" type="LocalizationDefinition" minOccurs="0" maxOccurs="1" />
<xs:element name="TipCategory" type="TipCategory" minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="Version" fixed="9.0">
<xs:annotation>
<xs:documentation>Microsoft Works version that this tips collection is for.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:element name="TipCollection" type="TipCollection">
<xs:unique name="UniqueCategories">
<xs:selector xpath="TipCategory" />
<xs:field xpath="@Name" />
</xs:unique>
</xs:element>
</xs:schema>