ctkCmdLineModuleProcess.xsd 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. <?xml version="1.0"?>
  2. <?xml-stylesheet type="text/xsl" href="xs3p.xsl"?>
  3. <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  4. xmlns:xs3p="http://titanium.dstc.edu.au/xml/xs3p">
  5. <xsd:annotation>
  6. <xsd:appinfo source="http://www.commontk.org/docs/html/CommandLineModules_Page.html">
  7. <xs3p:title>CTK XML schema for progress and result reporting in command line modules.</xs3p:title>
  8. <xs3p:printGlossary>false</xs3p:printGlossary>
  9. <xs3p:printLegend>false</xs3p:printLegend>
  10. </xsd:appinfo>
  11. <xsd:documentation>The XML schema for the XML fragments used when reporting progress and results in command line modules.</xsd:documentation>
  12. </xsd:annotation>
  13. <!--
  14. ===================================================================
  15. MODULE-ROOT
  16. Root element
  17. ===================================================================
  18. -->
  19. <xsd:element name="module-root" type="RootType"/>
  20. <xsd:complexType name="RootType" mixed="true">
  21. <xsd:annotation>
  22. <xsd:documentation>The root element. This is added automatically and must not be printed out by the module.</xsd:documentation>
  23. </xsd:annotation>
  24. <xsd:sequence>
  25. <xsd:group maxOccurs="unbounded" minOccurs="0" ref="FilterGroup"/>
  26. </xsd:sequence>
  27. </xsd:complexType>
  28. <xsd:group name="FilterGroup">
  29. <xsd:sequence>
  30. <xsd:element maxOccurs="1" minOccurs="1" name="filter-start" type="FilterStartType"/>
  31. <xsd:group maxOccurs="unbounded" minOccurs="0" ref="ProgressGroup"/>
  32. <xsd:element maxOccurs="1" minOccurs="1" name="filter-end" type="FilterEndType"/>
  33. </xsd:sequence>
  34. </xsd:group>
  35. <xsd:group name="ProgressGroup">
  36. <xsd:choice>
  37. <xsd:element name="filter-progress" type="FilterProgressType"/>
  38. <xsd:element name="filter-progress-text" type="FilterProgressTextType"/>
  39. <xsd:element minOccurs="0" name="filter-result" type="FilterResultType"/>
  40. </xsd:choice>
  41. </xsd:group>
  42. <!--
  43. ===================================================================
  44. FILTER-START
  45. ===================================================================
  46. -->
  47. <xsd:complexType name="FilterStartType">
  48. <xsd:annotation>
  49. <xsd:documentation>Marks the start of a set of processing instructions.</xsd:documentation>
  50. </xsd:annotation>
  51. <xsd:sequence>
  52. <xsd:element maxOccurs="1" minOccurs="1" name="filter-name" type="xsd:string">
  53. <xsd:annotation>
  54. <xsd:documentation>The name of the current "filter" (set of processing instructions).</xsd:documentation>
  55. </xsd:annotation>
  56. </xsd:element>
  57. <xsd:element maxOccurs="1" minOccurs="0" name="filter-comment" type="xsd:string">
  58. <xsd:annotation>
  59. <xsd:documentation>A short, descriptive text about the purpose of this filter.</xsd:documentation>
  60. </xsd:annotation>
  61. </xsd:element>
  62. </xsd:sequence>
  63. </xsd:complexType>
  64. <!--
  65. ===================================================================
  66. FILTER-PROGRESS
  67. ===================================================================
  68. -->
  69. <xsd:simpleType name="FilterProgressType">
  70. <xsd:annotation>
  71. <xsd:documentation>A float value between 0 and 1 to report the current overall progress.</xsd:documentation>
  72. </xsd:annotation>
  73. <xsd:restriction base="xsd:float">
  74. <xsd:minInclusive value="0"/>
  75. <xsd:maxInclusive value="1"/>
  76. </xsd:restriction>
  77. </xsd:simpleType>
  78. <!--
  79. ===================================================================
  80. FILTER-PROGRESS-TEXT
  81. ===================================================================
  82. -->
  83. <xsd:complexType name="FilterProgressTextType" mixed="true">
  84. <xsd:annotation>
  85. <xsd:documentation>Report a progress value and corresponding progress text.</xsd:documentation>
  86. </xsd:annotation>
  87. <xsd:attribute name="progress" use="required" type="FilterProgressType"/>
  88. </xsd:complexType>
  89. <!--
  90. ===================================================================
  91. FILTER-RESULT
  92. ===================================================================
  93. -->
  94. <xsd:complexType name="FilterResultType" mixed="true">
  95. <xsd:annotation>
  96. <xsd:documentation>Report the current result.</xsd:documentation>
  97. </xsd:annotation>
  98. <xsd:attribute name="name" use="required" type="xsd:string">
  99. <xsd:annotation>
  100. <xsd:documentation>The output parameter name to which this result belongs to.</xsd:documentation>
  101. </xsd:annotation>
  102. </xsd:attribute>
  103. </xsd:complexType>
  104. <!--
  105. ===================================================================
  106. FILTER-END
  107. ===================================================================
  108. -->
  109. <xsd:complexType name="FilterEndType">
  110. <xsd:annotation>
  111. <xsd:documentation>Marks the end of a set of processing instructions.</xsd:documentation>
  112. </xsd:annotation>
  113. <xsd:sequence>
  114. <xsd:element maxOccurs="1" minOccurs="0" name="filter-comment" type="xsd:string">
  115. <xsd:annotation>
  116. <xsd:documentation>A short, descriptive text about the end state of this filter.</xsd:documentation>
  117. </xsd:annotation>
  118. </xsd:element>
  119. </xsd:sequence>
  120. </xsd:complexType>
  121. </xsd:schema>