diff options
author | Andre Weinand | 2003-07-07 12:32:26 +0000 |
---|---|---|
committer | Andre Weinand | 2003-07-07 12:32:26 +0000 |
commit | c63ddb9178a8247c61a2df1a0de4d0c7b0e4bf2e (patch) | |
tree | 68d2eb9e7b76099ab3d4f98de67a2c7109ef42c8 /examples | |
parent | 5903f07b5b000839484caea19b92b6ea43165f0c (diff) | |
download | eclipse.platform.team-c63ddb9178a8247c61a2df1a0de4d0c7b0e4bf2e.tar.gz eclipse.platform.team-c63ddb9178a8247c61a2df1a0de4d0c7b0e4bf2e.tar.xz eclipse.platform.team-c63ddb9178a8247c61a2df1a0de4d0c7b0e4bf2e.zip |
added schema file
Diffstat (limited to 'examples')
3 files changed, 214 insertions, 78 deletions
diff --git a/examples/org.eclipse.compare.examples.xml/plugin.xml b/examples/org.eclipse.compare.examples.xml/plugin.xml index ae5130985..4dbb97726 100644 --- a/examples/org.eclipse.compare.examples.xml/plugin.xml +++ b/examples/org.eclipse.compare.examples.xml/plugin.xml @@ -23,7 +23,11 @@ </runtime> <!-- Extensions --> - <extension-point id="idMapping" name="%idMapping"/> + <extension-point + id="idMapping" + name="%idMapping" + schema="schema/idMapping.exsd" + /> <!-- Extension points --> <extension diff --git a/examples/org.eclipse.compare.examples.xml/schema/idMapping.exsd b/examples/org.eclipse.compare.examples.xml/schema/idMapping.exsd new file mode 100644 index 000000000..ace351953 --- /dev/null +++ b/examples/org.eclipse.compare.examples.xml/schema/idMapping.exsd @@ -0,0 +1,209 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!-- Schema file written by PDE --> +<schema targetNamespace="org.eclipse.compare.examples.xml"> +<annotation> + <appInfo> + <meta.schema plugin="org.eclipse.compare.examples.xml" id="idMapping" name="XML Id Mapping"/> + </appInfo> + <documentation> + This extension point allows to define internal XML ID Mapping schemes using the <i>mapping</i> element. +These schemes can then be used when performing an XML compare to uniquely identify XML elements by the +value of an attribute or the text in a child element. +Additionally, <i>ordered</i> elements can be used to specify that the direct children of an element +should be compared in ordered fashion instead of the default unordered way. + </documentation> + </annotation> + + <element name="extension"> + <complexType> + <sequence> + <element ref="idMap" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attribute name="point" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="id" type="string"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="name" type="string"> + <annotation> + <documentation> + the name of the ID Mapping scheme. Should be unique. + </documentation> + </annotation> + </attribute> + </complexType> + </element> + + <element name="idMap"> + <complexType> + <sequence> + <element ref="mapping" minOccurs="1" maxOccurs="unbounded"/> + </sequence> + <attribute name="name" type="string" use="required"> + <annotation> + <documentation> + the name of the ID Mapping scheme. Should be unique. + </documentation> + </annotation> + </attribute> + <attribute name="extension" type="string"> + <annotation> + <documentation> + a file extension associated with this ID Mapping Scheme. +When comparing files with this extension, the current ID Mapping +Scheme will automatically be used. +If an extension is specified, then the extension should also be added +in the plugin.xml file of the XML Compare Plugin. For example, if we +create an ID Mapping Scheme with extension cd, the plugin.xml of the +XML Compare Plugin is updated as follows (update shown in bold): +<p> +<pre> +<extension + point="org.eclipse.compare.structureMergeViewers"> + <structureMergeViewer + extensions="xml,classpath,cd" + class="org.eclipse.compare.xml.XMLStructureViewerCreator" + /> +</extension> +</pre> +</p> +<p> +Warning: If an extension is associated more than once, only the first +association will be considered. Also, internal ID Mapping schemes have +priority over user ID Mapping schemes when duplicate extensions are defined. +</p> +<p> +Warning: When an internal ID Mapping scheme with extension association is +removed (from a plugin.xml ), the XML Compare plugin has to be reloaded +to disassociate itself from the extension. If not, on the first compare +of files with this extension, the XML Compare plugin will be used with +the default Unordered algorithm. (However, at this point the extension +will have been disassociated from the XML Plugin, as the plugin has been loaded.) +</p> + </documentation> + </annotation> + </attribute> + </complexType> + </element> + + <element name="mapping"> + <complexType> + <attribute name="signature" type="string" use="required"> + <annotation> + <documentation> + the XML path from the root to the current element (see examples below). + </documentation> + </annotation> + </attribute> + <attribute name="id" type="string" use="required"> + <annotation> + <documentation> + the attribute that identifies this element or the name of the child element whose text identifies this element. + </documentation> + </annotation> + </attribute> + <attribute name="id-source" type="string"> + <annotation> + <documentation> + if id is the name of a child element, then this attribute must have the value body. +If id-source is left out, it is assumed that id is an attribute. + </documentation> + </annotation> + </attribute> + </complexType> + </element> + + <element name="ordered"> + <complexType> + <attribute name="signature" type="string" use="required"> + <annotation> + <documentation> + the XML path from the root to the element whose direct children will be +compared in ordered fashion instead of the default unordered way. + </documentation> + </annotation> + </attribute> + </complexType> + </element> + + <annotation> + <appInfo> + <meta.section type="since"/> + </appInfo> + <documentation> + 3.0.0 + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="examples"/> + </appInfo> + <documentation> + The following is an example ID Mappings Scheme for ANT files. +<i>project</i> elements are identified by an <i>attribute name</i>. <i>target</i> elements (which are children of <i>project</i>) are also identified by an attribute <i>name</i>. Also, the children of <i>target</i> will be compared in the order in which they appear in the document. +<p> +<pre> +<extension point = "org.eclipse.compare.examples.xml.idMapping"> + <idmap name="ANT"> + <mapping signature="project" id="name"/> + <mapping signature="project>target" id="name"/> + <ordered signature="project>target"/> + <idmap> +</extension> +</pre> +</p> +The following example illustrates a case where the text of a child element is used as the id: +<p> +<pre> +<extension point = "org.eclipse.compare.examples.xml.idMapping"> + <idmap name="Book Catalog" extension="book"> + <mapping signature="catalog>book" id="isbn" id-source="body"/> + <idmap> +</extension> +</pre> +</p> + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="apiInfo"/> + </appInfo> + <documentation> + [Enter API information here.] + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="implementation"/> + </appInfo> + <documentation> + The XML Compare plugin defines an ID Mapping scheme for Eclipse <samp>plugin.xml</samp> files, one for <samp>.classpath</samp> files and one for Ant files. + </documentation> + </annotation> + + <annotation> + <appInfo> + <meta.section type="copyright"/> + </appInfo> + <documentation> + <p> +<a href="hglegal.htm"> + <img SRC="ngibmcpy.gif" ALT="Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved." BORDER=0 height=14 width=324> +</a> +</p> + </documentation> + </annotation> + +</schema> diff --git a/examples/org.eclipse.compare.examples.xml/schema/preferencePages.xsd b/examples/org.eclipse.compare.examples.xml/schema/preferencePages.xsd deleted file mode 100644 index 1d63422a8..000000000 --- a/examples/org.eclipse.compare.examples.xml/schema/preferencePages.xsd +++ /dev/null @@ -1,77 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.compare.xml">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.compare.xml" id="preferencePages" name="%ExtPoint.preferencePages"/>
- </appInfo>
- <documentation>
- [Enter description of this extension point]
- </documentation>
-</annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- [Enter extension point usage example here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- [Enter API information here.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
- [Enter information about supplied implementation of this extension point.]
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
-
- </documentation>
- </annotation>
-
-</schema>
|