| <?xml version='1.0' encoding='UTF-8'?> |
| <!-- Schema file written by PDE --> |
| <schema targetNamespace="org.eclipse.tracecompass.tmf.analysis.xml.core" xmlns="http://www.w3.org/2001/XMLSchema"> |
| <annotation> |
| <appinfo> |
| <meta.schema plugin="org.eclipse.tracecompass.tmf.analysis.xml.core" id="org.eclipse.tracecompass.tmf.analysis.xml.core.xsd" name="%extensionpoint.xsd.name"/> |
| </appinfo> |
| <documentation> |
| This extension point allows other plugins to add XSD files that will allow to extend the XML functionnalities |
| </documentation> |
| </annotation> |
| |
| <element name="extension"> |
| <annotation> |
| <appinfo> |
| <meta.element /> |
| </appinfo> |
| </annotation> |
| <complexType> |
| <sequence> |
| <element ref="xsdfile" minOccurs="1" maxOccurs="unbounded"/> |
| <element ref="schemaParser" minOccurs="1" maxOccurs="unbounded"/> |
| </sequence> |
| <attribute name="point" type="string" use="required"> |
| <annotation> |
| <documentation> |
| a fully qualified identifier of the target extension point |
| </documentation> |
| </annotation> |
| </attribute> |
| <attribute name="id" type="string"> |
| <annotation> |
| <documentation> |
| an optional identifier of the extension instance |
| </documentation> |
| </annotation> |
| </attribute> |
| <attribute name="name" type="string"> |
| <annotation> |
| <documentation> |
| an optional name of the extension instance |
| </documentation> |
| <appinfo> |
| <meta.attribute translatable="true"/> |
| </appinfo> |
| </annotation> |
| </attribute> |
| </complexType> |
| </element> |
| |
| <element name="xsdfile"> |
| <complexType> |
| <attribute name="file" type="string" use="required"> |
| <annotation> |
| <documentation> |
| The path to the XSD file that contains the additional schema information for user-defined analyses |
| </documentation> |
| <appinfo> |
| <meta.attribute kind="resource"/> |
| </appinfo> |
| </annotation> |
| </attribute> |
| </complexType> |
| </element> |
| |
| <element name="schemaParser"> |
| <complexType> |
| <attribute name="class" type="string"> |
| <annotation> |
| <documentation> |
| The class that contains the extra schema parsing information. |
| </documentation> |
| <appinfo> |
| <meta.attribute kind="java" basedOn=":org.eclipse.tracecompass.internal.tmf.analysis.xml.core.module.ITmfXmlSchemaParser"/> |
| </appinfo> |
| </annotation> |
| </attribute> |
| </complexType> |
| </element> |
| |
| <annotation> |
| <appinfo> |
| <meta.section type="since"/> |
| </appinfo> |
| <documentation> |
| 2.1 |
| </documentation> |
| </annotation> |
| |
| <annotation> |
| <appinfo> |
| <meta.section type="examples"/> |
| </appinfo> |
| <documentation> |
| <p> |
| The XSD file path is relative to the plugin's root directory. Here is an example where a plugin adds an XSD file named 'extension.xsd' located in the 'test_xml_files' directory. |
| </p> |
| |
| <extension |
| point="org.eclipse.tracecompass.tmf.analysis.xml.core.xsd"> |
| <xsdfile |
| file="test_xml_files/extension.xsd"> |
| </xmlfile> |
| </extension> |
| |
| <p> |
| The base XSD file has some extension possibilities. There is an "extra" element that can be used as a base to add a new one. The following XSD file adds a new element type to the schema |
| </p> |
| |
| <?xml version="1.0" encoding="UTF-8" standalone="no"?> |
| <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" |
| attributeFormDefault="unqualified" elementFormDefault="qualified"> |
| |
| <xs:element name="my" substitutionGroup="extra" type="myType"/> |
| <xs:element name="abc" substitutionGroup="extra" type="myType"/> |
| |
| <xs:complexType name="myType"> |
| <xs:complexContent> |
| <xs:extension base="extraType"> |
| <xs:sequence> |
| <xs:element maxOccurs="unbounded" minOccurs="0" name="mySubElement" type="xs:string" /> |
| </xs:sequence> |
| <xs:attribute name="name" type="xs:string" use="optional" /> |
| </xs:extension> |
| </xs:complexContent> |
| </xs:complexType> |
| |
| </xs:schema> |
| </documentation> |
| </annotation> |
| |
| <annotation> |
| <appinfo> |
| <meta.section type="apiinfo"/> |
| </appinfo> |
| <documentation> |
| <p> |
| The XSD file advertised by this extension point should be a valid XSD files. A failure in the XSD may cause some XML files to be impossible to read. |
| </p> |
| </documentation> |
| </annotation> |
| |
| |
| <annotation> |
| <appinfo> |
| <meta.section type="copyright"/> |
| </appinfo> |
| <documentation> |
| Copyright (c) 2017 École Polytechnique de Montréal |
| |
| All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at &lt;a href=&quot;https://www.eclipse.org/legal/epl-2.0/&quot;&gt;https://www.eclipse.org/legal/epl-2.0/&lt;/a&gt; |
| |
| SPDX-License-Identifier: EPL-2.0 |
| </documentation> |
| </annotation> |
| |
| </schema> |