Commit 4650dac5deeb26723b360cd24b253e3b0e7eb1d6

Authored by Nathanaël Jourdane
2 parents e6d13910 f54b897c

Merge branch 'master' into bugfix-registry-request

help/Methods_AMDA.xml 0 → 100644
... ... @@ -0,0 +1,1386 @@
  1 +<?xml version='1.0' encoding='UTF-8'?>
  2 +<?xml-stylesheet type="text/xsl" href="wsdl-viewer.xsl"?>
  3 +<wsdl:definitions xmlns:xs="http://www.w3.org/2001/XMLSchema"
  4 + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://cdpp-irap/IMPEX/v0.1"
  5 + xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
  6 + name="Methods_AMDA" targetNamespace="http://cdpp-irap/IMPEX/v0.1">
  7 +
  8 + <wsdl:types>
  9 + <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
  10 + xmlns:tns="http://cdpp-irap/IMPEX/v0.1" elementFormDefault="unqualified"
  11 + targetNamespace="http://cdpp-irap/IMPEX/v0.1" version="1.0">
  12 + <xs:element name="emptyElement">
  13 + <xs:complexType>
  14 + <xs:sequence/>
  15 + </xs:complexType>
  16 + </xs:element>
  17 + <xs:element name="emptyAlive">
  18 + <xs:complexType>
  19 + <xs:sequence/>
  20 + </xs:complexType>
  21 + </xs:element>
  22 + <xs:element name="getTimeTablesList" type="tns:getTimeTablesList"/>
  23 + <xs:element name="getTimeTablesListResponse" type="tns:getTimeTablesListResponse"/>
  24 +
  25 + <xs:element name="getTimeTable" type="tns:getTimeTable"/>
  26 + <xs:element name="getTimeTableResponse" type="tns:getTimeTableResponse"/>
  27 +
  28 + <xs:element name="getParameterList" type="tns:getParameterList"/>
  29 + <xs:element name="getParameterListResponse" type="tns:getParameterListResponse"/>
  30 +
  31 + <xs:element name="getParameter" type="tns:getParameter"/>
  32 + <xs:element name="getParameterResponse" type="tns:getParameterResponse"/>
  33 +
  34 + <xs:element name="getDataset" type="tns:getDataset"/>
  35 + <xs:element name="getDatasetResponse" type="tns:getDatasetResponse"/>
  36 +
  37 + <xs:element name="getPlot" type="tns:getPlot"/>
  38 + <xs:element name="getPlotResponse" type="tns:getPlotResponse"/>
  39 +
  40 + <xs:element name="getOrbites" type="tns:getOrbites"/>
  41 + <xs:element name="getOrbitesResponse" type="tns:getOrbitesResponse"/>
  42 +
  43 + <xs:element name="getObsDataTreeResponse" type="tns:getObsDataTreeResponse"/>
  44 +
  45 + <xs:element name="getStatus" type="tns:getStatus"/>
  46 + <xs:element name="getStatusResponse" type="tns:getStatusResponse"/>
  47 +
  48 + <xs:element name="alive" type="xs:boolean"/>
  49 +
  50 + <xs:complexType name="getObsDataTreeResponse">
  51 + <xs:sequence>
  52 + <xs:element name="success" minOccurs="0" maxOccurs="1" type="xs:boolean">
  53 + <xs:annotation>
  54 + <xs:documentation>If method is OK success = true, else success = false</xs:documentation>
  55 + </xs:annotation>
  56 + </xs:element>
  57 + <xs:element name="WorkSpace" type="tns:WorkSpace" minOccurs="1" maxOccurs="1">
  58 + <xs:annotation>
  59 + <xs:documentation>Url's of AMDA local parameters </xs:documentation>
  60 + </xs:annotation>
  61 + </xs:element>
  62 + </xs:sequence>
  63 + </xs:complexType>
  64 +
  65 + <xs:complexType name="getTimeTablesList">
  66 + <xs:sequence>
  67 + <xs:element name="userID" type="xs:string" minOccurs="0" maxOccurs="1">
  68 + <xs:annotation>
  69 + <xs:documentation>ID of AMDA user. If no user ID, user is IMPEX</xs:documentation>
  70 + </xs:annotation>
  71 + </xs:element>
  72 + <xs:element name="password" type="xs:string" minOccurs="0" maxOccurs="1">
  73 + <xs:annotation>
  74 + <xs:documentation>Crypt Password of AMDA user </xs:documentation>
  75 + </xs:annotation>
  76 + </xs:element>
  77 + </xs:sequence>
  78 + </xs:complexType>
  79 +
  80 + <xs:complexType name="getTimeTablesListResponse">
  81 + <xs:sequence>
  82 + <xs:element name="success" minOccurs="0" maxOccurs="1" type="xs:boolean">
  83 + <xs:annotation>
  84 + <xs:documentation>If method is OK success = true, else success = false</xs:documentation>
  85 + </xs:annotation>
  86 + </xs:element>
  87 + <xs:element name="TimeTablesList" minOccurs="0" maxOccurs="1" type="xs:anyURI">
  88 + <xs:annotation>
  89 + <xs:documentation>Url of TimeTables storage file with TimeTables
  90 + ID's.</xs:documentation>
  91 + </xs:annotation>
  92 + </xs:element>
  93 + </xs:sequence>
  94 + </xs:complexType>
  95 +
  96 + <xs:complexType name="getParameterList">
  97 + <xs:sequence>
  98 + <xs:element name="userID" type="xs:string" minOccurs="1" maxOccurs="1">
  99 + <xs:annotation>
  100 + <xs:documentation>ID of AMDA user. If no user ID, user is IMPEX</xs:documentation>
  101 + </xs:annotation>
  102 + </xs:element>
  103 + <xs:element name="password" type="xs:string" minOccurs="0" maxOccurs="1">
  104 + <xs:annotation>
  105 + <xs:documentation>Crypt Password of AMDA user</xs:documentation>
  106 + </xs:annotation>
  107 + </xs:element>
  108 + </xs:sequence>
  109 + </xs:complexType>
  110 +
  111 + <xs:complexType name="getParameterListResponse">
  112 + <xs:sequence>
  113 + <xs:element name="success" minOccurs="0" maxOccurs="1" type="xs:boolean">
  114 + <xs:annotation>
  115 + <xs:documentation>If method is OK success = true, else success = false</xs:documentation>
  116 + </xs:annotation>
  117 + </xs:element>
  118 + <xs:element name="ParameterList" type="tns:ParameterList" minOccurs="1"
  119 + maxOccurs="1">
  120 + <xs:annotation>
  121 + <xs:documentation>Url of UserDefinedParameters, Url of AmdaLocalDataBaseParameters,
  122 + Url of RemoteDataBaseParameters ( not implemented ) </xs:documentation>
  123 + </xs:annotation>
  124 + </xs:element>
  125 + </xs:sequence>
  126 + </xs:complexType>
  127 +
  128 + <xs:simpleType name="enumSpacecraft">
  129 + <xs:restriction base="xs:string">
  130 + <xs:enumeration value="Cassini"/>
  131 + <xs:enumeration value="Galileo"/>
  132 + <xs:enumeration value="Voyager_1"/>
  133 + <xs:enumeration value="Voyager_2"/>
  134 + <xs:enumeration value="Pioneer_10"/>
  135 + <xs:enumeration value="Pioneer_11"/>
  136 + <xs:enumeration value="PVO"/>
  137 + <xs:enumeration value="ACE"/>
  138 + <xs:enumeration value="VEX"/>
  139 + <xs:enumeration value="MEX"/>
  140 + <xs:enumeration value="MGS"/>
  141 + <xs:enumeration value="MAVEN"/>
  142 + <xs:enumeration value="MESSENGER"/>
  143 + <xs:enumeration value="ULYSSES"/>
  144 + <xs:enumeration value="Stereo-A"/>
  145 + <xs:enumeration value="Stereo-B"/>
  146 + <xs:enumeration value="WIND"/>
  147 + <xs:enumeration value="THEMIS-A"/>
  148 + <xs:enumeration value="THEMIS-B"/>
  149 + <xs:enumeration value="THEMIS-C"/>
  150 + <xs:enumeration value="THEMIS-D"/>
  151 + <xs:enumeration value="THEMIS-E"/>
  152 + <xs:enumeration value="CLUSTER1"/>
  153 + <xs:enumeration value="CLUSTER2"/>
  154 + <xs:enumeration value="CLUSTER3"/>
  155 + <xs:enumeration value="CLUSTER4"/>
  156 + <xs:enumeration value="DoubleStar1"/>
  157 + <xs:enumeration value="IMP-8"/>
  158 + <xs:enumeration value="GEOTAIL"/>
  159 + <xs:enumeration value="POLAR"/>
  160 + <xs:enumeration value="INTERBALL-Tail"/>
  161 + <xs:enumeration value="ISEE-1"/>
  162 + <xs:enumeration value="ISEE-2"/>
  163 + </xs:restriction>
  164 + </xs:simpleType>
  165 +
  166 + <xs:simpleType name="enumMission">
  167 + <xs:restriction base="xs:string">
  168 + <xs:enumeration value="ACE"/>
  169 + <xs:enumeration value="STEREO-A"/>
  170 + <xs:enumeration value="STEREO-B"/>
  171 + <xs:enumeration value="WIND"/>
  172 + <xs:enumeration value="VEX"/>
  173 + <xs:enumeration value="OMNI"/>
  174 + <xs:enumeration value="GEOMAG"/>
  175 + </xs:restriction>
  176 + </xs:simpleType>
  177 +
  178 + <xs:simpleType name="WorkSpaceValue">
  179 + <xs:restriction base="xs:string">
  180 + <xs:enumeration value="TimeTables"/>
  181 + <xs:enumeration value="UserDefinedParameters"/>
  182 + <xs:enumeration value="LocalDataBaseParameters"/>
  183 + <xs:enumeration value="RemoteDataBaseParameters"/>
  184 + </xs:restriction>
  185 + </xs:simpleType>
  186 +
  187 + <!-- ==========================
  188 +Coordinate System Name
  189 +
  190 +Identifiers of the origin and orientation
  191 +of a set of typically orthogonal axes.
  192 +========================== -->
  193 + <xsd:simpleType name="enumCoordinateSystemName">
  194 + <xsd:annotation>
  195 + <xsd:documentation xml:lang="en">
  196 + Identifiers of the origin and orientation
  197 + of a set of typically orthogonal axes.
  198 + </xsd:documentation>
  199 + </xsd:annotation>
  200 + <xsd:restriction base="xsd:string">
  201 + <xs:enumeration value="CPHIO"/>
  202 + <xs:enumeration value="GPHIO"/>
  203 + <xs:enumeration value="IPHIO"/>
  204 + <xs:enumeration value="EPHIO"/>
  205 + <xs:enumeration value="Equatorial"/>
  206 + <xsd:enumeration value="CGM">
  207 + <xsd:annotation>
  208 + <xsd:documentation xml:lang="en">
  209 + Corrected Geomagnetic - A coordinate system
  210 + from a spatial point with GEO radial distance
  211 + and geomagnetic latitude and longitude, follow
  212 + the epoch-appropriate IGRF/DGRF model field
  213 + vector through to the point where the field
  214 + line crosses the geomagnetic dipole equatorial
  215 + plane. Then trace the dipole magnetic field
  216 + vector Earthward from that point on the equatorial
  217 + plane, in the same hemisphere as the original
  218 + point, until the initial radial distance is
  219 + reached. Designate the dipole latitude and
  220 + longitude at that point as the CGM latitude
  221 + and longitude of the original point. See &lt;http://nssdc.gsfc.nasa.gov/space/cgm/cgmm_des.html&gt;
  222 + </xsd:documentation>
  223 + </xsd:annotation>
  224 + </xsd:enumeration>
  225 + <xsd:enumeration value="Carrington">
  226 + <xsd:annotation>
  227 + <xsd:documentation xml:lang="en">
  228 + A coordinate system which is centered at the
  229 + Sun and is "fixed" with respect to the synodic
  230 + rotation rate; the mean synodic value is about
  231 + 27.2753 days. The Astronomical Almanac gives
  232 + a value for Carrington longitude of 349.03
  233 + degrees at 0000 UT on 1 January 1995.
  234 + </xsd:documentation>
  235 + </xsd:annotation>
  236 + </xsd:enumeration>
  237 + <xsd:enumeration value="DM">
  238 + <xsd:annotation>
  239 + <xsd:documentation xml:lang="en">
  240 + Dipole Meridian - A coordinate system centered
  241 + at the observation point. Z axis is parallel
  242 + to the Earth's dipole axis, positive northward.
  243 + X is in the plane defined by Z and the line
  244 + linking the observation point with the Earth's
  245 + center. Y is positive eastward. See &lt;http://cdpp.cnes.fr/00428.pdf&gt;
  246 + </xsd:documentation>
  247 + </xsd:annotation>
  248 + </xsd:enumeration>
  249 + <xsd:enumeration value="GEI">
  250 + <xsd:annotation>
  251 + <xsd:documentation xml:lang="en">
  252 + Geocentric Equatorial Inertial - A coordinate
  253 + system where the Z axis is along Earth's spin
  254 + vector, positive northward. X axis points
  255 + towards the first point of Aries (from the
  256 + Earth towards the Sun at the vernal equinox).
  257 + See Russell, 1971
  258 + </xsd:documentation>
  259 + </xsd:annotation>
  260 + </xsd:enumeration>
  261 + <xsd:enumeration value="GEO">
  262 + <xsd:annotation>
  263 + <xsd:documentation xml:lang="en">
  264 + Geographic - geocentric corotating - A coordinate
  265 + system where the Z axis is along Earth's spin
  266 + vector, positive northward. X axis lies in
  267 + Greenwich meridian, positive towards Greenwich.
  268 + See Russell, 1971.
  269 + </xsd:documentation>
  270 + </xsd:annotation>
  271 + </xsd:enumeration>
  272 + <xsd:enumeration value="GSE">
  273 + <xsd:annotation>
  274 + <xsd:documentation xml:lang="en">
  275 + Geocentric Solar Ecliptic - A coordinate system
  276 + where the X axis is from Earth to Sun. Z axis
  277 + is normal to the ecliptic, positive northward.
  278 + See Russell, 1971.
  279 + </xsd:documentation>
  280 + </xsd:annotation>
  281 + </xsd:enumeration>
  282 + <xsd:enumeration value="GSEQ">
  283 + <xsd:annotation>
  284 + <xsd:documentation xml:lang="en">
  285 + Geocentric Solar Equatorial - A coordinate
  286 + system where the X axis is from Earth to Sun.
  287 + Y axis is parallel to solar equatorial plane.
  288 + Z axis is positive northward. See Russell,
  289 + 1971
  290 + </xsd:documentation>
  291 + </xsd:annotation>
  292 + </xsd:enumeration>
  293 + <xsd:enumeration value="GSM">
  294 + <xsd:annotation>
  295 + <xsd:documentation xml:lang="en">
  296 + Geocentric Solar Magnetospheric - A coordinate
  297 + system where the X axis is from Earth to Sun,
  298 + Z axis is northward in a plane containing
  299 + the X axis and the geomagnetic dipole axis.
  300 + See Russell, 1971
  301 + </xsd:documentation>
  302 + </xsd:annotation>
  303 + </xsd:enumeration>
  304 + <xsd:enumeration value="HAE">
  305 + <xsd:annotation>
  306 + <xsd:documentation xml:lang="en">
  307 + Heliocentric Aries Ecliptic - A coordinate
  308 + system where the Z axis is normal to the ecliptic
  309 + plane, positive northward. X axis is positive
  310 + towards the first point of Aries (from Earth
  311 + to Sun at vernal equinox). Same as SE below.
  312 + See Hapgood, 1992.
  313 + </xsd:documentation>
  314 + </xsd:annotation>
  315 + </xsd:enumeration>
  316 + <xsd:enumeration value="HCC">
  317 + <xsd:annotation>
  318 + <xsd:documentation xml:lang="en">
  319 + Heliocentric Cartesian - A 3-D orthonormal
  320 + coordinate system that is primarily intended
  321 + to specify with two dimensions a point on
  322 + the solar disk. The Z axis points toward the
  323 + observer. The Y axis lies in the plane defined
  324 + by the solar spin vector and the Z axis, positive
  325 + northward. The X axis is perpendicular to
  326 + the Y and Z axes, positive toward solar west.
  327 + Standard representation for this system is
  328 + via the point's x and y values, expressed
  329 + either as physical distances or as fractions
  330 + of the solar disk radius.
  331 + </xsd:documentation>
  332 + </xsd:annotation>
  333 + </xsd:enumeration>
  334 + <xsd:enumeration value="HCI">
  335 + <xsd:annotation>
  336 + <xsd:documentation xml:lang="en">
  337 + Heliographic Carrington Inertial.
  338 + </xsd:documentation>
  339 + </xsd:annotation>
  340 + </xsd:enumeration>
  341 + <xsd:enumeration value="HCR">
  342 + <xsd:annotation>
  343 + <xsd:documentation xml:lang="en">
  344 + Heliocentric Radial - A 3-D orthonormal coordinate
  345 + system that is primarily intended to specify
  346 + with two dimensions a point on the solar disk.
  347 + The Z axis points toward the observer. The
  348 + Y axis lies in the plane defined by the solar
  349 + spin vector and the Z axis, positive northward.
  350 + The X axis is perpendicular to the Y and Z
  351 + axes, positive toward solar west. Standard
  352 + representation for this system is via the
  353 + point's distance rho from the Z axis [Rho
  354 + = SQRT(x**2 + y**2)] and its phase angle psi
  355 + measured counterclockwise from the +Y axis
  356 + [psi = arctan (-y/x)]
  357 + </xsd:documentation>
  358 + </xsd:annotation>
  359 + </xsd:enumeration>
  360 + <xsd:enumeration value="HEE">
  361 + <xsd:annotation>
  362 + <xsd:documentation xml:lang="en">
  363 + Heliocentric Earth Ecliptic - A coordinate
  364 + system where the Z axis is normal to the ecliptic
  365 + plane, positive northward. X axis points from
  366 + Sun to Earth. See Hapgood, 1992
  367 + </xsd:documentation>
  368 + </xsd:annotation>
  369 + </xsd:enumeration>
  370 + <xsd:enumeration value="HEEQ">
  371 + <xsd:annotation>
  372 + <xsd:documentation xml:lang="en">
  373 + Heliocentric Earth Equatorial - A coordinate
  374 + system where the Z axis is normal to the solar
  375 + equatorial plane, positive northward. X axis
  376 + is generally Earthward in the plane defined
  377 + by the Z axis and the Sun-Earth direction.
  378 + See Hapgood, 1992.
  379 + </xsd:documentation>
  380 + </xsd:annotation>
  381 + </xsd:enumeration>
  382 + <xsd:enumeration value="HG">
  383 + <xsd:annotation>
  384 + <xsd:documentation xml:lang="en">
  385 + Heliographic - A heliocentric rotating coordinate
  386 + system where the Z axis is normal to the solar
  387 + equatorial plane, positive northward. X, Y
  388 + axes rotate with a 25.38 day period. The zero
  389 + longitude (X axis) is defined as the longitude
  390 + that passed through the ascending node of
  391 + the solar equator on the ecliptic plane on
  392 + 1 January, 1854 at 12 UT. See &lt;http://nssdc.gsfc.nasa.gov/space/helios/coor_des.html&gt;
  393 + </xsd:documentation>
  394 + </xsd:annotation>
  395 + </xsd:enumeration>
  396 + <xsd:enumeration value="HGI">
  397 + <xsd:annotation>
  398 + <xsd:documentation xml:lang="en">
  399 + Heliographic Inertial - A heliocentric coordinate
  400 + system where the Z axis is normal to the solar
  401 + equatorial plane, positive northward. X axis
  402 + is along the intersection line between solar
  403 + equatorial and ecliptic planes. The X axis
  404 + was positive at SE longitude of 74.367 deg
  405 + on Jan 1, 1900. (See SE below.) See &lt;http://nssdc.gsfc.nasa.gov/space/helios/coor_des.html&gt;
  406 + </xsd:documentation>
  407 + </xsd:annotation>
  408 + </xsd:enumeration>
  409 + <xsd:enumeration value="HPC">
  410 + <xsd:annotation>
  411 + <xsd:documentation xml:lang="en">
  412 + Helioprojective Cartesian = A 3-D orthonormal
  413 + (left-handed) coordinate system that is primarily
  414 + intended to specify with two dimensions a
  415 + point on the solar disk. The Z axis points
  416 + from the observer to the center of the solar
  417 + disk. The Y axis lies in the plane defined
  418 + by the solar spin vector and the Z axis, positive
  419 + northward. The X axis is perpendicular to
  420 + the Y and Z axes, positive toward solar west.
  421 + Given as the distance between the observer
  422 + and the center of the solar disk, the standard
  423 + representation of an (x,y) point on the solar
  424 + disk is via the point's longitude angle [arctan
  425 + (x/d)] and latitude angle [arctan y/d].
  426 + </xsd:documentation>
  427 + </xsd:annotation>
  428 + </xsd:enumeration>
  429 + <xsd:enumeration value="HPR">
  430 + <xsd:annotation>
  431 + <xsd:documentation xml:lang="en">
  432 + Helioprojective Radial - A 3-D orthonormal
  433 + (left-handed) coordinate system that is primarily
  434 + intended to specify with two dimensions a
  435 + point on the solar disk. The Z axis points
  436 + from the observer to the center of the solar
  437 + disk. The Y axis lies in the plane defined
  438 + by the solar spin vector and the Z axis, positive
  439 + northward. The X axis is perpendicular to
  440 + the Y and Z axes, positive toward solar west.
  441 + Given as the distance between the observer
  442 + and the center of the solar disk, the standard
  443 + representation for this system of an (x,y)
  444 + point on the solar disk is via the point's
  445 + latitude angle theta {= arctan [SQRT(x**2
  446 + + y**2)]/d]} or equivalent declination parameter
  447 + delta (= theta - 90 deg), and its phase angle
  448 + psi as measured counter- clockwise from the
  449 + +Y axis [psi = arctan (-y/x)].
  450 + </xsd:documentation>
  451 + </xsd:annotation>
  452 + </xsd:enumeration>
  453 + <xsd:enumeration value="J2000">
  454 + <xsd:annotation>
  455 + <xsd:documentation xml:lang="en">
  456 + An astronomical coordinate system which uses
  457 + the mean equator and equinox of Julian date
  458 + 2451545.0 TT (Terrestrial Time), or January
  459 + 1, 2000, noon TT. (aka J2000) to define a
  460 + celestial reference frame.
  461 + </xsd:documentation>
  462 + </xsd:annotation>
  463 + </xsd:enumeration>
  464 + <xsd:enumeration value="LGM">
  465 + <xsd:annotation>
  466 + <xsd:documentation xml:lang="en">
  467 + Local Geomagnetic - A coordinate system used
  468 + mainly for Earth surface or near Earth surface
  469 + magnetic field data. X axis northward from
  470 + observation point in a geographic meridian.
  471 + Z axis downward towards Earth's center. In
  472 + this system, H (total horizontal component)
  473 + = SQRT (Bx^2 + By^2) and D (declination angle)
  474 + = arctan (By/Bx)
  475 + </xsd:documentation>
  476 + </xsd:annotation>
  477 + </xsd:enumeration>
  478 + <xsd:enumeration value="MAG">
  479 + <xsd:annotation>
  480 + <xsd:documentation xml:lang="en">
  481 + Geomagnetic - geocentric. Z axis is parallel
  482 + to the geomagnetic dipole axis, positive north.
  483 + X is in the plane defined by the Z axis and
  484 + the Earth's rotation axis. If N is a unit
  485 + vector from the Earth's center to the north
  486 + geographic pole, the signs of the X and Y
  487 + axes are given by Y = N x Z, X = Y x Z.. See
  488 + Russell, 1971, and &lt;http://cdpp.cnes.fr/00428.pdf&gt;
  489 + </xsd:documentation>
  490 + </xsd:annotation>
  491 + </xsd:enumeration>
  492 + <xsd:enumeration value="MFA">
  493 + <xsd:annotation>
  494 + <xsd:documentation xml:lang="en">
  495 + Magnetic Field Aligned - A coordinate system
  496 + spacecraft-centered system with Z in the direction
  497 + of the ambient magnetic field vector. X is
  498 + in the plane defined by Z and the spacecraft-Sun
  499 + line, positive sunward. See &lt;http://cdpp.cnes.fr/00428.pdf&gt;
  500 + </xsd:documentation>
  501 + </xsd:annotation>
  502 + </xsd:enumeration>
  503 + <xsd:enumeration value="RTN">
  504 + <xsd:annotation>
  505 + <xsd:documentation xml:lang="en">
  506 + Radial Tangential Normal. Typically centered
  507 + at a spacecraft. Used for IMF and plasma V
  508 + vectors. R (radial) axis is radially away
  509 + from the Sun, T (tangential) axis is normal
  510 + to the plane formed by R and the Sun's spin
  511 + vector, positive in the direction of planetary
  512 + motion. N (normal) is R x T.
  513 + </xsd:documentation>
  514 + </xsd:annotation>
  515 + </xsd:enumeration>
  516 + <xsd:enumeration value="SC">
  517 + <xsd:annotation>
  518 + <xsd:documentation xml:lang="en">
  519 + Spacecraft - A coordinate system defined by
  520 + the spacecraft geometry and/or spin. Often
  521 + has Z axis parallel to spacecraft spin vector.
  522 + X and Y axes may or may not corotate with
  523 + the spacecraft. See SR and SR2 below.
  524 + </xsd:documentation>
  525 + </xsd:annotation>
  526 + </xsd:enumeration>
  527 + <xsd:enumeration value="SE">
  528 + <xsd:annotation>
  529 + <xsd:documentation xml:lang="en">
  530 + Solar Ecliptic - A heliocentric coordinate
  531 + system where the Z axis is normal to the ecliptic
  532 + plane, positive northward. X axis is positive
  533 + towards the first point of Aries (from Earth
  534 + to Sun at vernal equinox). Same as HAE above.
  535 + See &lt;http://nssdc.gsfc.nasa.gov/space/helios/coor_des.html&gt;
  536 + </xsd:documentation>
  537 + </xsd:annotation>
  538 + </xsd:enumeration>
  539 + <xsd:enumeration value="SM">
  540 + <xsd:annotation>
  541 + <xsd:documentation xml:lang="en">
  542 + Solar Magnetic - A geocentric coordinate system
  543 + where the Z axis is northward along Earth's
  544 + dipole axis, X axis is in plane of z axis
  545 + and Earth-Sun line, positive sunward. See
  546 + Russell, 1971.
  547 + </xsd:documentation>
  548 + </xsd:annotation>
  549 + </xsd:enumeration>
  550 + <xsd:enumeration value="SR">
  551 + <xsd:annotation>
  552 + <xsd:documentation xml:lang="en">
  553 + Spin Reference - A special case of a Spacecraft
  554 + (SC) coordinate system for a spinning spacecraft.
  555 + Z is parallel to the spacecraft spin vector.
  556 + X and Y rotate with the spacecraft. See &lt;http://cdpp.cnes.fr/00428.pdf&gt;
  557 + </xsd:documentation>
  558 + </xsd:annotation>
  559 + </xsd:enumeration>
  560 + <xsd:enumeration value="SR2">
  561 + <xsd:annotation>
  562 + <xsd:documentation xml:lang="en">
  563 + Spin Reference 2 - A special case of a Spacecraft
  564 + (SC) coordinate system for a spinning spacecraft.
  565 + Z is parallel to the spacecraft spin vector.
  566 + X is in the plane defined by Z and the spacecraft-Sun
  567 + line, positive sunward. See &lt;http://cdpp.cnes.fr/00428.pdf&gt;
  568 + </xsd:documentation>
  569 + </xsd:annotation>
  570 + </xsd:enumeration>
  571 + <xsd:enumeration value="SSE">
  572 + <xsd:annotation>
  573 + <xsd:documentation xml:lang="en">
  574 + Spacecraft Solar Ecliptic - A coordinate system
  575 + used for deep space spacecraft, for example
  576 + Helios. - X axis from spacecraft to Sun. Z
  577 + axis normal to ecliptic plane, positive northward.
  578 + Note: Angle between normals to ecliptic and
  579 + to Helios orbit plane ~ 0.25 deg.
  580 + </xsd:documentation>
  581 + </xsd:annotation>
  582 + </xsd:enumeration>
  583 + <xsd:enumeration value="SSE_L">
  584 + <xsd:annotation>
  585 + <xsd:documentation xml:lang="en">
  586 + Selenocentric Solar Ecliptic. The X axis
  587 + points from the center of the Earth's moon
  588 + to the sun, the Z axis is normal to the ecliptic
  589 + plane, positive northward. And the Y axis
  590 + completes the right-handed set of axes.
  591 + </xsd:documentation>
  592 + </xsd:annotation>
  593 + </xsd:enumeration>
  594 + <xsd:enumeration value="SpacecraftOrbitPlane">
  595 + <xsd:annotation>
  596 + <xsd:documentation xml:lang="en">
  597 + A coordinate system where X lies in the plane
  598 + normal to and in the direction of motion of
  599 + the spacecraft, Z is normal to this plane
  600 + and Y completes the triad in a right-handed
  601 + coordinate system.
  602 + </xsd:documentation>
  603 + </xsd:annotation>
  604 + </xsd:enumeration>
  605 + <xsd:enumeration value="WGS84">
  606 + <xsd:annotation>
  607 + <xsd:documentation xml:lang="en">
  608 + The World Geodetic System (WGS) defines a
  609 + reference frame for the earth, for use in
  610 + geodesy and navigation. The WGS84 uses the
  611 + zero meridian as defined by the Bureau International
  612 + de l'Heure.
  613 + </xsd:documentation>
  614 + </xsd:annotation>
  615 + </xsd:enumeration>
  616 + <xsd:enumeration value="MSO">
  617 + <xsd:annotation>
  618 + <xsd:documentation xml:lang="en">
  619 + Coordinate Sytem Related to Mars or Mercury
  620 + Depending on the Targeted Region
  621 + </xsd:documentation>
  622 + </xsd:annotation>
  623 + </xsd:enumeration>
  624 + <xsd:enumeration value="VSO">
  625 + <xsd:annotation>
  626 + <xsd:documentation xml:lang="en">
  627 + Coordinate Sytem Related to Venus
  628 + </xsd:documentation>
  629 + </xsd:annotation>
  630 + </xsd:enumeration>
  631 + </xsd:restriction>
  632 + </xsd:simpleType>
  633 +
  634 + <xs:complexType name="ParameterList">
  635 + <xs:sequence>
  636 + <xs:element minOccurs="0" maxOccurs="1" name="UserDefinedParameters"
  637 + type="xs:anyURI"/>
  638 + <xs:element minOccurs="0" maxOccurs="1" name="LocalDataBaseParameters"
  639 + type="xs:anyURI"/>
  640 + <xs:element minOccurs="0" maxOccurs="1" name="RemoteDataBaseParameters"
  641 + type="xs:anyURI"/>
  642 + </xs:sequence>
  643 + </xs:complexType>
  644 +
  645 +
  646 + <xs:complexType name="WorkSpace">
  647 + <xs:sequence>
  648 + <xs:element minOccurs="0" maxOccurs="1" name="LocalDataBaseParameters"
  649 + type="xs:anyURI"/>
  650 + <xs:element minOccurs="0" maxOccurs="1" name="RemoteDataBaseParameters"
  651 + type="xs:anyURI"/>
  652 + </xs:sequence>
  653 + </xs:complexType>
  654 +
  655 + <xs:complexType name="getParameter">
  656 + <xs:sequence>
  657 + <xs:element name="startTime" type="xs:string" minOccurs="1" maxOccurs="1">
  658 + <xs:annotation>
  659 + <xs:documentation>Start time in ISO 8601 format</xs:documentation>
  660 + </xs:annotation>
  661 + </xs:element>
  662 + <xs:element name="stopTime" type="xs:string" minOccurs="1" maxOccurs="1">
  663 + <xs:annotation>
  664 + <xs:documentation>Stop time in ISO 8601 format</xs:documentation>
  665 + </xs:annotation>
  666 + </xs:element>
  667 + <xs:element name="parameterID" type="xs:string" minOccurs="1" maxOccurs="1">
  668 + <xs:annotation>
  669 + <xs:documentation>Id of parameter defined in
  670 + Amda LocalParams.xml</xs:documentation>
  671 + </xs:annotation>
  672 + </xs:element>
  673 + <xs:element name="sampling" type="xs:float" minOccurs="0" maxOccurs="1">
  674 + <xs:annotation>
  675 + <xs:documentation>Sampling or average time in sec</xs:documentation>
  676 + </xs:annotation>
  677 + </xs:element>
  678 + <xs:element name="userID" type="xs:string" minOccurs="0" maxOccurs="1">
  679 + <xs:annotation>
  680 + <xs:documentation>ID of AMDA user. If no user ID, user is IMPEX</xs:documentation>
  681 + </xs:annotation>
  682 + </xs:element>
  683 + <xs:element name="password" type="xs:string" minOccurs="0" maxOccurs="1">
  684 + <xs:annotation>
  685 + <xs:documentation>Crypt Password of AMDA user </xs:documentation>
  686 + </xs:annotation>
  687 + </xs:element>
  688 + <xs:element name="outputFormat" minOccurs="0" maxOccurs="1">
  689 + <xs:annotation>
  690 + <xs:documentation> Choice is possible between the four formats: netCDF, CDF,
  691 + ASCII and VOTable. If the format is not specified it will be ASCIIF
  692 + by default</xs:documentation>
  693 + </xs:annotation>
  694 + <xs:simpleType>
  695 + <xs:restriction base="xs:string">
  696 + <xs:enumeration value="netCDF"/>
  697 + <xs:enumeration value="VOTable"/>
  698 + <xs:enumeration value="ASCII"/>
  699 + <xs:enumeration value="CDF"/>
  700 + </xs:restriction>
  701 + </xs:simpleType>
  702 + </xs:element>
  703 + <xs:element name="timeFormat" minOccurs="0" maxOccurs="1">
  704 + <xs:annotation>
  705 + <xs:documentation> Choice is possible between the two formats: ISO 8601
  706 + or unixtime. If the format is not specified it will be ISO 8601 by
  707 + default</xs:documentation>
  708 + </xs:annotation>
  709 + <xs:simpleType>
  710 + <xs:restriction base="xs:string">
  711 + <xs:enumeration value="ISO8601"/>
  712 + <xs:enumeration value="unixtime"/>
  713 + </xs:restriction>
  714 + </xs:simpleType>
  715 + </xs:element>
  716 + <xs:element name="gzip" minOccurs="0" maxOccurs="1" type="xs:integer">
  717 + <xs:annotation>
  718 + <xs:documentation>1 to compress data with gzip (0 by
  719 + default)</xs:documentation>
  720 + </xs:annotation>
  721 + </xs:element>
  722 + </xs:sequence>
  723 + </xs:complexType>
  724 +
  725 + <xs:complexType name="getParameterResponse">
  726 + <xs:sequence>
  727 + <xs:element name="success" minOccurs="0" maxOccurs="1" type="xs:boolean">
  728 + <xs:annotation>
  729 + <xs:documentation>If method is OK success = true, else success = false</xs:documentation>
  730 + </xs:annotation>
  731 + </xs:element>
  732 + <xs:element maxOccurs="unbounded" minOccurs="0" name="dataFileURLs" type="xs:anyURI">
  733 + <xs:annotation>
  734 + <xs:documentation>URLs of results data files. If no URLs - no data for
  735 + required parameters</xs:documentation>
  736 + </xs:annotation>
  737 + </xs:element>
  738 + <xs:element maxOccurs="1" minOccurs="0" name="status">
  739 + <xs:annotation>
  740 + <xs:documentation></xs:documentation>
  741 + </xs:annotation>
  742 + <xs:simpleType>
  743 + <xs:restriction base="xs:string">
  744 + <xs:enumeration value="done"/>
  745 + <xs:enumeration value="in progress"/>
  746 + <xs:enumeration value="error"/>
  747 + </xs:restriction>
  748 + </xs:simpleType>
  749 + </xs:element>
  750 + <xs:element maxOccurs="1" minOccurs="0" name="id" type="xs:string">
  751 + <xs:annotation>
  752 + <xs:documentation>process ID</xs:documentation>
  753 + </xs:annotation>
  754 + </xs:element>
  755 + </xs:sequence>
  756 + </xs:complexType>
  757 +
  758 + <xs:complexType name="getStatus">
  759 + <xs:sequence>
  760 + <xs:element minOccurs="1" maxOccurs="1" name="id" type="xs:string">
  761 + <xs:annotation>
  762 + <xs:documentation>process ID</xs:documentation>
  763 + </xs:annotation>
  764 + </xs:element>
  765 + </xs:sequence>
  766 + </xs:complexType>
  767 +
  768 + <xs:complexType name="getStatusResponse">
  769 + <xs:sequence>
  770 + <xs:element name="success" minOccurs="0" maxOccurs="1" type="xs:boolean">
  771 + <xs:annotation>
  772 + <xs:documentation></xs:documentation>
  773 + </xs:annotation>
  774 + </xs:element>
  775 + <xs:element maxOccurs="unbounded" minOccurs="0" name="dataFileURLs" type="xs:anyURI">
  776 + <xs:annotation>
  777 + <xs:documentation>URLs of results data files. If no URLs - no data for
  778 + required parameters</xs:documentation>
  779 + </xs:annotation>
  780 + </xs:element>
  781 + <xs:element maxOccurs="1" minOccurs="0" name="plotURL" type="xs:anyURI">
  782 + <xs:annotation>
  783 + <xs:documentation>URLs of results plot files. If no URLs - no data for
  784 + required parameters</xs:documentation>
  785 + </xs:annotation>
  786 + </xs:element>
  787 + <xs:element maxOccurs="1" minOccurs="0" name="status">
  788 + <xs:annotation>
  789 + <xs:documentation></xs:documentation>
  790 + </xs:annotation>
  791 + <xs:simpleType>
  792 + <xs:restriction base="xs:string">
  793 + <xs:enumeration value="in progress"/>
  794 + <xs:enumeration value="error"/>
  795 + </xs:restriction>
  796 + </xs:simpleType>
  797 + </xs:element>
  798 + </xs:sequence>
  799 + </xs:complexType>
  800 +
  801 + <xs:complexType name="getDataset">
  802 + <xs:sequence>
  803 + <xs:element name="startTime" type="xs:string" minOccurs="1" maxOccurs="1">
  804 + <xs:annotation>
  805 + <xs:documentation>Start time in ISO 8601 format</xs:documentation>
  806 + </xs:annotation>
  807 + </xs:element>
  808 + <xs:element name="stopTime" type="xs:string" minOccurs="1" maxOccurs="1">
  809 + <xs:annotation>
  810 + <xs:documentation>Stop time in ISO 8601 format</xs:documentation>
  811 + </xs:annotation>
  812 + </xs:element>
  813 + <xs:element name="datasetID" type="xs:string" minOccurs="1" maxOccurs="1">
  814 + <xs:annotation>
  815 + <xs:documentation>Id of Data Sets defined in
  816 + Amda LocalParams.xml</xs:documentation>
  817 + </xs:annotation>
  818 + </xs:element>
  819 + <xs:element name="sampling" type="xs:float" minOccurs="0" maxOccurs="1">
  820 + <xs:annotation>
  821 + <xs:documentation>Sampling or average time in sec</xs:documentation>
  822 + </xs:annotation>
  823 + </xs:element>
  824 + <xs:element name="userID" type="xs:string" minOccurs="0" maxOccurs="1">
  825 + <xs:annotation>
  826 + <xs:documentation>ID of AMDA user. If no user ID, user is IMPEX</xs:documentation>
  827 + </xs:annotation>
  828 + </xs:element>
  829 + <xs:element name="password" type="xs:string" minOccurs="0" maxOccurs="1">
  830 + <xs:annotation>
  831 + <xs:documentation>Crypt Password of AMDA user </xs:documentation>
  832 + </xs:annotation>
  833 + </xs:element>
  834 + <xs:element name="outputFormat" minOccurs="0" maxOccurs="1">
  835 + <xs:annotation>
  836 + <xs:documentation> Choice is possible between the four formats: netCDF, CDF,
  837 + ASCII and VOTable. If the format is not specified it will be ASCII
  838 + by default</xs:documentation>
  839 + </xs:annotation>
  840 + <xs:simpleType>
  841 + <xs:restriction base="xs:string">
  842 + <xs:enumeration value="netCDF"/>
  843 + <xs:enumeration value="VOTable"/>
  844 + <xs:enumeration value="ASCII"/>
  845 + <xs:enumeration value="CDF"/>
  846 + </xs:restriction>
  847 + </xs:simpleType>
  848 + </xs:element>
  849 + <xs:element name="timeFormat" minOccurs="0" maxOccurs="1">
  850 + <xs:annotation>
  851 + <xs:documentation> Choice is possible between the two formats: ISO 8601
  852 + or unixtime. If the format is not specified it will be ISO 8601 by
  853 + default</xs:documentation>
  854 + </xs:annotation>
  855 + <xs:simpleType>
  856 + <xs:restriction base="xs:string">
  857 + <xs:enumeration value="ISO8601"/>
  858 + <xs:enumeration value="unixtime"/>
  859 + </xs:restriction>
  860 + </xs:simpleType>
  861 + </xs:element>
  862 + <xs:element name="gzip" minOccurs="0" maxOccurs="1" type="xs:integer">
  863 + <xs:annotation>
  864 + <xs:documentation>1 to compress data with gzip (0 by
  865 + default)</xs:documentation>
  866 + </xs:annotation>
  867 + </xs:element>
  868 + </xs:sequence>
  869 + </xs:complexType>
  870 +
  871 + <xs:complexType name="getDatasetResponse">
  872 + <xs:sequence>
  873 + <xs:element name="success" minOccurs="0" maxOccurs="1" type="xs:boolean">
  874 + <xs:annotation>
  875 + <xs:documentation></xs:documentation>
  876 + </xs:annotation>
  877 + </xs:element>
  878 + <xs:element maxOccurs="unbounded" minOccurs="0" name="dataFileURLs"
  879 + type="xs:anyURI">
  880 + <xs:annotation>
  881 + <xs:documentation>URLs of results data files. If not URLs - not data for
  882 + required datasets</xs:documentation>
  883 + </xs:annotation>
  884 + </xs:element>
  885 + <xs:element maxOccurs="1" minOccurs="0" name="status">
  886 + <xs:annotation>
  887 + <xs:documentation></xs:documentation>
  888 + </xs:annotation>
  889 + <xs:simpleType>
  890 + <xs:restriction base="xs:string">
  891 + <xs:enumeration value="in progress"/>
  892 + <xs:enumeration value="error"/>
  893 + </xs:restriction>
  894 + </xs:simpleType>
  895 + </xs:element>
  896 + <xs:element maxOccurs="1" minOccurs="0" name="id" type="xs:string">
  897 + <xs:annotation>
  898 + <xs:documentation>process ID</xs:documentation>
  899 + </xs:annotation>
  900 + </xs:element>
  901 + </xs:sequence>
  902 + </xs:complexType>
  903 +
  904 + <xs:complexType name="getPlot">
  905 + <xs:sequence>
  906 + <xs:element name="startTime" type="xs:string" minOccurs="1" maxOccurs="1">
  907 + <xs:annotation>
  908 + <xs:documentation>Start time in ISO 8601 format</xs:documentation>
  909 + </xs:annotation>
  910 + </xs:element>
  911 + <xs:element name="stopTime" type="xs:string" minOccurs="1" maxOccurs="1">
  912 + <xs:annotation>
  913 + <xs:documentation>Stop time in ISO 8601 format</xs:documentation>
  914 + </xs:annotation>
  915 + </xs:element>
  916 + <xs:element name="missionID" type="tns:enumMission" minOccurs="1" maxOccurs="1">
  917 + <xs:annotation>
  918 + <xs:documentation>Id of mission defined in
  919 + Amda LocalParams.xml</xs:documentation>
  920 + </xs:annotation>
  921 + </xs:element>
  922 + <xs:element name="userID" type="xs:string" minOccurs="0" maxOccurs="1">
  923 + <xs:annotation>
  924 + <xs:documentation>ID of AMDA user</xs:documentation>
  925 + </xs:annotation>
  926 + </xs:element>
  927 + <xs:element name="password" type="xs:string" minOccurs="0" maxOccurs="1">
  928 + <xs:annotation>
  929 + <xs:documentation>Password of AMDA user</xs:documentation>
  930 + </xs:annotation>
  931 + </xs:element>
  932 + </xs:sequence>
  933 + </xs:complexType>
  934 +
  935 + <xs:complexType name="getPlotResponse">
  936 + <xs:sequence>
  937 + <xs:element name="success" minOccurs="0" maxOccurs="1" type="xs:boolean">
  938 + <xs:annotation>
  939 + <xs:documentation>success or not</xs:documentation>
  940 + </xs:annotation>
  941 + </xs:element>
  942 + <xs:element maxOccurs="1" minOccurs="0" name="status">
  943 + <xs:annotation>
  944 + <xs:documentation></xs:documentation>
  945 + </xs:annotation>
  946 + <xs:simpleType>
  947 + <xs:restriction base="xs:string">
  948 + <xs:enumeration value="in progress"/>
  949 + <xs:enumeration value="error"/>
  950 + </xs:restriction>
  951 + </xs:simpleType>
  952 + </xs:element>
  953 + <xs:element maxOccurs="1" minOccurs="0" name="id" type="xs:string">
  954 + <xs:annotation>
  955 + <xs:documentation>process ID</xs:documentation>
  956 + </xs:annotation>
  957 + </xs:element>
  958 + <xs:element name="plotFileURL" type="xs:string" minOccurs="0" maxOccurs="1">
  959 + <xs:annotation>
  960 + <xs:documentation>URL of png file</xs:documentation>
  961 + </xs:annotation>
  962 + </xs:element>
  963 + </xs:sequence>
  964 + </xs:complexType>
  965 +
  966 + <xs:complexType name="getOrbites">
  967 + <xs:sequence>
  968 + <xs:element name="startTime" type="xs:string" minOccurs="1" maxOccurs="1">
  969 + <xs:annotation>
  970 + <xs:documentation>Start time in ISO 8601 format</xs:documentation>
  971 + </xs:annotation>
  972 + </xs:element>
  973 + <xs:element name="stopTime" type="xs:string" minOccurs="1" maxOccurs="1">
  974 + <xs:annotation>
  975 + <xs:documentation>Stop time in ISO 8601 format</xs:documentation>
  976 + </xs:annotation>
  977 + </xs:element>
  978 + <xs:element name="spacecraft" type="tns:enumSpacecraft" maxOccurs="1" minOccurs="1">
  979 + <xs:annotation>
  980 + <xs:documentation>List of spacecraft from AMDA</xs:documentation>
  981 + </xs:annotation>
  982 + </xs:element>
  983 + <xs:element name="coordinateSystem" type="tns:enumCoordinateSystemName" minOccurs="1" maxOccurs="1">
  984 + <xs:annotation>
  985 + <xs:documentation>Coordinate System Name</xs:documentation>
  986 + </xs:annotation>
  987 + </xs:element>
  988 + <xs:element name="units" minOccurs="0" maxOccurs="1">
  989 + <xs:annotation>
  990 + <xs:documentation>Units of orbits: radius or km. By default km</xs:documentation>
  991 + </xs:annotation>
  992 + <xs:simpleType>
  993 + <xs:restriction base="xs:string">
  994 + <xs:enumeration value="km"/>
  995 + <xs:enumeration value="Rs"/>
  996 + <xs:enumeration value="Rj"/>
  997 + <xs:enumeration value="Rca"/>
  998 + <xs:enumeration value="Rga"/>
  999 + <xs:enumeration value="Rio"/>
  1000 + <xs:enumeration value="Reu"/>
  1001 + <xs:enumeration value="Rv"/>
  1002 + <xs:enumeration value="Rm"/>
  1003 + <xs:enumeration value="Re"/>
  1004 + <xs:enumeration value="AU"/>
  1005 + </xs:restriction>
  1006 + </xs:simpleType>
  1007 + </xs:element>
  1008 + <xs:element name="sampling" type="xs:float" minOccurs="0" maxOccurs="1">
  1009 + <xs:annotation>
  1010 + <xs:documentation>Sampling or average time in sec</xs:documentation>
  1011 + </xs:annotation>
  1012 + </xs:element>
  1013 + <xs:element name="userID" type="xs:string" minOccurs="0" maxOccurs="1">
  1014 + <xs:annotation>
  1015 + <xs:documentation>ID of AMDA user. If no user ID, user is IMPEX</xs:documentation>
  1016 + </xs:annotation>
  1017 + </xs:element>
  1018 + <xs:element name="password" type="xs:string" minOccurs="0" maxOccurs="1">
  1019 + <xs:annotation>
  1020 + <xs:documentation>Crypt Password of AMDA user </xs:documentation>
  1021 + </xs:annotation>
  1022 + </xs:element>
  1023 + <xs:element name="outputFormat" minOccurs="0" maxOccurs="1">
  1024 + <xs:annotation>
  1025 + <xs:documentation> Choice is possible between the four formats: netCDF, CDF,
  1026 + ASCII and VOTable. If the format is not specified it will be ASCII
  1027 + by default</xs:documentation>
  1028 + </xs:annotation>
  1029 + <xs:simpleType>
  1030 + <xs:restriction base="xs:string">
  1031 + <xs:enumeration value="netCDF"/>
  1032 + <xs:enumeration value="VOTable"/>
  1033 + <xs:enumeration value="ASCII"/>
  1034 + <xs:enumeration value="CDF"/>
  1035 + </xs:restriction>
  1036 + </xs:simpleType>
  1037 + </xs:element>
  1038 + <xs:element name="timeFormat" minOccurs="0" maxOccurs="1">
  1039 + <xs:annotation>
  1040 + <xs:documentation> Choice is possible between the two formats: ISO 8601
  1041 + or unixtime. If the format is not specified it will be ISO 8601 by
  1042 + default</xs:documentation>
  1043 + </xs:annotation>
  1044 + <xs:simpleType>
  1045 + <xs:restriction base="xs:string">
  1046 + <xs:enumeration value="ISO8601"/>
  1047 + <xs:enumeration value="unixtime"/>
  1048 + </xs:restriction>
  1049 + </xs:simpleType>
  1050 + </xs:element>
  1051 + <xs:element name="gzip" minOccurs="0" maxOccurs="1" type="xs:integer">
  1052 + <xs:annotation>
  1053 + <xs:documentation>1 to compress data with gzip (0 by
  1054 + default)</xs:documentation>
  1055 + </xs:annotation>
  1056 + </xs:element>
  1057 + </xs:sequence>
  1058 + </xs:complexType>
  1059 +
  1060 + <xs:complexType name="getOrbitesResponse">
  1061 + <xs:sequence>
  1062 + <xs:element name="success" minOccurs="0" maxOccurs="1" type="xs:boolean">
  1063 + <xs:annotation>
  1064 + <xs:documentation></xs:documentation>
  1065 + </xs:annotation>
  1066 + </xs:element>
  1067 + <xs:element maxOccurs="unbounded" minOccurs="0" name="dataFileURLs"
  1068 + type="xs:anyURI">
  1069 + <xs:annotation>
  1070 + <xs:documentation>URLs of results data files. If not URLs - not data for
  1071 + required parameters</xs:documentation>
  1072 + </xs:annotation>
  1073 + </xs:element>
  1074 + <xs:element maxOccurs="1" minOccurs="0" name="status">
  1075 + <xs:annotation>
  1076 + <xs:documentation></xs:documentation>
  1077 + </xs:annotation>
  1078 + <xs:simpleType>
  1079 + <xs:restriction base="xs:string">
  1080 + <xs:enumeration value="in progress"/>
  1081 + <xs:enumeration value="error"/>
  1082 + </xs:restriction>
  1083 + </xs:simpleType>
  1084 + </xs:element>
  1085 + <xs:element maxOccurs="1" minOccurs="0" name="id" type="xs:string">
  1086 + <xs:annotation>
  1087 + <xs:documentation>process ID</xs:documentation>
  1088 + </xs:annotation>
  1089 + </xs:element>
  1090 + </xs:sequence>
  1091 + </xs:complexType>
  1092 +
  1093 + <xs:complexType name="getTimeTable">
  1094 + <xs:sequence>
  1095 + <xs:element name="userID" type="xs:string" minOccurs="0" maxOccurs="1">
  1096 + <xs:annotation>
  1097 + <xs:documentation>ID of AMDA user. If no user ID, user is IMPEX</xs:documentation>
  1098 + </xs:annotation>
  1099 + </xs:element>
  1100 + <xs:element name="password" type="xs:string" minOccurs="0" maxOccurs="1">
  1101 + <xs:annotation>
  1102 + <xs:documentation>Crypt Password of AMDA user </xs:documentation>
  1103 + </xs:annotation>
  1104 + </xs:element>
  1105 + <xs:element name="ttID" type="xs:string" minOccurs="1" maxOccurs="1">
  1106 + <xs:annotation>
  1107 + <xs:documentation>Id of time table</xs:documentation>
  1108 + </xs:annotation>
  1109 + </xs:element>
  1110 + </xs:sequence>
  1111 + </xs:complexType>
  1112 + <xs:complexType name="getTimeTableResponse">
  1113 + <xs:sequence>
  1114 + <xs:element name="success" minOccurs="0" maxOccurs="1" type="xs:boolean">
  1115 + <xs:annotation>
  1116 + <xs:documentation></xs:documentation>
  1117 + </xs:annotation>
  1118 + </xs:element>
  1119 + <xs:element name="ttFileURL" type="xs:anyURI" minOccurs="1" maxOccurs="1">
  1120 + <xs:annotation>
  1121 + <xs:documentation>URL of TT file</xs:documentation>
  1122 + </xs:annotation>
  1123 + </xs:element>
  1124 + </xs:sequence>
  1125 + </xs:complexType>
  1126 +
  1127 + </xs:schema>
  1128 + </wsdl:types>
  1129 +
  1130 + <!-- WSDL MESSAGE -->
  1131 +
  1132 + <!-- <wsdl:message name="getObsDataTree">
  1133 + <wsdl:part name="parameters" element="tns:getObsDataTree">
  1134 + </wsdl:part>
  1135 + </wsdl:message>-->
  1136 +
  1137 + <wsdl:message name="isAlive">
  1138 + <wsdl:part name="parameters" element="tns:emptyAlive"> </wsdl:part>
  1139 + </wsdl:message>
  1140 +
  1141 + <wsdl:message name="isAliveResponse">
  1142 + <wsdl:part name="parameters" element="tns:alive"> </wsdl:part>
  1143 + </wsdl:message>
  1144 +
  1145 + <wsdl:message name="getObsDataTree">
  1146 + <wsdl:part name="parameters" element="tns:emptyElement"></wsdl:part>
  1147 + </wsdl:message>
  1148 +
  1149 + <wsdl:message name="getObsDataTreeResponse">
  1150 + <wsdl:part name="parameters" element="tns:getObsDataTreeResponse"> </wsdl:part>
  1151 + </wsdl:message>
  1152 +
  1153 + <wsdl:message name="getTimeTablesList">
  1154 + <wsdl:part name="parameters" element="tns:getTimeTablesList"> </wsdl:part>
  1155 + </wsdl:message>
  1156 +
  1157 + <wsdl:message name="getTimeTablesListResponse">
  1158 + <wsdl:part name="parameters" element="tns:getTimeTablesListResponse"> </wsdl:part>
  1159 + </wsdl:message>
  1160 +
  1161 + <wsdl:message name="getParameterList">
  1162 + <wsdl:part name="parameters" element="tns:getParameterList"> </wsdl:part>
  1163 + </wsdl:message>
  1164 +
  1165 + <wsdl:message name="getParameterListResponse">
  1166 + <wsdl:part name="parameters" element="tns:getParameterListResponse"> </wsdl:part>
  1167 + </wsdl:message>
  1168 +
  1169 + <wsdl:message name="getParameter">
  1170 + <wsdl:part name="parameters" element="tns:getParameter"> </wsdl:part>
  1171 + </wsdl:message>
  1172 +
  1173 + <wsdl:message name="getParameterResponse">
  1174 + <wsdl:part name="parameters" element="tns:getParameterResponse"> </wsdl:part>
  1175 + </wsdl:message>
  1176 +
  1177 + <wsdl:message name="getDataset">
  1178 + <wsdl:part name="parameters" element="tns:getDataset"></wsdl:part>
  1179 + </wsdl:message>
  1180 +
  1181 + <wsdl:message name="getDatasetResponse">
  1182 + <wsdl:part name="parameters" element="tns:getDatasetResponse"> </wsdl:part>
  1183 + </wsdl:message>
  1184 +
  1185 + <wsdl:message name="getPlot">
  1186 + <wsdl:part name="parameters" element="tns:getPlot"> </wsdl:part>
  1187 + </wsdl:message>
  1188 +
  1189 + <wsdl:message name="getPlotResponse">
  1190 + <wsdl:part name="parameters" element="tns:getPlotResponse"> </wsdl:part>
  1191 + </wsdl:message>
  1192 +
  1193 + <wsdl:message name="getStatus">
  1194 + <wsdl:part name="parameters" element="tns:getStatus"></wsdl:part>
  1195 + </wsdl:message>
  1196 +
  1197 + <wsdl:message name="getStatusResponse">
  1198 + <wsdl:part name="parameters" element="tns:getStatusResponse"> </wsdl:part>
  1199 + </wsdl:message>
  1200 +
  1201 + <wsdl:message name="getOrbites">
  1202 + <wsdl:part name="parameters" element="tns:getOrbites"> </wsdl:part>
  1203 + </wsdl:message>
  1204 +
  1205 + <wsdl:message name="getOrbitesResponse">
  1206 + <wsdl:part name="parameters" element="tns:getOrbitesResponse"> </wsdl:part>
  1207 + </wsdl:message>
  1208 +
  1209 + <wsdl:message name="getTimeTable">
  1210 + <wsdl:part name="parameters" element="tns:getTimeTable"> </wsdl:part>
  1211 + </wsdl:message>
  1212 +
  1213 + <wsdl:message name="getTimeTableResponse">
  1214 + <wsdl:part name="parameters" element="tns:getTimeTableResponse"> </wsdl:part>
  1215 + </wsdl:message>
  1216 +
  1217 +
  1218 + <!-- WSDL portTYPE -->
  1219 +
  1220 + <wsdl:portType name="Methods_AMDA">
  1221 + <wsdl:operation name="isAlive">
  1222 + <wsdl:input message="tns:isAlive"> </wsdl:input>
  1223 + <wsdl:output message="tns:isAliveResponse"> </wsdl:output>
  1224 + </wsdl:operation>
  1225 +
  1226 + <wsdl:operation name="getObsDataTree">
  1227 + <wsdl:input message="tns:getObsDataTree"> </wsdl:input>
  1228 + <wsdl:output message="tns:getObsDataTreeResponse"> </wsdl:output>
  1229 + </wsdl:operation>
  1230 +
  1231 + <wsdl:operation name="getTimeTablesList">
  1232 + <wsdl:input message="tns:getTimeTablesList"> </wsdl:input>
  1233 + <wsdl:output message="tns:getTimeTablesListResponse"> </wsdl:output>
  1234 + </wsdl:operation>
  1235 +
  1236 + <wsdl:operation name="getParameterList">
  1237 + <wsdl:input message="tns:getParameterList"> </wsdl:input>
  1238 + <wsdl:output message="tns:getParameterListResponse"> </wsdl:output>
  1239 + </wsdl:operation>
  1240 +
  1241 + <wsdl:operation name="getParameter">
  1242 + <wsdl:input message="tns:getParameter"> </wsdl:input>
  1243 + <wsdl:output message="tns:getParameterResponse"> </wsdl:output>
  1244 + </wsdl:operation>
  1245 +
  1246 + <wsdl:operation name="getStatus">
  1247 + <wsdl:input message="tns:getStatus"> </wsdl:input>
  1248 + <wsdl:output message="tns:getStatusResponse"> </wsdl:output>
  1249 + </wsdl:operation>
  1250 +
  1251 + <wsdl:operation name="getDataset">
  1252 + <wsdl:input message="tns:getDataset"> </wsdl:input>
  1253 + <wsdl:output message="tns:getDatasetResponse"> </wsdl:output>
  1254 + </wsdl:operation>
  1255 +
  1256 + <wsdl:operation name="getPlot">
  1257 + <wsdl:input message="tns:getPlot"> </wsdl:input>
  1258 + <wsdl:output message="tns:getPlotResponse"> </wsdl:output>
  1259 + </wsdl:operation>
  1260 +
  1261 + <wsdl:operation name="getOrbites">
  1262 + <wsdl:input message="tns:getOrbites"> </wsdl:input>
  1263 + <wsdl:output message="tns:getOrbitesResponse"> </wsdl:output>
  1264 + </wsdl:operation>
  1265 +
  1266 + <wsdl:operation name="getTimeTable">
  1267 + <wsdl:input message="tns:getTimeTable"> </wsdl:input>
  1268 + <wsdl:output message="tns:getTimeTableResponse"> </wsdl:output>
  1269 + </wsdl:operation>
  1270 + </wsdl:portType>
  1271 +
  1272 +
  1273 + <!-- WSDL OPERATIONS -->
  1274 +
  1275 + <wsdl:binding name="Methods_AMDASoapBinding" type="tns:Methods_AMDA">
  1276 + <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
  1277 +
  1278 + <wsdl:operation name="isAlive">
  1279 + <soap:operation soapAction="" style="document"/>
  1280 + <wsdl:input>
  1281 + <soap:body use="literal"/>
  1282 + </wsdl:input>
  1283 + <wsdl:output>
  1284 + <soap:body use="literal"/>
  1285 + </wsdl:output>
  1286 + </wsdl:operation>
  1287 +
  1288 + <wsdl:operation name="getObsDataTree">
  1289 + <soap:operation soapAction="" style="document"/>
  1290 + <wsdl:input>
  1291 + <soap:body use="literal"/>
  1292 + </wsdl:input>
  1293 + <wsdl:output>
  1294 + <soap:body use="literal"/>
  1295 + </wsdl:output>
  1296 + </wsdl:operation>
  1297 +
  1298 + <wsdl:operation name="getTimeTablesList">
  1299 + <soap:operation soapAction="" style="document"/>
  1300 + <wsdl:input>
  1301 + <soap:body use="literal"/>
  1302 + </wsdl:input>
  1303 + <wsdl:output>
  1304 + <soap:body use="literal"/>
  1305 + </wsdl:output>
  1306 + </wsdl:operation>
  1307 +
  1308 + <wsdl:operation name="getParameterList">
  1309 + <soap:operation soapAction="" style="document"/>
  1310 + <wsdl:input>
  1311 + <soap:body use="literal"/>
  1312 + </wsdl:input>
  1313 + <wsdl:output>
  1314 + <soap:body use="literal"/>
  1315 + </wsdl:output>
  1316 + </wsdl:operation>
  1317 +
  1318 + <wsdl:operation name="getParameter">
  1319 + <soap:operation soapAction="" style="document"/>
  1320 + <wsdl:input>
  1321 + <soap:body use="literal"/>
  1322 + </wsdl:input>
  1323 + <wsdl:output>
  1324 + <soap:body use="literal"/>
  1325 + </wsdl:output>
  1326 + </wsdl:operation>
  1327 +
  1328 + <wsdl:operation name="getStatus">
  1329 + <soap:operation soapAction="" style="document"/>
  1330 + <wsdl:input>
  1331 + <soap:body use="literal"/>
  1332 + </wsdl:input>
  1333 + <wsdl:output>
  1334 + <soap:body use="literal"/>
  1335 + </wsdl:output>
  1336 + </wsdl:operation>
  1337 +
  1338 + <wsdl:operation name="getDataset">
  1339 + <soap:operation soapAction="" style="document"/>
  1340 + <wsdl:input>
  1341 + <soap:body use="literal"/>
  1342 + </wsdl:input>
  1343 + <wsdl:output>
  1344 + <soap:body use="literal"/>
  1345 + </wsdl:output>
  1346 + </wsdl:operation>
  1347 +
  1348 + <wsdl:operation name="getPlot">
  1349 + <soap:operation soapAction="" style="document"/>
  1350 + <wsdl:input>
  1351 + <soap:body use="literal"/>
  1352 + </wsdl:input>
  1353 + <wsdl:output>
  1354 + <soap:body use="literal"/>
  1355 + </wsdl:output>
  1356 + </wsdl:operation>
  1357 +
  1358 + <wsdl:operation name="getOrbites">
  1359 + <soap:operation soapAction="" style="document"/>
  1360 + <wsdl:input>
  1361 + <soap:body use="literal"/>
  1362 + </wsdl:input>
  1363 + <wsdl:output>
  1364 + <soap:body use="literal"/>
  1365 + </wsdl:output>
  1366 + </wsdl:operation>
  1367 +
  1368 + <wsdl:operation name="getTimeTable">
  1369 + <soap:operation soapAction="" style="document"/>
  1370 + <wsdl:input>
  1371 + <soap:body use="literal"/>
  1372 + </wsdl:input>
  1373 + <wsdl:output>
  1374 + <soap:body use="literal"/>
  1375 + </wsdl:output>
  1376 + </wsdl:operation>
  1377 + </wsdl:binding>
  1378 +
  1379 + <!-- WSDL SERVICE -->
  1380 +
  1381 + <wsdl:service name="Methods_AMDA">
  1382 + <wsdl:port name="Methods_AMDAPort" binding="tns:Methods_AMDASoapBinding">
  1383 + <soap:address location="http://cdpp3.irap.omp.eu/php/AMDA_METHODS_WSDL.php"/>
  1384 + </wsdl:port>
  1385 + </wsdl:service>
  1386 +</wsdl:definitions>
... ...
help/about.html
1 1 <html xmlns="http://www.w3.org/TR/REC-html40"><head><title>About AMDA</title>
2   - <meta http-equiv="content-type" content="text/html; charset=utf-8" />
3   -<title>AMDA About</title>
4   -<meta name="keywords" content="" />
5   -<meta name="description" content="" />
6   -<link href="../js/resources/css/styles.css" rel="stylesheet" type="text/css" media="screen" />
7   -<link rel="icon" href="../favicon.ico" type="image/x-icon">
8   -<link rel="shortcut icon" href="../favicon.ico" type="image/x-icon">
9   -</head>
  2 + <head>
  3 + <title>AMDA About</title>
  4 + <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  5 + <meta name="keywords" content="" />
  6 + <meta name="description" content="" />
  7 + <link href="../js/resources/css/styles.css" rel="stylesheet" type="text/css" media="screen"/>
  8 + <link rel="icon" href="../favicon.ico" type="image/x-icon">
  9 + <link rel="shortcut icon" href="../favicon.ico" type="image/x-icon">
  10 + </head>
10 11  
11   -<body>
12   -<div id="content">
13   -<div id="back">
14   -<div style="clear: both;">&nbsp;</div>
15   -<div id="main2">
16   - <div id="right">
17   - <h3>AMDA DOCS</h3>
18   - <div class="title">
19   - <ul>
20   - <li>Presentations
21   - <ul>
22   - <li>
23   - <a href="http://cdpp.irap.omp.eu/index.php/ressources/presentations" target="_blank">
24   - CDPP/AMDA</a></li>
25   - </ul></li>
26   - <li>Publications
27   - <ul>
28   - <li> <a href="http://cdpp.irap.omp.eu/index.php/ressources/publications/tools-and-the-vo" target="_blank">
29   - Tools and the Virtual Observatories</a></li>
30   - <li><a href="http://cdpp.irap.omp.eu/index.php/ressources/publications/science-application" target="_blank">
31   - Science applications</a></li>
32   - </ul></li>
33   - </ul>
34   - </div>
35   - <h3>AMDA THANKS</h3>
36   - <div class="title">
37   - <ul>
38   - <li> Data Centers
39   - <ul>
40   - <li><a title="Institut de Recherche en Astrophysique et Planétologie" href="http://www.irap.omp.eu/" target="_blank">IRAP</a>
41   - <li><a title="Coordinated Data Analysis Web, Goddard" href="http://cdaweb.gsfc.nasa.gov/" target="_blank">CDAWeb</a>
42   - <li><a title="Planetary Data System" href="http://pds.jpl.nasa.gov/" target="_blank">PDS</a>
43   - <li><a href="http://omniweb.gsfc.nasa.gov/" target="_blank">OMNIWeb</a>
44   - <li><a title="World Data Center for Magnetism, Kyoto" href="http://swdcwww.kugi.kyoto-u.ac.jp/" target="_blank">WDC, Kyoto</a>
45   - <li><a title="MAPS Key Parameter Database, IRAP/OMP, Toulouse" href="http://mapskp.cesr.fr/" target="_blank">MAPSKP</a>
46   - <li><a href="http://themis.ssl.berkeley.edu/index.shtml" target="_blank">THEMIS</a>
47   - <li><a title="Cluster Science Archive" href="https://csa.esac.esa.int/csa-web/" target="_blank">CSA</a>
48   - <li><a title="International Service of Geomagnetic Indices"
49   - href="http://isgi.unistra.fr/" target="_blank">IGSI/UNISTRA</a>
50   - <li><a title="Danish Meteorological Institute"
51   - href="http://www.dmi.dk" target="_blank">DMI</a>
52   - <li><a href="http://www.lesia.obspm.fr/kronos/" target="_blank">LESIA/OBSPM</a>
53   - <li><a title="UK Solar System Data Centre" href="http://www.ukssdc.ac.uk/" target="_blank">UKSSDC</a>
54   - <li><a title="STEREO science center" href="http://stereo-ssc.nascom.nasa.gov/" target="_blank">SSC</a>
55   - </ul>
56   - </li>
57   - </ul>
58   - </div>
59   -
60   -
61   - </div>
62   -<div id="left">
63   - <h2>AMDA Intro</h2>
64   -<p>
65   -The plasma objects studied in space physics consist of gigantic systems characterised by
66   -multiscale dynamics and fast long range couplings between key regions. For
67   -studying such systems, it is necessary to perform integrated multi-point/multi-instrument
68   -analysis in case studies and statistical studies as well. The ISTP program, the
69   -CLUSTER, THEMIS and MMS missions have been defined for facing this requirement.
70   -</p>
71   -<p>Integrated
72   -analysis of multi-point and multi-instrument data means that the researcher has
73   -to:
74   -</p><ul>
75   - <li> find interesting cases</li>
76   - <li> when some cases have been found, find and extract the data of interest</li>
77   - <li> when the data are collected, treat them (formatting, bad point filtering,
78   - resampling, data merging)</li>
79   - <li> visualise combined (i.e. coming from various sets) data</li>
80   - <li>perform calculation and apply various
81   -specific tools on the data
82   -</li></ul>
  12 + <body>
  13 + <div id="content">
  14 + <div id="back">
  15 + <div style="clear: both;">&nbsp;</div>
  16 + <div id="main2">
  17 + <div id="right">
  18 + <h3>AMDA DOCS</h3>
  19 + <div class="title">
  20 + <ul>
  21 + <li><h4>Presentations</h4>
  22 + <ul>
  23 + <li><a href="http://cdpp.irap.omp.eu/index.php/ressources/presentations" target="_blank">CDPP/AMDA</a>
  24 + </ul>
  25 + <li><h4>Publications</h4>
  26 + <ul>
  27 + <li> <a href="http://cdpp.irap.omp.eu/index.php/ressources/publications/tools-and-the-vo" target="_blank">
  28 + Tools and the Virtual Observatories</a></li>
  29 + <li><a href="http://cdpp.irap.omp.eu/index.php/ressources/publications/science-application" target="_blank">
  30 + Science applications</a>
  31 + </ul>
  32 + </ul>
  33 + </div>
  34 + <h3>AMDA THANKS</h3>
  35 + <div class="title">
  36 + <ul>
  37 + <li><h4>Data Centers</h4>
  38 + <ul>
  39 + <li><a title="Institut de Recherche en Astrophysique et Planétologie" href="http://www.irap.omp.eu/" target="_blank">IRAP</a>
  40 + <li><a title="Coordinated Data Analysis Web, Goddard" href="http://cdaweb.gsfc.nasa.gov/" target="_blank">CDAWeb</a>
  41 + <li><a title="Planetary Data System" href="http://pds.jpl.nasa.gov/" target="_blank">PDS</a>
  42 + <li><a href="http://omniweb.gsfc.nasa.gov/" target="_blank">OMNIWeb</a>
  43 + <li><a title="World Data Center for Magnetism, Kyoto" href="http://swdcwww.kugi.kyoto-u.ac.jp/" target="_blank">WDC, Kyoto</a>
  44 + <li><a title="MAPS Key Parameter Database, IRAP/OMP, Toulouse" href="http://mapskp.cesr.fr/" target="_blank">MAPSKP</a>
  45 + <li><a href="http://themis.ssl.berkeley.edu/index.shtml" target="_blank">THEMIS</a>
  46 + <li><a title="Cluster Science Archive" href="https://csa.esac.esa.int/csa-web/" target="_blank">CSA</a>
  47 + <li><a title="International Service of Geomagnetic Indices" href="http://isgi.unistra.fr/" target="_blank">IGSI/UNISTRA</a>
  48 + <li><a title="Danish Meteorological Institute" href="http://www.dmi.dk" target="_blank">DMI</a>
  49 + <li><a href="http://www.lesia.obspm.fr/kronos/" target="_blank">LESIA/OBSPM</a>
  50 + <li><a title="UK Solar System Data Centre" href="http://www.ukssdc.ac.uk/" target="_blank">UKSSDC</a>
  51 + <li><a title="STEREO science center" href="http://stereo-ssc.nascom.nasa.gov/" target="_blank">SSC</a>
  52 + </ul>
  53 + </ul>
  54 + </div>
  55 + </div>
  56 + <div id="left">
  57 + <h2>Introduction to AMDA</h2>
  58 + <p>
  59 + The plasma objects studied in space physics consist of gigantic systems characterised by
  60 + multiscale dynamics and fast, long range couplings between key regions. For
  61 + studying such systems, it is necessary to perform integrated multi-point/multi-instrument
  62 + analysis in case and statistical studies. In particular the ISTP program, the CLUSTER, THEMIS and MMS
  63 + missions have been defined for facing this requirement.
  64 + </p>
  65 + <p>Integrated analysis of multi-point and multi-instrument data means that the researcher has to:</p>
  66 + <ul>
  67 + <li> find interesting cases</li>
  68 + <li> when some cases have been found, find and extract the data of interest</li>
  69 + <li> when the data are collected, treat them (formatting, bad point filtering,
  70 + resampling, data merging)</li>
  71 + <li> visualise combined (i.e. coming from various sets) data</li>
  72 + <li>perform calculation and apply various
  73 + specific tools on the data
  74 + </li>
  75 + </ul>
83 76  
84   -<p> Depending on the heterogeneity of the data and the dispersion of their sources,
85   - the scientists can spend a lot of energy and time just for searching, finding,
86   - treating and preparing the data before starting scientific analysis. In order
87   - to help the users to faster reach the data analysis and interpretation step,
88   - the CDPP is developing a service with the following goals: </p>
89   -<p> The service provides functionalities for </p>
90   -<ul>
91   - <li>performing automated search of events, producing time-tables. This tool scans
92   - the content of the data and automatically test mathematical criteria edited
93   - by the user</li>
94   - <li>performing semi-automated search of events, producing time-tables. This
95   - tool allows the user to browse the data she/he selected by sequentially producing
96   - a figure he has predefined</li>
97   - <li>performing automated and semi-automated characterisation of events, producing
98   - catalogues (time-tables + extracted parameters)</li>
99   - <li>extracting sub-database from an input time-table</li>
100   - <li>performing basic data treatment (formatting, bad point filtering, re-sampling,
101   - data merging, ) in order to provide to the user data ready to use with her/his
102   - favourite software</li>
103   -</ul>
104   -<p> These tools can be applied on large amount of data (including
105   - multi-mission/multi-instrument datasets) in a transparent way by the users.
106   -</p>
107   -<p> The data are either physically resident in the AMDA database
108   - or remotely accessed from remote sites via web-services (CDAWEB, MAPSKP). </p>
109   -<p> The service can be reached and used from other sites according
110   - to the Virtual Observatory paradigm. </p>
111   -<hr>
112   -<p>AMDA is developed on the basis of an existing DD SYSTEM (Andrey Fedorov, IRAP).</p>
113   -<br/><br/>
114   -<p> <a href="..">AMDA Home =&gt;</a></p>
115   -</div>
116   -</div>
117   -</div>
118   -</body></html>
  77 + <p>Depending on the heterogeneity of the data and their sources, scientists may
  78 + spend a lot of energy and time for searching, finding, treating and preparing the
  79 + data before even starting scientific analysis. In order to help the users to faster
  80 + reach the data analysis and interpretation step, the CDPP has developped AMDA with the
  81 + following goals: </p>
  82 + <p>The service provides functionalities for </p>
  83 + <ul>
  84 + <li>performing automated search of events, producing time-tables. This tool scans
  85 + the content of the data and automatically tests mathematical criteria edited
  86 + by the user</li>
  87 + <li>performing semi-automated search of events, producing time-tables. This
  88 + tool allows the user to browse the data she/he selected by sequentially producing
  89 + a figure he has predefined</li>
  90 + <li>performing automated and semi-automated characterisation of events, producing
  91 + catalogues (time-tables + statistical parameters)</li>
  92 + <li>extracting sub-database from an input time-table</li>
  93 + <li>performing basic data treatment (formatting, bad point filtering, re-sampling,
  94 + data merging, ) in order to provide to the user data ready to use with her/his
  95 + favourite software</li>
  96 + </ul>
  97 + <p>These tools can be applied on large amount of data (including
  98 + multi-mission/multi-instrument datasets).
  99 + </p>
  100 + <p>The data are either physically resident in the AMDA database
  101 + or remotely accessed from remote sites via web-services (CDAWEB, THEMIS).</p>
  102 + <p>Simulation results and analytical models (some of them run in real time) are also
  103 + accessible (either locally or remotely).</p>
  104 + <p>The service can be reached and used from other sites according
  105 + to the Virtual Observatory paradigm. (SAMP and EPN-TAP protocols are enabled, VOTables are commonly used).</p>
  106 + <hr>
  107 + <p>AMDA is developed on the basis of an existing DD SYSTEM (Andrey Fedorov, IRAP).
  108 + AMDA is provided by the Centre de Données de la Physique des Plasmas (<a href="http://www.cdpp.eu" target="_blank">CDPP</a>) supported by CNRS, CNES, Observatoire de Paris and Université Paul Sabatier, Toulouse. French ANR, EU and ESA projects have supported part of the developments.</p>
  109 + <br/><br/>
  110 + <p> <a href="..">AMDA Home =&gt;</a></p>
  111 + </div>
  112 + </div>
  113 + </div>
  114 + </div>
  115 + </div>
  116 + </body>
  117 +</html>
... ...
help/info.html 0 → 100644
... ... @@ -0,0 +1,130 @@
  1 +<html xmlns="http://www.w3.org/TR/REC-html40"><head><title>About AMDA</title>
  2 + <head>
  3 + <title>AMDA About</title>
  4 + <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  5 + <meta name="keywords" content="" />
  6 + <meta name="description" content="" />
  7 + <link href="../js/resources/css/styles.css" rel="stylesheet" type="text/css" media="screen"/>
  8 + <link rel="icon" href="../favicon.ico" type="image/x-icon">
  9 + <link rel="shortcut icon" href="../favicon.ico" type="image/x-icon">
  10 + </head>
  11 +
  12 + <body>
  13 + <div id="content">
  14 + <div id="back">
  15 + <div style="clear: both;">&nbsp;</div>
  16 + <div id="main2">
  17 + <div id="right">
  18 + <h3>AMDA DOCS</h3>
  19 + <div class="title">
  20 + <ul>
  21 + <li><h4>Presentations</h4>
  22 + <ul>
  23 + <li><a href="http://cdpp.irap.omp.eu/index.php/ressources/presentations" target="_blank">CDPP/AMDA</a>
  24 + </ul>
  25 + <li><h4>Publications</h4>
  26 + <ul>
  27 + <li> <a href="http://cdpp.irap.omp.eu/index.php/ressources/publications/tools-and-the-vo" target="_blank">
  28 + Tools and the Virtual Observatories</a></li>
  29 + <li><a href="http://cdpp.irap.omp.eu/index.php/ressources/publications/science-application" target="_blank">
  30 + Science applications</a>
  31 + </ul>
  32 + </ul>
  33 + </div>
  34 + <h3>AMDA Services - TBD</h3>
  35 + <div class="title">
  36 + <ul>
  37 + <li><h4>WebServices</h4>
  38 + <ul>
  39 + <li><a title="TBD" target="_blank">REST</a> <!--href="apidoc"-->
  40 + <li><a title="TBD" target="_blank">SOAP</a> <!--href="Methods_AMDA.xml"-->
  41 + <li><a title="TBD" target="_blank">Special WebServices</a>
  42 + </ul>
  43 + <li><h4>Access to Shared Time Tables and Catalogs</h4>
  44 + <ul>
  45 + <li><a title="TBD" target="_blank">Time Tables</a>
  46 + <li><a title="TBD" target="_blank">Catalogs</a>
  47 + </ul>
  48 + </ul>
  49 + </div>
  50 + <h3>AMDA THANKS</h3>
  51 + <div class="title">
  52 + <ul>
  53 + <li><h4>Data Centers</h4>
  54 + <ul>
  55 + <li><a title="Institut de Recherche en Astrophysique et Planétologie" href="http://www.irap.omp.eu/" target="_blank">IRAP</a>
  56 + <li><a title="Coordinated Data Analysis Web, Goddard" href="http://cdaweb.gsfc.nasa.gov/" target="_blank">CDAWeb</a>
  57 + <li><a title="Planetary Data System" href="http://pds.jpl.nasa.gov/" target="_blank">PDS</a>
  58 + <li><a href="http://omniweb.gsfc.nasa.gov/" target="_blank">OMNIWeb</a>
  59 + <li><a title="World Data Center for Magnetism, Kyoto" href="http://swdcwww.kugi.kyoto-u.ac.jp/" target="_blank">WDC, Kyoto</a>
  60 + <li><a href="http://themis.ssl.berkeley.edu/index.shtml" target="_blank">THEMIS</a>
  61 + <li><a title="Cluster Science Archive" href="https://csa.esac.esa.int/csa-web/" target="_blank">CSA</a>
  62 + <li><a title="International Service of Geomagnetic Indices" href="http://isgi.unistra.fr/" target="_blank">IGSI/UNISTRA</a>
  63 + <li><a href="http://www.lesia.obspm.fr/kronos/" target="_blank">LESIA/OBSPM</a>
  64 + <li><a title="STEREO science center" href="http://stereo-ssc.nascom.nasa.gov/" target="_blank">SSC</a>
  65 + </ul>
  66 + </ul>
  67 + </div>
  68 + </div>
  69 + <div id="left">
  70 + <h2>Introduction to AMDA</h2>
  71 + <p>
  72 + The plasma objects studied in space physics consist of gigantic systems characterised by
  73 + multiscale dynamics and fast, long range couplings between key regions. For
  74 + studying such systems, it is necessary to perform integrated multi-point/multi-instrument
  75 + analysis in case and statistical studies. In particular the ISTP program, the CLUSTER, THEMIS and MMS
  76 + missions have been defined for facing this requirement.
  77 + </p>
  78 + <p>Integrated analysis of multi-point and multi-instrument data means that the researcher has to:</p>
  79 + <ul>
  80 + <li> find interesting cases</li>
  81 + <li> when some cases have been found, find and extract the data of interest</li>
  82 + <li> when the data are collected, treat them (formatting, bad point filtering,
  83 + resampling, data merging)</li>
  84 + <li> visualise combined (i.e. coming from various sets) data</li>
  85 + <li>perform calculation and apply various
  86 + specific tools on the data
  87 + </li>
  88 + </ul>
  89 +
  90 + <p>Depending on the heterogeneity of the data and their sources, scientists may
  91 + spend a lot of energy and time for searching, finding, treating and preparing the
  92 + data before even starting scientific analysis. In order to help the users to faster
  93 + reach the data analysis and interpretation step, the CDPP has developped AMDA with the
  94 + following goals: </p>
  95 + <p>The service provides functionalities for </p>
  96 + <ul>
  97 + <li>performing automated search of events, producing time-tables. This tool scans
  98 + the content of the data and automatically tests mathematical criteria edited
  99 + by the user</li>
  100 + <li>performing semi-automated search of events, producing time-tables. This
  101 + tool allows the user to browse the data she/he selected by sequentially producing
  102 + a figure he has predefined</li>
  103 + <li>performing automated and semi-automated characterisation of events, producing
  104 + catalogues (time-tables + statistical parameters)</li>
  105 + <li>extracting sub-database from an input time-table</li>
  106 + <li>performing basic data treatment (formatting, bad point filtering, re-sampling,
  107 + data merging, ) in order to provide to the user data ready to use with her/his
  108 + favourite software</li>
  109 + </ul>
  110 + <p>These tools can be applied on large amount of data (including
  111 + multi-mission/multi-instrument datasets).
  112 + </p>
  113 + <p>The data are either physically resident in the AMDA database
  114 + or remotely accessed from remote sites via web-services (CDAWeb, THEMIS).</p>
  115 + <p>Simulation results and analytical models (some of them run in real time) are also
  116 + accessible (either locally or remotely).</p>
  117 + <p>The service can be reached and used from other sites according
  118 + to the Virtual Observatory paradigm. (SAMP and EPN-TAP protocols are enabled, VOTables are commonly used).</p>
  119 + <hr>
  120 + <p>AMDA is developed on the basis of an existing DD SYSTEM (Andrey Fedorov, IRAP).
  121 + AMDA is provided by the Centre de Données de la Physique des Plasmas (<a href="http://www.cdpp.eu" target="_blank">CDPP</a>) supported by CNRS, CNES, Observatoire de Paris and Université Paul Sabatier, Toulouse. French ANR, EU and ESA projects have supported part of the developments.</p>
  122 + <br/>
  123 + <p> <a href="..">AMDA Home =&gt;</a></p>
  124 + </div>
  125 + </div>
  126 + </div>
  127 + </div>
  128 + </div>
  129 + </body>
  130 +</html>
... ...
help/policy.html
1 1 <html xmlns="http://www.w3.org/TR/REC-html40"><head><title>About AMDA</title>
2   - <meta http-equiv="content-type" content="text/html; charset=utf-8" />
3   -<title>AMDA Policy</title>
4   -<meta name="keywords" content="" />
5   -<meta name="description" content="" />
6   -<link href="../js/resources/css/styles.css" rel="stylesheet" type="text/css" media="screen" />
7   -<link rel="icon" href="../favicon.ico" type="image/x-icon">
8   -<link rel="shortcut icon" href="../favicon.ico" type="image/x-icon">
9   -</head>
  2 + <head>
  3 + <title>AMDA Policy</title>
  4 + <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  5 + <meta name="keywords" content="" />
  6 + <meta name="description" content="" />
  7 + <link href="../js/resources/css/styles.css" rel="stylesheet" type="text/css" media="screen"/>
  8 + <link rel="icon" href="../favicon.ico" type="image/x-icon">
  9 + <link rel="shortcut icon" href="../favicon.ico" type="image/x-icon">
  10 + </head>
10 11  
11   -<body>
12   -<div id="content">
13   -<div id="back">
14   -<div style="clear: both;">&nbsp;</div>
15   -<div id="main">
16   -<div id="right">
17   - <h3>Rules of the road</h3>
18   - <div class="title">
19   - <ul>
20   - <li><a href="licenceAction.do.html" target="_blank">CDPP</a>
21   - <li><a href="http://spdf.gsfc.nasa.gov/new_users.html" target="_blank">CDAWEB</a>
22   - <li><a href="http://ppi.pds.nasa.gov/citations_policy.jsp" target="_blank">PDS</a>
23   - <li><a href="http://mapsview.engin.umich.edu/use_policy" target="_blank">MAPSKP</a>
24   - <li><a href="http://themis.ssl.berkeley.edu/roadrules.shtml" target="_blank">THEMIS</a>
25   - <li><a href="http://lasp.colorado.edu/home/maven/files/2014/09/MAVEN_public-rules-of-the-road-v3.pdf" target="_blank">MAVEN</a>
26   - <li><a href="SKR.html" target="_blank">CASSINI/RPWS/SKR</a>
27   - <li><a href="VEXGRAZ.html" target="_blank">VEXGRAZ</a>
28   - <li><a href="http://caa.estec.esa.int/caa/ror.xml" target="_blank">CAA</a> / <a href="http://www.cosmos.esa.int/web/csa/rules-of-the-road" target="_blank">CSA</a>
29   - <li><a href="STEREO.html" target="_blank">STEREO</a>
30   - <li><a href="http://ccmc.gsfc.nasa.gov/PubPolicy.php" target="_blank">CCMC</a>
31   - <li><a href="https://www.cosmos.esa.int/web/psa/psa-acknowledgement" target="_blank">PSA</a>
32   - </ul>
33   - </div>
34   -</div>
35   -<div id="left">
36   -<h2>AMDA System and Data Use Policy</h2> <br/>
37   - <h4>System Use Policy</h4>
38   -<p>Thank you for acknowledging the use of AMDA in publications with wording
39   -like "Data analysis was performed with the AMDA science analysis system provided by the Centre de Donn&eacute;es de la Physique des Plasmas (<a href="http://www.cdpp.eu">CDPP</a>) supported by CNRS, CNES, Observatoire de Paris and Universit&eacute; Paul Sabatier, Toulouse."
40   -</p>
41   -
42   -<br/> <h4>Data Use Policy</h4><br/>
43   - AMDA local base holds data
44   -originating from several Data Centres (see the detailed list on
45   -<a href="about.html"> AMDA About</a> page).
46   -When using either those data or AMDA "External Data" service to connect
47   -to remote centres, please follow the corresponding Rules of the Road.
48   - </p><br/><br/><br/>
49   - <p><a href="..">AMDA Home =&gt;</a></p>
50   -</div>
51   -</div></div></div>
  12 + <body>
  13 + <div id="content">
  14 + <div id="back">
  15 + <div style="clear: both;">&nbsp;</div>
  16 + <div id="main">
  17 + <div id="right">
  18 + <h3>Rules of the road</h3>
  19 + <div class="title">
  20 + <ul>
  21 + <li><a href="licenceAction.do.html" target="_blank">CDPP</a>
  22 + <li><a href="http://spdf.gsfc.nasa.gov/new_users.html" target="_blank">CDAWEB</a>
  23 + <li><a href="http://ppi.pds.nasa.gov/citations_policy.jsp" target="_blank">PDS</a>
  24 + <li><a href="http://themis.ssl.berkeley.edu/roadrules.shtml" target="_blank">THEMIS</a>
  25 + <li><a href="http://lasp.colorado.edu/home/maven/files/2014/09/MAVEN_public-rules-of-the-road-v3.pdf" target="_blank">MAVEN</a>
  26 + <li><a href="SKR.html" target="_blank">CASSINI/RPWS/SKR</a>
  27 + <li><a href="http://www.cosmos.esa.int/web/csa/rules-of-the-road" target="_blank">CSA</a>
  28 + <li><a href="STEREO.html" target="_blank">STEREO</a>
  29 + <li><a href="https://www.cosmos.esa.int/web/psa/psa-acknowledgement" target="_blank">PSA</a>
  30 + </ul>
  31 + </div>
  32 + </div>
  33 + <div id="left">
  34 + <h2>AMDA System and Data Use Policy</h2><br/>
  35 + <h4>System Use Policy</h4>
  36 + <p>Thank you for acknowledging the use of AMDA in publications with wording
  37 + like "Data analysis was performed with the AMDA science analysis system provided by the Centre de Donn&eacute;es de la Physique des Plasmas (<a href="http://www.cdpp.eu">CDPP</a>) supported by CNRS, CNES, Observatoire de Paris and Universit&eacute; Paul Sabatier, Toulouse."
  38 + </p><br/>
  39 + <h4>Data Use Policy</h4>
  40 + <p>AMDA local base holds data
  41 + originating from several Data Centres (see the detailed list on
  42 + <a href="info.html"> AMDA About</a> page).
  43 + When using either those data or AMDA "External Data" service to connect
  44 + to remote centres, please follow the corresponding Rules of the Road.
  45 + </p><br/><br/><br/>
  46 + <p><a href="..">AMDA Home =&gt;</a></p>
  47 + </div>
  48 + </div>
  49 + </div>
  50 + </div>
  51 + </div>
52 52 </body></html>
53 53  
... ...
help/wsdl-viewer.xsl 0 → 100644
... ... @@ -0,0 +1,2520 @@
  1 +<?xml version="1.0" encoding="utf-8"?>
  2 +
  3 +<!--
  4 +/**
  5 + * Licensed to the Apache Software Foundation (ASF) under one or more
  6 + * contributor license agreements. See the NOTICE file distributed with
  7 + * this work for additional information regarding copyright ownership.
  8 + * The ASF licenses this file to You under the Apache License, Version 2.0
  9 + * (the "License"); you may not use this file except in compliance with
  10 + * the License. You may obtain a copy of the License at
  11 + *
  12 + * http://www.apache.org/licenses/LICENSE-2.0
  13 + *
  14 + * Unless required by applicable law or agreed to in writing, software
  15 + * distributed under the License is distributed on an "AS IS" BASIS,
  16 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  17 + * See the License for the specific language governing permissions and
  18 + * limitations under the License.
  19 + */
  20 +-->
  21 +
  22 +
  23 +<!--
  24 +* ====================================================================
  25 +* wsdl-viewer.xsl
  26 +* Version: 3.1.02
  27 +*
  28 +* URL: http://tomi.vanek.sk/xml/wsdl-viewer.xsl
  29 +*
  30 +* Author: tomi vanek
  31 +* Inspiration: Uche Ogbui - WSDL processing with XSLT
  32 +* http://www-106.ibm.com/developerworks/library/ws-trans/index.html
  33 +* ====================================================================
  34 +-->
  35 +
  36 +
  37 +<!--
  38 +* ====================================================================
  39 +* Description:
  40 +* wsdl-viewer.xsl is a lightweight XSLT 1.0 transformation with minimal
  41 +* usage of any hacks that extend the possibilities of the transformation
  42 +* over the XSLT 1.0 constraints but eventually would harm the engine independance.
  43 +*
  44 +* The transformation has to run even in the browser offered XSLT engines
  45 +* (tested in IE 6 and Firefox) and in ANT "batch" processing.
  46 +* ====================================================================
  47 +* How to add the HTML look to a WSDL:
  48 +* <?xml version="1.0" encoding="utf-8"?>
  49 +* <?xml-stylesheet type="text/xsl" href="wsdl-viewer.xsl"?>
  50 +* <wsdl:definitions ...>
  51 +* ... Here is the service declaration
  52 +* </wsdl:definitions>
  53 +*
  54 +* The web-browsers (in Windows) are not able by default automatically recognize
  55 +* the ".wsdl" file type (suffix). For the type recognition the WSDL file has
  56 +* to be renamed by adding the suffix ".xml" - i.e. "myservice.wsdl.xml".
  57 +* ====================================================================
  58 +* Constraints:
  59 +* 1. Processing of imported files
  60 +* 1.1 Only 1 imported WSDL and 1 imported XSD is processed
  61 +* (well, maybe with a smarter recursive strategy this restriction could be overcome)
  62 +* 1.2 No recursive including is supported (i.e. includes in included XSD are ignored)
  63 +* 2. Namespace support
  64 +* 2.1 Namespaces are not taken in account by processing (references with NS)
  65 +* 3. Source code
  66 +* 3.1 Only the source code allready processed by the XML parser is rendered - implications:
  67 +* == no access to the XML head line (<?xml version="1.0" encoding="utf-8"?>)
  68 +* == "expanded" CDATA blocks (parser processes the CDATA,
  69 +* XSLT does not have access to the original code)
  70 +* == no control over the code page
  71 +* == processing of special characters
  72 +* == namespace nodes are not rendered (just the namespace aliases)
  73 +* ====================================================================
  74 +* Possible improvements:
  75 +* * Functional requirements
  76 +* + SOAP 1.2 binding (http://schemas.xmlsoap.org/wsdl/soap12/WSDL11SOAP12.pdf)
  77 +* + WSDL 2.0 (http://www.w3.org/TR/2006/CR-wsdl20-primer-20060327/)
  78 +* + Recognition of WSDL patterns (interface, binding, service instance, ...)
  79 +* - Creating an xsd-viewer.xsl for XML-Schema file viewing
  80 +* (extracting the functionality from wsdl-viewer into separate XSLT)
  81 +* - Check the full support of the WSDL and XSD going through the standards
  82 +* - Real-world WSDL testing
  83 +* - XSLT 2.0 (http://www-128.ibm.com/developerworks/library/x-xslt20pt5.html) ???
  84 +* ? Adding more derived information
  85 +* * to be defined, what non-trivial information can we read out from the WSDL
  86 +* * XSLT
  87 +* + Modularization
  88 +* - Is it meaningful?
  89 +* - Maybe more distribution alternatives (modular, fat monolithic, thin performance monolithic)?
  90 +* - Distribution build automatization
  91 +* + Dynamic page: JavaSript
  92 +* + Performance
  93 +* - Better code comments / documentation
  94 +* - SOAP client form - for testing the web service (AJAX based)
  95 +* - New XSD parser - clean-up the algorithm
  96 +* - Complete (recursive, multiple) include support
  97 +* ? Namespace-aware version (no string processing hacks ;-)
  98 +* * I think, because of the goal to support as many engines as possible,
  99 +* this requirement is unrealistic. Maybe when XSLT 2.0 will be supported
  100 +* in a huge majority of platforms, we can rethink this point....
  101 +* (problems with different functionality of namespace-uri XPath function by different engines)
  102 +* * Development architecture
  103 +* - Setup of the development infrastructure
  104 +* - Unit testing
  105 +* ? Collaboration platform
  106 +* * Documentation, web
  107 +* - Better user guide
  108 +* ? Forum, Wiki
  109 +* ====================================================================
  110 +-->
  111 +
  112 +
  113 +<!--
  114 +* ====================================================================
  115 +* History:
  116 +* 2005-04-15 - Initial implementation
  117 +* 2005-09-12 - Removed xsl:key to be able to use the James Clark's XT engine on W3C web-site
  118 +* 2006-10-06 - Removed the Oliver Becker's method of conditional selection
  119 +* of a value in a single expression (in Xalan/XSLTC this hack does not work!)
  120 +* 2005-10-07 - Duplicated operations
  121 +* 2006-12-08 - Import element support
  122 +* 2006-12-14 - Displays all fault elements (not just the first one)
  123 +* 2006-12-28 - W3C replaced silently the James Clark's XT engine with Michael Kay's closed-source Saxon!
  124 +* wsdl-viewer.xsl will no longer support XT engine
  125 +* 2007-02-28 - Stack-overflow bug (if the XSD element @name and @type are identic)
  126 +* 2007-03-08 - 3.0.00 - New parsing, new layout
  127 +* 2007-03-28 - 3.0.01 - Fix: New anti-recursion defense (no error message by recursion
  128 +* because of dirty solution of namespace processing)
  129 +* - Added: variables at the top to turn on/off certain details
  130 +* 2007-03-29 - 3.0.02 - Layout clean-up for IE
  131 +* 2007-03-29 - 3.0.03 - Fix: Anti-recursion algorithm
  132 +* 2007-03-30 - 3.0.04 - Added: source code rendering of imported WSDL and XSD
  133 +* 2007-04-15 - 3.0.05 - Fix: Recursive calls in element type rendering
  134 +* - Fix: Rendering of messages (did not render the message types of complex types)
  135 +* - Fix: Links in src. by arrays
  136 +* - Fix: $binding-info
  137 +* 2007-04-15 - 3.0.06 - Added: Extended rendering control ENABLE-xxx parameters
  138 +* - Changed: Anti-recursion algorithm has recursion-depth parameter
  139 +* 2007-07-19 - 3.0.07 - Fix: Rendering of array type in detail
  140 +* 2007-08-01 - 3.0.08 - Fix: xsl:template name="render-type"
  141 +* Fix: typo - "Impotred WSDL" should be "Impotred WSDL"
  142 +* 2007-08-16 - 3.0.09 - Fix: xsl:template name="render-type" - anti recursion
  143 +* 2007-12-05 - 3.1.00 - Modularized
  144 +* 2007-12-23 - 3.1.01 - Terminating message by WS without interface or service definition was removed
  145 +* (seems to be a correct state)
  146 +* 2008-08-20 - 3.1.02 - Woden-214: Anti-recursion bypassed in xsd:choice element
  147 +* ====================================================================
  148 +-->
  149 +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  150 + xmlns="http://www.w3.org/1999/xhtml"
  151 + xmlns:ws="http://schemas.xmlsoap.org/wsdl/"
  152 + xmlns:ws2="http://www.w3.org/ns/wsdl"
  153 + xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  154 + xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
  155 + xmlns:local="http://tomi.vanek.sk/xml/wsdl-viewer"
  156 + version="1.0"
  157 + exclude-result-prefixes="ws ws2 xsd soap local">
  158 +
  159 + <xsl:output method="xml" version="1.0" encoding="utf-8" indent="no"
  160 + omit-xml-declaration="no"
  161 + media-type="text/html"
  162 + doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
  163 + doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"/>
  164 +
  165 + <xsl:strip-space elements="*"/>
  166 +
  167 + <xsl:param name="wsdl-viewer.version">3.1.01</xsl:param>
  168 +
  169 +
  170 +
  171 + <!--
  172 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  173 + Begin of included transformation: wsdl-viewer-global.xsl
  174 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  175 +-->
  176 +<xsl:param name="ENABLE-SERVICE-PARAGRAPH" select="true()"/>
  177 + <xsl:param name="ENABLE-OPERATIONS-PARAGRAPH" select="true()"/>
  178 + <xsl:param name="ENABLE-SRC-CODE-PARAGRAPH" select="true()"/>
  179 + <xsl:param name="ENABLE-ABOUT-PARAGRAPH" select="true()"/>
  180 + <xsl:param name="ENABLE-OPERATIONS-TYPE" select="true()"/>
  181 + <xsl:param name="ENABLE-LINK" select="true()"/>
  182 + <xsl:param name="ENABLE-INOUTFAULT" select="true()"/>
  183 + <xsl:param name="ENABLE-STYLEOPTYPEPATH" select="true()"/>
  184 + <xsl:param name="ENABLE-DESCRIPTION" select="true()"/>
  185 + <xsl:param name="ENABLE-PORTTYPE-NAME" select="true()"/>
  186 + <xsl:param name="ENABLE-ANTIRECURSION-PROTECTION" select="true()"/>
  187 + <xsl:param name="ANTIRECURSION-DEPTH">3</xsl:param>
  188 + <xsl:variable name="GENERATED-BY">Generated by wsdl-viewer.xsl</xsl:variable>
  189 + <xsl:variable name="PORT-TYPE-TEXT">Port type</xsl:variable>
  190 + <xsl:variable name="IFACE-TEXT">Interface</xsl:variable>
  191 + <xsl:variable name="SOURCE-CODE-TEXT">Source code</xsl:variable>
  192 + <xsl:variable name="RECURSIVE"> ... is recursive</xsl:variable>
  193 + <xsl:variable name="SRC-PREFIX">src.</xsl:variable>
  194 + <xsl:variable name="SRC-FILE-PREFIX">src.file.</xsl:variable>
  195 + <xsl:variable name="OPERATIONS-PREFIX">op.</xsl:variable>
  196 + <xsl:variable name="PORT-PREFIX">port.</xsl:variable>
  197 + <xsl:variable name="IFACE-PREFIX">iface.</xsl:variable>
  198 + <xsl:variable name="global.wsdl-name"
  199 + select="/*/*[(local-name() = 'import' or local-name() = 'include') and @location][1]/@location"/>
  200 + <xsl:variable name="consolidated-wsdl" select="/* | document($global.wsdl-name)/*"/>
  201 + <xsl:variable name="global.xsd-name"
  202 + select="($consolidated-wsdl/*[local-name() = 'types']//xsd:import[@schemaLocation] | $consolidated-wsdl/*[local-name() = 'types']//xsd:include[@schemaLocation])[1]/@schemaLocation"/>
  203 + <xsl:variable name="consolidated-xsd"
  204 + select="(document($global.xsd-name)/xsd:schema/xsd:*|/*/*[local-name() = 'types']/xsd:schema/xsd:*)[local-name() = 'complexType' or local-name() = 'element' or local-name() = 'simpleType']"/>
  205 + <xsl:variable name="global.service-name"
  206 + select="concat($consolidated-wsdl/ws:service/@name, $consolidated-wsdl/ws2:service/@name)"/>
  207 + <xsl:variable name="global.binding-name"
  208 + select="concat($consolidated-wsdl/ws:binding/@name, $consolidated-wsdl/ws2:binding/@name)"/>
  209 + <xsl:variable name="html-title">
  210 + <xsl:apply-templates select="/*" mode="html-title.render"/>
  211 + </xsl:variable>
  212 +
  213 + <!--
  214 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  215 + End of included transformation: wsdl-viewer-global.xsl
  216 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  217 +-->
  218 +
  219 +
  220 +
  221 +<!--
  222 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  223 + Begin of included transformation: wsdl-viewer-css.xsl
  224 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  225 +-->
  226 +<xsl:variable name="css">
  227 +
  228 +/**
  229 + wsdl-viewer.css
  230 +*/
  231 +
  232 +/**
  233 +=========================================
  234 + Body
  235 +=========================================
  236 +*/
  237 +html {
  238 + background-color: teal;
  239 +}
  240 +
  241 +body {
  242 + margin: 0;
  243 + padding: 0;
  244 + height: auto;
  245 + color: white;
  246 + background-color: teal;
  247 + font: normal 80%/120% Arial, Helvetica, sans-serif;
  248 +}
  249 +
  250 +#outer_box {
  251 + padding: 3px 3px 3px 194px;
  252 +}
  253 +
  254 +#inner_box {
  255 + width: auto;
  256 + background-color: white;
  257 + color: black;
  258 + border: 1px solid navy;
  259 +}
  260 +
  261 +/**
  262 +=========================================
  263 + Fixed box with links
  264 +=========================================
  265 +*/
  266 +#outer_links {
  267 + position: fixed;
  268 + left: 0px;
  269 + top: 0px;
  270 + margin: 3px;
  271 + padding: 1px;
  272 + z-index: 200;
  273 + width: 180px;
  274 + height: auto;
  275 + background-color: gainsboro;
  276 + padding-top: 2px;
  277 + border: 1px solid navy;
  278 +}
  279 +
  280 +* html #outer_links /* Override above rule for IE */
  281 +{
  282 + position: absolute;
  283 + width: 188px;
  284 + top: expression(offsetParent.scrollTop + 0);
  285 +}
  286 +
  287 +#links {
  288 + margin: 1px;
  289 + padding: 3px;
  290 + background-color: white;
  291 + height: 350px;
  292 + overflow: auto;
  293 + border: 1px solid navy;
  294 +}
  295 +
  296 +#links ul {
  297 + left: -999em;
  298 + list-style: none;
  299 + margin: 0;
  300 + padding: 0;
  301 + z-index: 100;
  302 +}
  303 +
  304 +#links li {
  305 + margin: 0;
  306 + padding: 2px 4px;
  307 + width: auto;
  308 + z-index: 100;
  309 +}
  310 +
  311 +#links ul li {
  312 + margin: 0;
  313 + padding: 2px 4px;
  314 + width: auto;
  315 + z-index: 100;
  316 +}
  317 +
  318 +#links a {
  319 + display: block;
  320 + padding: 0 2px;
  321 + color: blue;
  322 + width: auto;
  323 + border: 1px solid white;
  324 + text-decoration: none;
  325 + white-space: nowrap;
  326 +}
  327 +
  328 +#links a:hover {
  329 + color: white;
  330 + background-color: gray;
  331 + border: 1px solid gray;
  332 +}
  333 +
  334 +
  335 +/**
  336 +=========================================
  337 + Navigation tabs
  338 +=========================================
  339 +*/
  340 +
  341 +#outer_nav {
  342 + background-color: yellow;
  343 + padding: 0;
  344 + margin: 0;
  345 +}
  346 +
  347 +#nav {
  348 + height: 100%;
  349 + width: auto;
  350 + margin: 0;
  351 + padding: 0;
  352 + background-color: gainsboro;
  353 + border-top: 1px solid gray;
  354 + border-bottom: 3px solid gray;
  355 + z-index: 100;
  356 + font: bold 90%/120% Arial, Helvetica, sans-serif;
  357 + letter-spacing: 2px;
  358 +}
  359 +
  360 +#nav ul {
  361 + background-color: gainsboro;
  362 + height: auto;
  363 + width: auto;
  364 + list-style: none;
  365 + margin: 0;
  366 + padding: 0;
  367 + z-index: 100;
  368 +
  369 + border: 1px solid silver;
  370 + border-top-color: black;
  371 + border-width: 1px 0 9px;
  372 +}
  373 +
  374 +#nav li {
  375 + display: inline;
  376 + padding: 0;
  377 + margin: 0;
  378 +}
  379 +
  380 +#nav a {
  381 + position: relative;
  382 + top: 3px;
  383 + float:left;
  384 + width:auto;
  385 + padding: 8px 10px 6px 10px;
  386 + margin: 3px 3px 0;
  387 + border: 1px solid gray;
  388 + border-width: 2px 2px 3px 2px;
  389 +
  390 + color: black;
  391 + background-color: silver;
  392 + text-decoration:none;
  393 + text-transform: uppercase;
  394 +}
  395 +
  396 +#nav a:hover {
  397 + margin-top: 1px;
  398 + padding-top: 9px;
  399 + padding-bottom: 7px;
  400 + color: blue;
  401 + background-color: gainsboro;
  402 +}
  403 +
  404 +#nav a.current:link,
  405 +#nav a.current:visited,
  406 +#nav a.current:hover {
  407 + background: white;
  408 + color: black;
  409 + text-shadow:none;
  410 + margin-top: 0;
  411 + padding-top: 11px;
  412 + padding-bottom: 9px;
  413 + border-bottom-width: 0;
  414 + border-color: red;
  415 +}
  416 +
  417 +#nav a:active {
  418 + background-color: silver;
  419 + color: white;
  420 +}
  421 +
  422 +
  423 +
  424 +/**
  425 +=========================================
  426 + Content
  427 +=========================================
  428 +*/
  429 +#header {
  430 + margin: 0;
  431 + padding: .5em 4em;
  432 + color: white;
  433 + background-color: red;
  434 + border: 1px solid darkred;
  435 +}
  436 +
  437 +#content {
  438 + margin: 0;
  439 + padding: 0 2em .5em;
  440 +}
  441 +
  442 +#footer {
  443 + clear: both;
  444 + margin: 0;
  445 + padding: .5em 2em;
  446 + color: gray;
  447 + background-color: gainsboro;
  448 + font-size: 80%;
  449 + border-top: 1px dotted gray;
  450 + text-align: right
  451 +}
  452 +
  453 +.single_column {
  454 + padding: 10px 10px 10px 10px;
  455 + /*margin: 0px 33% 0px 0px; */
  456 + margin: 3px 0;
  457 +}
  458 +
  459 +#flexi_column {
  460 + padding: 10px 10px 10px 10px;
  461 + /*margin: 0px 33% 0px 0px; */
  462 + margin: 0px 212px 0px 0px;
  463 +}
  464 +
  465 +#fix_column {
  466 + float: right;
  467 + padding: 10px 10px 10px 10px;
  468 + margin: 0px;
  469 + width: 205px;
  470 + /*width: 30%; */
  471 + voice-family: "\"}\"";
  472 + voice-family:inherit;
  473 + /* width: 30%; */
  474 + width: 205px;
  475 +}
  476 +html&gt;body #rightColumn {
  477 + width: 205px; /* ie5win fudge ends */
  478 +} /* Opera5.02 shows a 2px gap between. N6.01Win sometimes does.
  479 + Depends on amount of fill and window size and wind direction. */
  480 +
  481 +/**
  482 +=========================================
  483 + Label / value
  484 +=========================================
  485 +*/
  486 +
  487 +.page {
  488 + border-bottom: 3px dotted navy;
  489 + margin: 0;
  490 + padding: 10px 0 20px 0;
  491 +}
  492 +
  493 +.value, .label {
  494 + margin: 0;
  495 + padding: 0;
  496 +}
  497 +
  498 +.label {
  499 + float: left;
  500 + width: 140px;
  501 + text-align: right;
  502 + font-weight: bold;
  503 + padding-bottom: .5em;
  504 + margin-right: 0;
  505 + color: darkblue;
  506 +}
  507 +
  508 +.value {
  509 + margin-left: 147px;
  510 + color: darkblue;
  511 + padding-bottom: .5em;
  512 +}
  513 +
  514 +strong, strong a {
  515 + color: darkblue;
  516 + font-weight: bold;
  517 + letter-spacing: 1px;
  518 + margin-left: 2px;
  519 +}
  520 +
  521 +
  522 +/**
  523 +=========================================
  524 + Links
  525 +=========================================
  526 +*/
  527 +
  528 +a.local:link,
  529 +a.local:visited {
  530 + color: blue;
  531 + margin-left: 10px;
  532 + border-bottom: 1px dotted blue;
  533 + text-decoration: none;
  534 + font-style: italic;
  535 +}
  536 +
  537 +a.local:hover {
  538 + background-color: gainsboro;
  539 + color: darkblue;
  540 + padding-bottom: 1px;
  541 + border-bottom: 1px solid darkblue;
  542 +}
  543 +
  544 +a.target:link,
  545 +a.target:visited,
  546 +a.target:hover
  547 +{
  548 + text-decoration: none;
  549 + background-color: transparent;
  550 + border-bottom-type: none;
  551 +}
  552 +
  553 +/**
  554 +=========================================
  555 + Box, Shadow
  556 +=========================================
  557 +*/
  558 +
  559 +.box {
  560 + padding: 6px;
  561 + color: black;
  562 + background-color: gainsboro;
  563 + border: 1px solid gray;
  564 +}
  565 +
  566 +.shadow {
  567 + background: silver;
  568 + position: relative;
  569 + top: 5px;
  570 + left: 4px;
  571 +}
  572 +
  573 +.shadow div {
  574 + position: relative;
  575 + top: -5px;
  576 + left: -4px;
  577 +}
  578 +
  579 +/**
  580 +=========================================
  581 + Floatcontainer
  582 +=========================================
  583 +*/
  584 +
  585 +.spacer
  586 +{
  587 + display: block;
  588 + height: 0;
  589 + font-size: 0;
  590 + line-height: 0;
  591 + margin: 0;
  592 + padding: 0;
  593 + border-style: none;
  594 + clear: both;
  595 + visibility:hidden;
  596 +}
  597 +
  598 +.floatcontainer:after {
  599 + content: ".";
  600 + display: block;
  601 + height: 0;
  602 + font-size:0;
  603 + clear: both;
  604 + visibility:hidden;
  605 +}
  606 +.floatcontainer{
  607 + display: inline-table;
  608 +} /* Mark Hadley's fix for IE Mac */ /* Hides from IE Mac \*/ *
  609 +html .floatcontainer {
  610 + height: 1%;
  611 +}
  612 +.floatcontainer{
  613 + display:block;
  614 +} /* End Hack
  615 +*/
  616 +
  617 +/**
  618 +=========================================
  619 + Source code
  620 +=========================================
  621 +*/
  622 +
  623 +.indent {
  624 + margin: 2px 0 2px 20px;
  625 +}
  626 +
  627 +.xml-element, .xml-proc, .xml-comment {
  628 + margin: 2px 0;
  629 + padding: 2px 0 2px 0;
  630 +}
  631 +
  632 +.xml-element {
  633 + word-spacing: 3px;
  634 + color: red;
  635 + font-weight: bold;
  636 + font-style:normal;
  637 + border-left: 1px dotted silver;
  638 +}
  639 +
  640 +.xml-element div {
  641 + margin: 2px 0 2px 40px;
  642 +}
  643 +
  644 +.xml-att {
  645 + color: blue;
  646 + font-weight: bold;
  647 +}
  648 +
  649 +.xml-att-val {
  650 + color: blue;
  651 + font-weight: normal;
  652 +}
  653 +
  654 +.xml-proc {
  655 + color: darkred;
  656 + font-weight: normal;
  657 + font-style: italic;
  658 +}
  659 +
  660 +.xml-comment {
  661 + color: green;
  662 + font-weight: normal;
  663 + font-style: italic;
  664 +}
  665 +
  666 +.xml-text {
  667 + color: green;
  668 + font-weight: normal;
  669 + font-style: normal;
  670 +}
  671 +
  672 +
  673 +/**
  674 +=========================================
  675 + Heading
  676 +=========================================
  677 +*/
  678 +h1, h2, h3 {
  679 + margin: 10px 10px 2px;
  680 + font-family: Georgia, Times New Roman, Times, Serif;
  681 + font-weight: normal;
  682 + }
  683 +
  684 +h1 {
  685 + font-weight: bold;
  686 + letter-spacing: 3px;
  687 + font-size: 220%;
  688 + line-height: 100%;
  689 +}
  690 +
  691 +h2 {
  692 + font-weight: bold;
  693 + font-size: 175%;
  694 + line-height: 200%;
  695 +}
  696 +
  697 +h3 {
  698 + font-size: 150%;
  699 + line-height: 150%;
  700 + font-style: italic;
  701 +}
  702 +
  703 +/**
  704 +=========================================
  705 + Content formatting
  706 +=========================================
  707 +*/
  708 +.port {
  709 + margin-bottom: 10px;
  710 + padding-bottom: 10px;
  711 + border-bottom: 1px dashed gray;
  712 +}
  713 +
  714 +.operation {
  715 + margin-bottom: 20px;
  716 + padding-bottom: 10px;
  717 + border-bottom: 1px dashed gray;
  718 +}
  719 +
  720 +
  721 +/* --------------------------------------------------------
  722 + Printing
  723 +*/
  724 +
  725 +/*
  726 +@media print
  727 +{
  728 + #outer_links, #outer_nav {
  729 + display: none;
  730 + }
  731 +*/
  732 +
  733 + #outer_box {
  734 + padding: 3px;
  735 + }
  736 +/* END print media definition
  737 +}
  738 +*/
  739 +
  740 +</xsl:variable>
  741 +
  742 + <!--
  743 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  744 + End of included transformation: wsdl-viewer-css.xsl
  745 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  746 +-->
  747 +
  748 +
  749 +
  750 +
  751 +<!--
  752 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  753 + Begin of included transformation: wsdl-viewer-util.xsl
  754 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  755 +-->
  756 +<xsl:template match="@*" mode="qname.normalized">
  757 + <xsl:variable name="local" select="substring-after(., ':')"/>
  758 + <xsl:choose>
  759 + <xsl:when test="$local">
  760 + <xsl:value-of select="$local"/>
  761 + </xsl:when>
  762 + <xsl:otherwise>
  763 + <xsl:value-of select="."/>
  764 + </xsl:otherwise>
  765 + </xsl:choose>
  766 + </xsl:template>
  767 + <xsl:template match="ws:definitions | ws2:description" mode="html-title.render">
  768 + <xsl:choose>
  769 + <xsl:when test="$global.service-name">
  770 + <xsl:value-of select="concat('Web Service: ', $global.service-name)"/>
  771 + </xsl:when>
  772 + <xsl:when test="$global.binding-name">
  773 + <xsl:value-of select="concat('WS Binding: ', $global.binding-name)"/>
  774 + </xsl:when>
  775 + <xsl:when test="ws2:interface/@name">
  776 + <xsl:value-of select="concat('WS Interface: ', ws2:interface/@name)"/>
  777 + </xsl:when>
  778 + <xsl:otherwise>Web Service Fragment</xsl:otherwise>
  779 + <!-- <xsl:otherwise><xsl:message terminate="yes">Syntax error in element <xsl:call-template name="src.syntax-error.path"/></xsl:message>
  780 + </xsl:otherwise>
  781 +-->
  782 + </xsl:choose>
  783 + </xsl:template>
  784 + <xsl:template name="src.syntax-error">
  785 + <xsl:message terminate="yes">Syntax error by WSDL source rendering in element <xsl:call-template name="src.syntax-error.path"/>
  786 + </xsl:message>
  787 + </xsl:template>
  788 + <xsl:template name="src.syntax-error.path">
  789 + <xsl:for-each select="parent::*">
  790 + <xsl:call-template name="src.syntax-error.path"/>
  791 + </xsl:for-each>
  792 + <xsl:value-of select="concat('/', name(), '[', position(), ']')"/>
  793 + </xsl:template>
  794 + <xsl:template match="*[local-name(.) = 'documentation']" mode="documentation.render">
  795 + <xsl:if test="$ENABLE-DESCRIPTION and string-length(.) &gt; 0">
  796 + <div class="label">Description:</div>
  797 + <div class="value">
  798 + <xsl:value-of select="." disable-output-escaping="yes"/>
  799 + </div>
  800 + </xsl:if>
  801 + </xsl:template>
  802 + <xsl:template name="render.source-code-link">
  803 + <xsl:if test="$ENABLE-SRC-CODE-PARAGRAPH and $ENABLE-LINK">
  804 + <a class="local" href="{concat('#', $SRC-PREFIX, generate-id(.))}">
  805 + <xsl:value-of select="$SOURCE-CODE-TEXT"/>
  806 + </a>
  807 + </xsl:if>
  808 + </xsl:template>
  809 + <xsl:template name="about.detail">
  810 + <xsl:param name="version"/>
  811 + <div>
  812 + This page has been generated by <big>wsdl-viewer.xsl</big>, version <xsl:value-of select="$version"/>
  813 + <br/>
  814 + Author: <a href="http://tomi.vanek.sk/">tomi vanek</a>
  815 + <br/>
  816 + Download at <a href="http://tomi.vanek.sk/xml/wsdl-viewer.xsl">http://tomi.vanek.sk/xml/wsdl-viewer.xsl</a>.<br/>
  817 + <br/>
  818 + The transformation was inspired by the article<br/>
  819 + Uche Ogbuji: <a href="http://www-106.ibm.com/developerworks/library/ws-trans/index.html">WSDL processing with XSLT</a>
  820 + <br/>
  821 + </div>
  822 + </xsl:template>
  823 + <xsl:template name="processor-info.render">
  824 + <xsl:text>
  825 +</xsl:text>
  826 + <xsl:text>This document was generated by </xsl:text>
  827 + <a href="{system-property('xsl:vendor-url')}">
  828 + <xsl:value-of select="system-property('xsl:vendor')"/>
  829 + </a>
  830 + <xsl:text> XSLT engine.
  831 +</xsl:text>
  832 +
  833 + <xsl:text>The engine processed the WSDL in XSLT </xsl:text>
  834 + <xsl:value-of select="format-number(system-property('xsl:version'), '#.0')"/>
  835 + <xsl:text> compliant mode.
  836 +</xsl:text>
  837 +
  838 + </xsl:template>
  839 +
  840 + <!--
  841 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  842 + End of included transformation: wsdl-viewer-util.xsl
  843 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  844 +-->
  845 +
  846 +
  847 +
  848 +<!--
  849 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  850 + Begin of included transformation: wsdl-viewer-service.xsl
  851 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  852 +-->
  853 +<xsl:template match="ws:service|ws2:service" mode="service-start">
  854 + <div class="indent">
  855 + <div class="label">Target Namespace:</div>
  856 + <div class="value">
  857 + <xsl:value-of select="$consolidated-wsdl/@targetNamespace"/>
  858 + </div>
  859 + <xsl:apply-templates select="*[local-name(.) = 'documentation']" mode="documentation.render"/>
  860 + <xsl:apply-templates select="ws:port|ws2:endpoint" mode="service"/>
  861 + </div>
  862 + </xsl:template>
  863 + <xsl:template match="ws2:endpoint" mode="service">
  864 + <xsl:variable name="binding-name">
  865 + <xsl:apply-templates select="@binding" mode="qname.normalized"/>
  866 + </xsl:variable>
  867 + <xsl:variable name="binding" select="$consolidated-wsdl/ws2:binding[@name = $binding-name]"/>
  868 +
  869 + <xsl:variable name="binding-type" select="$binding/@type"/>
  870 + <xsl:variable name="binding-protocol" select="$binding/@*[local-name() = 'protocol']"/>
  871 + <xsl:variable name="protocol">
  872 + <xsl:choose>
  873 + <xsl:when test="starts-with($binding-type, 'http://schemas.xmlsoap.org/wsdl/soap')">SOAP 1.1</xsl:when>
  874 + <xsl:when test="starts-with($binding-type, 'http://www.w3.org/2005/08/wsdl/soap')">SOAP 1.2</xsl:when>
  875 + <xsl:when test="starts-with($binding-type, 'http://schemas.xmlsoap.org/wsdl/mime')">MIME</xsl:when>
  876 + <xsl:when test="starts-with($binding-type, 'http://schemas.xmlsoap.org/wsdl/http')">HTTP</xsl:when>
  877 + <xsl:otherwise>Unknown</xsl:otherwise>
  878 + </xsl:choose>
  879 +
  880 + <!-- TODO: Add all bindings to transport protocols -->
  881 + <xsl:choose>
  882 + <xsl:when test="starts-with($binding-protocol, 'http://www.w3.org/2003/05/soap/bindings/HTTP')"> over HTTP</xsl:when>
  883 + <xsl:otherwise/>
  884 + </xsl:choose>
  885 + </xsl:variable>
  886 +
  887 + <div class="label">Location:</div>
  888 + <div class="value">
  889 + <xsl:value-of select="@address"/>
  890 + </div>
  891 +
  892 + <div class="label">Protocol:</div>
  893 + <div class="value">
  894 + <xsl:value-of select="$protocol"/>
  895 + </div>
  896 +
  897 + <xsl:apply-templates select="$binding" mode="service"/>
  898 +
  899 + <xsl:variable name="iface-name">
  900 + <xsl:apply-templates select="../@interface" mode="qname.normalized"/>
  901 + </xsl:variable>
  902 + <xsl:apply-templates select="$consolidated-wsdl/ws2:interface[@name = $iface-name]" mode="service"/>
  903 +
  904 + </xsl:template>
  905 + <xsl:template match="ws2:interface" mode="service">
  906 + <h3>Interface <b>
  907 + <xsl:value-of select="@name"/>
  908 + </b>
  909 + <xsl:if test="$ENABLE-LINK">
  910 + <xsl:text> </xsl:text>
  911 + <small>
  912 + <xsl:if test="$ENABLE-OPERATIONS-PARAGRAPH">
  913 + <a class="local" href="#{concat($PORT-PREFIX, generate-id(.))}">
  914 + <xsl:value-of select="$PORT-TYPE-TEXT"/>
  915 + </a>
  916 + </xsl:if>
  917 + <xsl:call-template name="render.source-code-link"/>
  918 + </small>
  919 + </xsl:if>
  920 + </h3>
  921 +
  922 + <xsl:variable name="base-iface-name">
  923 + <xsl:apply-templates select="@extends" mode="qname.normalized"/>
  924 + </xsl:variable>
  925 +
  926 + <xsl:if test="$base-iface-name">
  927 + <div class="label">Extends: </div>
  928 + <div class="value">
  929 + <xsl:value-of select="$base-iface-name"/>
  930 + </div>
  931 + </xsl:if>
  932 +
  933 + <xsl:variable name="base-iface"
  934 + select="$consolidated-wsdl/ws2:interface[@name = $base-iface-name]"/>
  935 +
  936 + <div class="label">Operations:</div>
  937 + <div class="value">
  938 + <xsl:text>
  939 +</xsl:text>
  940 + <ol style="line-height: 180%;">
  941 + <xsl:apply-templates select="$base-iface/ws2:operation | ws2:operation" mode="service">
  942 + <xsl:sort select="@name"/>
  943 + </xsl:apply-templates>
  944 + </ol>
  945 + </div>
  946 + </xsl:template>
  947 + <xsl:template match="ws:port" mode="service">
  948 + <xsl:variable name="binding-name">
  949 + <xsl:apply-templates select="@binding" mode="qname.normalized"/>
  950 + </xsl:variable>
  951 + <xsl:variable name="binding" select="$consolidated-wsdl/ws:binding[@name = $binding-name]"/>
  952 +
  953 + <xsl:variable name="binding-uri"
  954 + select="namespace-uri( $binding/*[local-name() = 'binding'] )"/>
  955 + <xsl:variable name="protocol">
  956 + <xsl:choose>
  957 + <xsl:when test="starts-with($binding-uri, 'http://schemas.xmlsoap.org/wsdl/soap')">SOAP</xsl:when>
  958 + <xsl:when test="starts-with($binding-uri, 'http://schemas.xmlsoap.org/wsdl/mime')">MIME</xsl:when>
  959 + <xsl:when test="starts-with($binding-uri, 'http://schemas.xmlsoap.org/wsdl/http')">HTTP</xsl:when>
  960 + <xsl:otherwise>unknown</xsl:otherwise>
  961 + </xsl:choose>
  962 + </xsl:variable>
  963 +
  964 + <xsl:variable name="port-type-name">
  965 + <xsl:apply-templates select="$binding/@type" mode="qname.normalized"/>
  966 + </xsl:variable>
  967 +
  968 + <xsl:variable name="port-type"
  969 + select="$consolidated-wsdl/ws:portType[@name = $port-type-name]"/>
  970 +
  971 +
  972 + <h3>Port <b>
  973 + <xsl:value-of select="@name"/>
  974 + </b>
  975 + <xsl:if test="$ENABLE-LINK">
  976 + <xsl:text> </xsl:text>
  977 + <small>
  978 + <xsl:if test="$ENABLE-OPERATIONS-PARAGRAPH">
  979 + <a class="local" href="#{concat($PORT-PREFIX, generate-id($port-type))}">
  980 + <xsl:value-of select="$PORT-TYPE-TEXT"/>
  981 + </a>
  982 + </xsl:if>
  983 + <xsl:call-template name="render.source-code-link"/>
  984 + </small>
  985 + </xsl:if>
  986 + </h3>
  987 +
  988 + <div class="label">Location:</div>
  989 + <div class="value">
  990 + <xsl:value-of select="*[local-name() = 'address']/@location"/>
  991 + </div>
  992 +
  993 + <div class="label">Protocol:</div>
  994 + <div class="value">
  995 + <xsl:value-of select="$protocol"/>
  996 + </div>
  997 +
  998 + <xsl:apply-templates select="$binding" mode="service"/>
  999 +
  1000 + <div class="label">Operations:</div>
  1001 + <div class="value">
  1002 + <xsl:text>
  1003 +</xsl:text>
  1004 + <ol style="line-height: 180%;">
  1005 + <xsl:apply-templates select="$consolidated-wsdl/ws:portType[@name = $port-type-name]/ws:operation"
  1006 + mode="service">
  1007 + <xsl:sort select="@name"/>
  1008 + </xsl:apply-templates>
  1009 + </ol>
  1010 + </div>
  1011 + </xsl:template>
  1012 + <xsl:template match="ws:operation|ws2:operation" mode="service">
  1013 + <li>
  1014 + <big>
  1015 + <i>
  1016 + <xsl:value-of select="@name"/>
  1017 + </i>
  1018 + </big>
  1019 + <xsl:if test="$ENABLE-LINK">
  1020 + <xsl:if test="$ENABLE-OPERATIONS-PARAGRAPH">
  1021 + <a class="local" href="{concat('#', $OPERATIONS-PREFIX, generate-id(.))}">Detail</a>
  1022 + </xsl:if>
  1023 + <xsl:call-template name="render.source-code-link"/>
  1024 + </xsl:if>
  1025 + </li>
  1026 + </xsl:template>
  1027 + <xsl:template match="ws:binding|ws2:binding" mode="service">
  1028 + <xsl:variable name="real-binding" select="*[local-name() = 'binding']|self::ws2:*"/>
  1029 +
  1030 + <xsl:if test="$real-binding/@style">
  1031 + <div class="label">Default style:</div>
  1032 + <div class="value">
  1033 + <xsl:value-of select="$real-binding/@style"/>
  1034 + </div>
  1035 + </xsl:if>
  1036 +
  1037 +
  1038 + <xsl:if test="$real-binding/@transport|$real-binding/*[local-name() = 'protocol']">
  1039 + <xsl:variable name="protocol"
  1040 + select="concat($real-binding/@transport, $real-binding/*[local-name() = 'protocol'])"/>
  1041 + <div class="label">Transport protocol:</div>
  1042 + <div class="value">
  1043 + <xsl:choose>
  1044 + <xsl:when test="$protocol = 'http://schemas.xmlsoap.org/soap/http'">SOAP over HTTP</xsl:when>
  1045 + <xsl:otherwise>
  1046 + <xsl:value-of select="$protocol"/>
  1047 + </xsl:otherwise>
  1048 + </xsl:choose>
  1049 + </div>
  1050 + </xsl:if>
  1051 +
  1052 + <xsl:if test="$real-binding/@verb">
  1053 + <div class="label">Default method:</div>
  1054 + <div class="value">
  1055 + <xsl:value-of select="$real-binding/@verb"/>
  1056 + </div>
  1057 + </xsl:if>
  1058 + </xsl:template>
  1059 +
  1060 + <!--
  1061 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  1062 + End of included transformation: wsdl-viewer-service.xsl
  1063 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  1064 +-->
  1065 +
  1066 +
  1067 +
  1068 +<!--
  1069 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  1070 + Begin of included transformation: wsdl-viewer-operations.xsl
  1071 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  1072 +-->
  1073 +<xsl:template match="ws2:interface" mode="operations">
  1074 + <xsl:if test="$ENABLE-PORTTYPE-NAME">
  1075 + <h3>
  1076 + <a name="{concat($IFACE-PREFIX, generate-id(.))}">
  1077 + <xsl:value-of select="$IFACE-TEXT"/>
  1078 + <xsl:text>
  1079 +</xsl:text>
  1080 + <b>
  1081 + <xsl:value-of select="@name"/>
  1082 + </b>
  1083 + </a>
  1084 + <xsl:call-template name="render.source-code-link"/>
  1085 + </h3>
  1086 + </xsl:if>
  1087 +
  1088 + <ol>
  1089 + <xsl:apply-templates select="ws2:operation" mode="operations">
  1090 + <xsl:sort select="@name"/>
  1091 + </xsl:apply-templates>
  1092 + </ol>
  1093 + </xsl:template>
  1094 + <xsl:template match="ws2:operation" mode="operations">
  1095 + <xsl:variable name="binding-info"
  1096 + select="$consolidated-wsdl/ws2:binding[@interface = current()/../@name or substring-after(@interface, ':') = current()/../@name]/ws2:operation[@ref = current()/@name or substring-after(@ref, ':') = current()/@name]"/>
  1097 + <li>
  1098 + <xsl:if test="position() != last()">
  1099 + <xsl:attribute name="class">operation</xsl:attribute>
  1100 + </xsl:if>
  1101 + <big>
  1102 + <b>
  1103 + <a name="{concat($OPERATIONS-PREFIX, generate-id(.))}">
  1104 + <xsl:value-of select="@name"/>
  1105 + </a>
  1106 + </b>
  1107 + </big>
  1108 + <div class="value">
  1109 + <xsl:text>
  1110 +</xsl:text>
  1111 + <xsl:call-template name="render.source-code-link"/>
  1112 + </div>
  1113 + <xsl:apply-templates select="ws2:documentation" mode="documentation.render"/>
  1114 +
  1115 + <xsl:if test="$ENABLE-STYLEOPTYPEPATH">
  1116 + <!-- TODO: add the operation attributes - according the WSDL 2.0 spec. -->
  1117 + </xsl:if>
  1118 + <xsl:apply-templates select="ws2:input|ws2:output|../ws2:fault[@name = ws2:infault/@ref or @name = ws2:outfault/@ref]"
  1119 + mode="operations.message">
  1120 + <xsl:with-param name="binding-data" select="$binding-info"/>
  1121 + </xsl:apply-templates>
  1122 + </li>
  1123 + </xsl:template>
  1124 + <xsl:template match="ws2:input|ws2:output|ws2:fault" mode="operations.message">
  1125 + <xsl:param name="binding-data"/>
  1126 + <xsl:if test="$ENABLE-INOUTFAULT">
  1127 + <div class="label">
  1128 + <xsl:value-of select="concat(translate(substring(local-name(.), 1, 1), 'abcdefghijklmnoprstuvwxyz', 'ABCDEFGHIJKLMNOPRSTUVWXYZ'), substring(local-name(.), 2), ':')"/>
  1129 + </div>
  1130 +
  1131 + <div class="value">
  1132 + <xsl:variable name="type-name">
  1133 + <xsl:apply-templates select="@element" mode="qname.normalized"/>
  1134 + </xsl:variable>
  1135 +
  1136 + <xsl:call-template name="render-type">
  1137 + <xsl:with-param name="type-local-name" select="$type-name"/>
  1138 + </xsl:call-template>
  1139 +
  1140 + <xsl:call-template name="render.source-code-link"/>
  1141 +
  1142 + <xsl:variable name="type-tree"
  1143 + select="$consolidated-xsd[@name = $type-name and not(xsd:simpleType)][1]"/>
  1144 + <xsl:apply-templates select="$type-tree" mode="operations.message.part"/>
  1145 + </div>
  1146 + </xsl:if>
  1147 + </xsl:template>
  1148 + <xsl:template match="ws:portType" mode="operations">
  1149 + <div>
  1150 + <xsl:if test="position() != last()">
  1151 + <xsl:attribute name="class">port</xsl:attribute>
  1152 + </xsl:if>
  1153 + <xsl:if test="$ENABLE-PORTTYPE-NAME">
  1154 + <h3>
  1155 + <a name="{concat($PORT-PREFIX, generate-id(.))}">
  1156 + <xsl:value-of select="$PORT-TYPE-TEXT"/>
  1157 + <xsl:text>
  1158 +</xsl:text>
  1159 + <b>
  1160 + <xsl:value-of select="@name"/>
  1161 + </b>
  1162 + </a>
  1163 + <xsl:call-template name="render.source-code-link"/>
  1164 + </h3>
  1165 + </xsl:if>
  1166 + <ol>
  1167 + <xsl:apply-templates select="ws:operation" mode="operations">
  1168 + <xsl:sort select="@name"/>
  1169 + </xsl:apply-templates>
  1170 + </ol>
  1171 + </div>
  1172 + </xsl:template>
  1173 + <xsl:template match="ws:operation" mode="operations">
  1174 + <xsl:variable name="binding-info"
  1175 + select="$consolidated-wsdl/ws:binding[@type = current()/../@name or substring-after(@type, ':') = current()/../@name]/ws:operation[@name = current()/@name]"/>
  1176 + <li>
  1177 + <xsl:if test="position() != last()">
  1178 + <xsl:attribute name="class">operation</xsl:attribute>
  1179 + </xsl:if>
  1180 + <big>
  1181 + <b>
  1182 + <a name="{concat($OPERATIONS-PREFIX, generate-id(.))}">
  1183 + <xsl:value-of select="@name"/>
  1184 + </a>
  1185 + </b>
  1186 + </big>
  1187 + <div class="value">
  1188 + <xsl:text>
  1189 +</xsl:text>
  1190 + <xsl:call-template name="render.source-code-link"/>
  1191 + </div>
  1192 +
  1193 + <xsl:if test="$ENABLE-DESCRIPTION and string-length(ws:documentation) &gt; 0">
  1194 + <div class="label">Description:</div>
  1195 + <div class="value">
  1196 + <xsl:value-of select="ws:documentation" disable-output-escaping="yes"/>
  1197 + </div>
  1198 + </xsl:if>
  1199 +
  1200 + <xsl:if test="$ENABLE-STYLEOPTYPEPATH">
  1201 + <xsl:variable name="binding-operation" select="$binding-info/*[local-name() = 'operation']"/>
  1202 + <xsl:if test="$binding-operation/@style">
  1203 + <div class="label">Style:</div>
  1204 + <div class="value">
  1205 + <xsl:value-of select="$binding-operation/@style"/>
  1206 + </div>
  1207 + </xsl:if>
  1208 +
  1209 + <div class="label">Operation type:</div>
  1210 + <div class="value">
  1211 + <xsl:choose>
  1212 + <xsl:when test="$binding-info/ws:input[not(../ws:output)]">
  1213 + <i>One-way.</i> The endpoint receives a message.</xsl:when>
  1214 + <xsl:when test="$binding-info/ws:input[following-sibling::ws:output]">
  1215 + <i>Request-response.</i> The endpoint receives a message, and sends a correlated message.</xsl:when>
  1216 + <xsl:when test="$binding-info/ws:input[preceding-sibling::ws:output]">
  1217 + <i>Solicit-response.</i> The endpoint sends a message, and receives a correlated message.</xsl:when>
  1218 + <xsl:when test="$binding-info/ws:output[not(../ws:input)]">
  1219 + <i>Notification.</i> The endpoint sends a message.</xsl:when>
  1220 + <xsl:otherwise>unknown</xsl:otherwise>
  1221 + </xsl:choose>
  1222 + </div>
  1223 +
  1224 + <xsl:if test="string-length($binding-operation/@soapAction) &gt; 0">
  1225 + <div class="label">SOAP action:</div>
  1226 + <div class="value">
  1227 + <xsl:value-of select="$binding-operation/@soapAction"/>
  1228 + </div>
  1229 + </xsl:if>
  1230 +
  1231 + <xsl:if test="$binding-operation/@location">
  1232 + <div class="label">HTTP path:</div>
  1233 + <div class="value">
  1234 + <xsl:value-of select="$binding-operation/@location"/>
  1235 + </div>
  1236 + </xsl:if>
  1237 + </xsl:if>
  1238 + <xsl:apply-templates select="ws:input|ws:output|ws:fault" mode="operations.message">
  1239 + <xsl:with-param name="binding-data" select="$binding-info"/>
  1240 + </xsl:apply-templates>
  1241 + </li>
  1242 + </xsl:template>
  1243 + <xsl:template match="ws:input|ws:output|ws:fault" mode="operations.message">
  1244 + <xsl:param name="binding-data"/>
  1245 + <xsl:if test="$ENABLE-INOUTFAULT">
  1246 + <div class="label">
  1247 + <xsl:value-of select="concat(translate(substring(local-name(.), 1, 1), 'abcdefghijklmnoprstuvwxyz', 'ABCDEFGHIJKLMNOPRSTUVWXYZ'), substring(local-name(.), 2), ':')"/>
  1248 + </div>
  1249 +
  1250 + <xsl:variable name="msg-local-name" select="substring-after(@message, ':')"/>
  1251 + <xsl:variable name="msg-name">
  1252 + <xsl:choose>
  1253 + <xsl:when test="$msg-local-name">
  1254 + <xsl:value-of select="$msg-local-name"/>
  1255 + </xsl:when>
  1256 + <xsl:otherwise>
  1257 + <xsl:value-of select="@message"/>
  1258 + </xsl:otherwise>
  1259 + </xsl:choose>
  1260 + </xsl:variable>
  1261 +
  1262 + <xsl:variable name="msg" select="$consolidated-wsdl/ws:message[@name = $msg-name]"/>
  1263 + <xsl:choose>
  1264 + <xsl:when test="$msg">
  1265 + <xsl:apply-templates select="$msg" mode="operations.message">
  1266 + <xsl:with-param name="binding-data"
  1267 + select="$binding-data/ws:*[local-name(.) = local-name(current())]/*"/>
  1268 + </xsl:apply-templates>
  1269 + </xsl:when>
  1270 + <xsl:otherwise>
  1271 + <div class="value">
  1272 + <i>none</i>
  1273 + </div>
  1274 + </xsl:otherwise>
  1275 + </xsl:choose>
  1276 + </xsl:if>
  1277 + </xsl:template>
  1278 + <xsl:template match="ws:message" mode="operations.message">
  1279 + <xsl:param name="binding-data"/>
  1280 + <div class="value">
  1281 + <xsl:value-of select="@name"/>
  1282 + <xsl:if test="$binding-data">
  1283 + <xsl:text> (</xsl:text>
  1284 + <xsl:value-of select="name($binding-data)"/>
  1285 + <xsl:variable name="use" select="$binding-data/@use"/>
  1286 + <xsl:if test="$use">
  1287 + <xsl:text>, use = </xsl:text>
  1288 + <xsl:value-of select="$use"/>
  1289 + </xsl:if>
  1290 + <xsl:variable name="part" select="$binding-data/@part"/>
  1291 + <xsl:if test="$part">
  1292 + <xsl:text>, part = </xsl:text>
  1293 + <xsl:value-of select="$part"/>
  1294 + </xsl:if>
  1295 + <xsl:text>)</xsl:text>
  1296 + </xsl:if>
  1297 + <xsl:call-template name="render.source-code-link"/>
  1298 + </div>
  1299 +
  1300 + <xsl:apply-templates select="ws:part" mode="operations.message"/>
  1301 + </xsl:template>
  1302 + <xsl:template match="ws:part" mode="operations.message">
  1303 + <div class="value box" style="margin-bottom: 3px">
  1304 + <xsl:choose>
  1305 + <xsl:when test="string-length(@name) &gt; 0">
  1306 + <b>
  1307 + <xsl:value-of select="@name"/>
  1308 + </b>
  1309 +
  1310 + <xsl:variable name="elem-or-type">
  1311 + <xsl:choose>
  1312 + <xsl:when test="@type">
  1313 + <xsl:value-of select="@type"/>
  1314 + </xsl:when>
  1315 + <xsl:otherwise>
  1316 + <xsl:value-of select="@element"/>
  1317 + </xsl:otherwise>
  1318 + </xsl:choose>
  1319 + </xsl:variable>
  1320 +
  1321 + <xsl:variable name="type-local-name" select="substring-after($elem-or-type, ':')"/>
  1322 + <xsl:variable name="type-name">
  1323 + <xsl:choose>
  1324 + <xsl:when test="$type-local-name">
  1325 + <xsl:value-of select="$type-local-name"/>
  1326 + </xsl:when>
  1327 + <xsl:when test="$elem-or-type">
  1328 + <xsl:value-of select="$elem-or-type"/>
  1329 + </xsl:when>
  1330 + <xsl:otherwise>unknown</xsl:otherwise>
  1331 + </xsl:choose>
  1332 + </xsl:variable>
  1333 +
  1334 + <xsl:call-template name="render-type">
  1335 + <xsl:with-param name="type-local-name" select="$type-name"/>
  1336 + </xsl:call-template>
  1337 +
  1338 + <xsl:variable name="part-type"
  1339 + select="$consolidated-xsd[@name = $type-name and not(xsd:simpleType)][1]"/>
  1340 + <xsl:apply-templates select="$part-type" mode="operations.message.part"/>
  1341 +
  1342 + </xsl:when>
  1343 + <xsl:otherwise>
  1344 + <i>none</i>
  1345 + </xsl:otherwise>
  1346 + </xsl:choose>
  1347 + </div>
  1348 + </xsl:template>
  1349 +
  1350 + <!--
  1351 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  1352 + End of included transformation: wsdl-viewer-operations.xsl
  1353 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  1354 +-->
  1355 +
  1356 +
  1357 +
  1358 +<!--
  1359 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  1360 + Begin of included transformation: wsdl-viewer-xsd-tree.xsl
  1361 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  1362 +-->
  1363 +<xsl:template match="xsd:simpleType" mode="operations.message.part"/>
  1364 + <xsl:template name="recursion.should.continue">
  1365 + <xsl:param name="anti.recursion"/>
  1366 + <xsl:param name="recursion.label"/>
  1367 + <xsl:param name="recursion.count">1</xsl:param>
  1368 + <xsl:variable name="has.recursion" select="contains($anti.recursion, $recursion.label)"/>
  1369 + <xsl:variable name="anti.recursion.fragment"
  1370 + select="substring-after($anti.recursion, $recursion.label)"/>
  1371 + <xsl:choose>
  1372 + <xsl:when test="$recursion.count &gt; $ANTIRECURSION-DEPTH"/>
  1373 +
  1374 + <xsl:when test="not($ENABLE-ANTIRECURSION-PROTECTION) or string-length($anti.recursion) = 0 or not($has.recursion)">
  1375 + <xsl:text>1</xsl:text>
  1376 + </xsl:when>
  1377 +
  1378 + <xsl:otherwise>
  1379 + <xsl:call-template name="recursion.should.continue">
  1380 + <xsl:with-param name="anti.recursion" select="$anti.recursion.fragment"/>
  1381 + <xsl:with-param name="recursion.label" select="$recursion.label"/>
  1382 + <xsl:with-param name="recursion.count" select="$recursion.count + 1"/>
  1383 + </xsl:call-template>
  1384 + </xsl:otherwise>
  1385 + </xsl:choose>
  1386 + </xsl:template>
  1387 + <xsl:template match="xsd:complexType" mode="operations.message.part">
  1388 + <xsl:param name="anti.recursion"/>
  1389 +
  1390 + <xsl:variable name="recursion.label" select="concat('[', @name, ']')"/>
  1391 + <xsl:variable name="recursion.test">
  1392 + <xsl:call-template name="recursion.should.continue">
  1393 + <xsl:with-param name="anti.recursion" select="$anti.recursion"/>
  1394 + <xsl:with-param name="recursion.label" select="$recursion.label"/>
  1395 + </xsl:call-template>
  1396 + </xsl:variable>
  1397 +
  1398 + <xsl:choose>
  1399 + <xsl:when test="string-length($recursion.test) != 0">
  1400 + <xsl:apply-templates select="*" mode="operations.message.part">
  1401 + <xsl:with-param name="anti.recursion" select="concat($anti.recursion, $recursion.label)"/>
  1402 + </xsl:apply-templates>
  1403 + </xsl:when>
  1404 + <xsl:otherwise>
  1405 + <small style="color:blue">
  1406 + <xsl:value-of select="$RECURSIVE"/>
  1407 + </small>
  1408 + </xsl:otherwise>
  1409 + </xsl:choose>
  1410 +
  1411 + </xsl:template>
  1412 + <xsl:template match="xsd:complexContent" mode="operations.message.part">
  1413 + <xsl:param name="anti.recursion"/>
  1414 +
  1415 + <xsl:apply-templates select="*" mode="operations.message.part">
  1416 + <xsl:with-param name="anti.recursion" select="$anti.recursion"/>
  1417 + </xsl:apply-templates>
  1418 + </xsl:template>
  1419 + <xsl:template match="xsd:complexType[descendant::xsd:attribute[ not(@*[local-name() = 'arrayType']) ]]"
  1420 + mode="operations.message.part">
  1421 + <xsl:param name="anti.recursion"/>
  1422 + <xsl:variable name="recursion.label" select="concat('[', @name, ']')"/>
  1423 + <xsl:variable name="recursion.test">
  1424 + <xsl:call-template name="recursion.should.continue">
  1425 + <xsl:with-param name="anti.recursion" select="$anti.recursion"/>
  1426 + <xsl:with-param name="recursion.label" select="$recursion.label"/>
  1427 + </xsl:call-template>
  1428 + </xsl:variable>
  1429 +
  1430 + <xsl:choose>
  1431 + <xsl:when test="string-length($recursion.test) != 0">
  1432 + <ul type="circle">
  1433 + <xsl:apply-templates select="*" mode="operations.message.part">
  1434 + <xsl:with-param name="anti.recursion" select="concat($anti.recursion, $recursion.label)"/>
  1435 + </xsl:apply-templates>
  1436 + </ul>
  1437 + </xsl:when>
  1438 + <xsl:otherwise>
  1439 + <small style="color:blue">
  1440 + <xsl:value-of select="$RECURSIVE"/>
  1441 + </small>
  1442 + </xsl:otherwise>
  1443 + </xsl:choose>
  1444 + </xsl:template>
  1445 + <xsl:template match="xsd:restriction | xsd:extension" mode="operations.message.part">
  1446 + <xsl:param name="anti.recursion"/>
  1447 + <xsl:variable name="type-local-name" select="substring-after(@base, ':')"/>
  1448 + <xsl:variable name="type-name">
  1449 + <xsl:choose>
  1450 + <xsl:when test="$type-local-name">
  1451 + <xsl:value-of select="$type-local-name"/>
  1452 + </xsl:when>
  1453 + <xsl:when test="@base">
  1454 + <xsl:value-of select="@base"/>
  1455 + </xsl:when>
  1456 + <xsl:otherwise>unknown type</xsl:otherwise>
  1457 + </xsl:choose>
  1458 + </xsl:variable>
  1459 + <xsl:variable name="base-type" select="$consolidated-xsd[@name = $type-name][1]"/>
  1460 + <!-- xsl:if test="not($type/@abstract)">
  1461 + <xsl:apply-templates select="$type"/>
  1462 + </xsl:if -->
  1463 + <xsl:if test="$base-type != 'Array'">
  1464 + <xsl:apply-templates select="$base-type" mode="operations.message.part">
  1465 + <xsl:with-param name="anti.recursion" select="$anti.recursion"/>
  1466 + </xsl:apply-templates>
  1467 + </xsl:if>
  1468 + <xsl:apply-templates select="*" mode="operations.message.part">
  1469 + <xsl:with-param name="anti.recursion" select="$anti.recursion"/>
  1470 + </xsl:apply-templates>
  1471 + </xsl:template>
  1472 + <xsl:template match="xsd:union" mode="operations.message.part">
  1473 + <xsl:call-template name="process-union">
  1474 + <xsl:with-param name="set" select="@memberTypes"/>
  1475 + </xsl:call-template>
  1476 + </xsl:template>
  1477 + <xsl:template name="process-union">
  1478 + <xsl:param name="set"/>
  1479 + <xsl:if test="$set">
  1480 + <xsl:variable name="item" select="substring-before($set, ' ')"/>
  1481 + <xsl:variable name="the-rest" select="substring-after($set, ' ')"/>
  1482 +
  1483 + <xsl:variable name="type-local-name" select="substring-after($item, ':')"/>
  1484 + <xsl:variable name="type-name">
  1485 + <xsl:choose>
  1486 + <xsl:when test="$type-local-name">
  1487 + <xsl:value-of select="$type-local-name"/>
  1488 + </xsl:when>
  1489 + <xsl:otherwise>
  1490 + <xsl:value-of select="$item"/>
  1491 + </xsl:otherwise>
  1492 + </xsl:choose>
  1493 + </xsl:variable>
  1494 +
  1495 + <xsl:call-template name="render-type">
  1496 + <xsl:with-param name="type-local-name" select="$type-name"/>
  1497 + </xsl:call-template>
  1498 +
  1499 + <xsl:call-template name="process-union">
  1500 + <xsl:with-param name="set" select="$the-rest"/>
  1501 + </xsl:call-template>
  1502 + </xsl:if>
  1503 + </xsl:template>
  1504 + <xsl:template match="xsd:sequence" mode="operations.message.part">
  1505 + <xsl:param name="anti.recursion"/>
  1506 + <ul type="square">
  1507 + <xsl:apply-templates select="*" mode="operations.message.part">
  1508 + <xsl:with-param name="anti.recursion" select="$anti.recursion"/>
  1509 + </xsl:apply-templates>
  1510 + </ul>
  1511 + </xsl:template>
  1512 + <xsl:template match="xsd:all|xsd:any|xsd:choice" mode="operations.message.part">
  1513 + <xsl:param name="anti.recursion"/>
  1514 + <xsl:variable name="list-type">
  1515 + <xsl:choose>
  1516 + <xsl:when test="self::xsd:all">disc</xsl:when>
  1517 + <xsl:when test="self::xsd:any">circle</xsl:when>
  1518 + <xsl:otherwise>square</xsl:otherwise>
  1519 + </xsl:choose>
  1520 + </xsl:variable>
  1521 +
  1522 + <xsl:element name="ul">
  1523 + <xsl:attribute name="style">
  1524 + <xsl:value-of select="concat('list-style-type:', $list-type)"/>
  1525 + </xsl:attribute>
  1526 + <xsl:apply-templates select="*" mode="operations.message.part">
  1527 + <xsl:with-param name="anti.recursion" select="$anti.recursion"/>
  1528 + </xsl:apply-templates>
  1529 + </xsl:element>
  1530 + </xsl:template>
  1531 + <xsl:template match="xsd:element[parent::xsd:schema]" mode="operations.message.part">
  1532 + <xsl:param name="anti.recursion"/>
  1533 + <xsl:variable name="recursion.label" select="concat('[', @name, ']')"/>
  1534 + <xsl:variable name="recursion.test">
  1535 + <xsl:call-template name="recursion.should.continue">
  1536 + <xsl:with-param name="anti.recursion" select="$anti.recursion"/>
  1537 + <xsl:with-param name="recursion.label" select="$recursion.label"/>
  1538 + </xsl:call-template>
  1539 + </xsl:variable>
  1540 +
  1541 + <xsl:choose>
  1542 + <xsl:when test="string-length($recursion.test) != 0">
  1543 + <xsl:variable name="type-name">
  1544 + <xsl:call-template name="xsd.element-type"/>
  1545 + </xsl:variable>
  1546 + <xsl:variable name="elem-type"
  1547 + select="$consolidated-xsd[generate-id() != generate-id(current()) and $type-name and @name=$type-name and contains(local-name(), 'Type')][1]"/>
  1548 +
  1549 + <xsl:if test="$type-name != @name">
  1550 + <xsl:apply-templates select="$elem-type" mode="operations.message.part">
  1551 + <xsl:with-param name="anti.recursion" select="concat($anti.recursion, $recursion.label)"/>
  1552 + </xsl:apply-templates>
  1553 +
  1554 + <xsl:if test="not($elem-type)">
  1555 + <xsl:call-template name="render-type">
  1556 + <xsl:with-param name="type-local-name" select="$type-name"/>
  1557 + </xsl:call-template>
  1558 + </xsl:if>
  1559 +
  1560 + <xsl:apply-templates select="*" mode="operations.message.part">
  1561 + <xsl:with-param name="anti.recursion" select="concat($anti.recursion, $recursion.label)"/>
  1562 + </xsl:apply-templates>
  1563 + </xsl:if>
  1564 + </xsl:when>
  1565 + <xsl:otherwise>
  1566 + <small style="color:blue">
  1567 + <xsl:value-of select="$RECURSIVE"/>
  1568 + </small>
  1569 + </xsl:otherwise>
  1570 + </xsl:choose>
  1571 +
  1572 + </xsl:template>
  1573 + <xsl:template match="xsd:element | xsd:attribute" mode="operations.message.part">
  1574 + <xsl:param name="anti.recursion"/>
  1575 + <!--
  1576 + <xsl:variable name="recursion.label" select="concat('[', @name, ']')"/>
  1577 +-->
  1578 + <li>
  1579 + <xsl:variable name="local-ref" select="concat(@name, substring-after(@ref, ':'))"/>
  1580 + <xsl:variable name="elem-name">
  1581 + <xsl:choose>
  1582 + <xsl:when test="@name">
  1583 + <xsl:value-of select="@name"/>
  1584 + </xsl:when>
  1585 + <xsl:when test="$local-ref">
  1586 + <xsl:value-of select="$local-ref"/>
  1587 + </xsl:when>
  1588 + <xsl:when test="@ref">
  1589 + <xsl:value-of select="@ref"/>
  1590 + </xsl:when>
  1591 + <xsl:otherwise>anonymous</xsl:otherwise>
  1592 + </xsl:choose>
  1593 + </xsl:variable>
  1594 + <xsl:value-of select="$elem-name"/>
  1595 +
  1596 + <xsl:variable name="type-name">
  1597 + <xsl:call-template name="xsd.element-type"/>
  1598 + </xsl:variable>
  1599 +
  1600 + <xsl:call-template name="render-type">
  1601 + <xsl:with-param name="type-local-name" select="$type-name"/>
  1602 + </xsl:call-template>
  1603 +
  1604 + <xsl:variable name="elem-type"
  1605 + select="$consolidated-xsd[@name = $type-name and contains(local-name(), 'Type')][1]"/>
  1606 + <xsl:apply-templates select="$elem-type | *" mode="operations.message.part">
  1607 + <xsl:with-param name="anti.recursion" select="$anti.recursion"/>
  1608 + </xsl:apply-templates>
  1609 + </li>
  1610 + </xsl:template>
  1611 + <xsl:template match="xsd:attribute[ @*[local-name() = 'arrayType'] ]"
  1612 + mode="operations.message.part">
  1613 + <xsl:param name="anti.recursion"/>
  1614 + <xsl:variable name="array-local-name"
  1615 + select="substring-after(@*[local-name() = 'arrayType'], ':')"/>
  1616 + <xsl:variable name="type-local-name" select="substring-before($array-local-name, '[')"/>
  1617 + <xsl:variable name="array-type" select="$consolidated-xsd[@name = $type-local-name][1]"/>
  1618 +
  1619 + <xsl:variable name="recursion.label" select="concat('[', $type-local-name, ']')"/>
  1620 + <xsl:variable name="recursion.test">
  1621 + <xsl:call-template name="recursion.should.continue">
  1622 + <xsl:with-param name="anti.recursion" select="$anti.recursion"/>
  1623 + <xsl:with-param name="recursion.label" select="$recursion.label"/>
  1624 + </xsl:call-template>
  1625 + </xsl:variable>
  1626 +
  1627 + <xsl:choose>
  1628 + <xsl:when test="string-length($recursion.test) != 0">
  1629 + <xsl:apply-templates select="$array-type" mode="operations.message.part">
  1630 + <xsl:with-param name="anti.recursion" select="concat($anti.recursion, $recursion.label)"/>
  1631 + </xsl:apply-templates>
  1632 + </xsl:when>
  1633 + <xsl:otherwise>
  1634 + <small style="color:blue">
  1635 + <xsl:value-of select="$RECURSIVE"/>
  1636 + </small>
  1637 + </xsl:otherwise>
  1638 + </xsl:choose>
  1639 + </xsl:template>
  1640 + <xsl:template name="xsd.element-type">
  1641 + <xsl:variable name="ref-or-type">
  1642 + <xsl:choose>
  1643 + <xsl:when test="@type">
  1644 + <xsl:value-of select="@type"/>
  1645 + </xsl:when>
  1646 + <xsl:otherwise>
  1647 + <xsl:value-of select="@ref"/>
  1648 + </xsl:otherwise>
  1649 + </xsl:choose>
  1650 + </xsl:variable>
  1651 +
  1652 + <xsl:variable name="type-local-name" select="substring-after($ref-or-type, ':')"/>
  1653 + <xsl:variable name="type-name">
  1654 + <xsl:choose>
  1655 + <xsl:when test="$type-local-name">
  1656 + <xsl:value-of select="$type-local-name"/>
  1657 + </xsl:when>
  1658 + <xsl:when test="$ref-or-type">
  1659 + <xsl:value-of select="$ref-or-type"/>
  1660 + </xsl:when>
  1661 + <xsl:otherwise>undefined</xsl:otherwise>
  1662 + </xsl:choose>
  1663 + </xsl:variable>
  1664 + <xsl:value-of select="$type-name"/>
  1665 + </xsl:template>
  1666 + <xsl:template match="xsd:documentation" mode="operations.message.part">
  1667 + <div style="color:green">
  1668 + <xsl:value-of select="." disable-output-escaping="yes"/>
  1669 + </div>
  1670 + </xsl:template>
  1671 + <xsl:template name="render-type">
  1672 + <xsl:param name="anti.recursion"/>
  1673 + <xsl:param name="type-local-name"/>
  1674 +
  1675 + <xsl:if test="$ENABLE-OPERATIONS-TYPE">
  1676 + <xsl:variable name="properties">
  1677 + <xsl:if test="self::xsd:element | self::xsd:attribute[parent::xsd:complexType]">
  1678 + <xsl:variable name="min">
  1679 + <xsl:if test="@minOccurs = '0'">optional</xsl:if>
  1680 + </xsl:variable>
  1681 + <xsl:variable name="max">
  1682 + <xsl:if test="@maxOccurs = 'unbounded'">unbounded</xsl:if>
  1683 + </xsl:variable>
  1684 + <xsl:variable name="nillable">
  1685 + <xsl:if test="@nillable">nillable</xsl:if>
  1686 + </xsl:variable>
  1687 +
  1688 + <xsl:if test="(string-length($min) + string-length($max) + string-length($nillable) + string-length(@use)) &gt; 0">
  1689 + <xsl:text> - </xsl:text>
  1690 + <xsl:value-of select="$min"/>
  1691 + <xsl:if test="string-length($min) and string-length($max)">
  1692 + <xsl:text>, </xsl:text>
  1693 + </xsl:if>
  1694 + <xsl:value-of select="$max"/>
  1695 + <xsl:if test="(string-length($min) + string-length($max)) &gt; 0 and string-length($nillable)">
  1696 + <xsl:text>, </xsl:text>
  1697 + </xsl:if>
  1698 + <xsl:value-of select="$nillable"/>
  1699 + <xsl:if test="(string-length($min) + string-length($max) + string-length($nillable)) &gt; 0 and string-length(@use)">
  1700 + <xsl:text>, </xsl:text>
  1701 + </xsl:if>
  1702 + <xsl:value-of select="@use"/>
  1703 + <xsl:text>; </xsl:text>
  1704 + </xsl:if>
  1705 + </xsl:if>
  1706 + </xsl:variable>
  1707 +
  1708 + <xsl:variable name="recursion.label" select="concat('[', $type-local-name, ']')"/>
  1709 + <xsl:variable name="recursion.test">
  1710 + <xsl:call-template name="recursion.should.continue">
  1711 + <xsl:with-param name="anti.recursion" select="$anti.recursion"/>
  1712 + <xsl:with-param name="recursion.label" select="$recursion.label"/>
  1713 + <xsl:with-param name="recursion.count" select="$ANTIRECURSION-DEPTH"/>
  1714 + </xsl:call-template>
  1715 + </xsl:variable>
  1716 +
  1717 + <xsl:if test="string-length($recursion.test) != 0">
  1718 + <small style="color:blue">
  1719 + <xsl:value-of select="$properties"/>
  1720 + <xsl:variable name="elem-type"
  1721 + select="$consolidated-xsd[@name = $type-local-name and (not(contains(local-name(current()), 'element')) or contains(local-name(), 'Type'))][1]"/>
  1722 + <xsl:if test="string-length($type-local-name) &gt; 0">
  1723 + <xsl:call-template name="render-type.write-name">
  1724 + <xsl:with-param name="type-local-name" select="$type-local-name"/>
  1725 + </xsl:call-template>
  1726 + </xsl:if>
  1727 +
  1728 + <xsl:choose>
  1729 + <xsl:when test="$elem-type">
  1730 +
  1731 + <xsl:apply-templates select="$elem-type" mode="render-type">
  1732 + <xsl:with-param name="anti.recursion" select="concat($anti.recursion, $recursion.label)"/>
  1733 + </xsl:apply-templates>
  1734 + </xsl:when>
  1735 + <xsl:otherwise>
  1736 +
  1737 + <xsl:apply-templates select="*" mode="render-type">
  1738 + <xsl:with-param name="anti.recursion" select="concat($anti.recursion, $recursion.label)"/>
  1739 + </xsl:apply-templates>
  1740 + </xsl:otherwise>
  1741 + </xsl:choose>
  1742 + </small>
  1743 + </xsl:if>
  1744 + </xsl:if>
  1745 + </xsl:template>
  1746 + <xsl:template name="render-type.write-name">
  1747 + <xsl:param name="type-local-name"/>
  1748 + <xsl:text> type </xsl:text>
  1749 + <big>
  1750 + <i>
  1751 + <xsl:choose>
  1752 + <xsl:when test="$type-local-name">
  1753 + <xsl:value-of select="$type-local-name"/>
  1754 + </xsl:when>
  1755 + <xsl:otherwise>undefined</xsl:otherwise>
  1756 + </xsl:choose>
  1757 + </i>
  1758 + </big>
  1759 + </xsl:template>
  1760 + <xsl:template match="*" mode="render-type"/>
  1761 + <xsl:template match="xsd:element | xsd:complexType | xsd:simpleType | xsd:complexContent"
  1762 + mode="render-type">
  1763 + <xsl:param name="anti.recursion"/>
  1764 + <xsl:apply-templates select="*" mode="render-type">
  1765 + <xsl:with-param name="anti.recursion" select="$anti.recursion"/>
  1766 + </xsl:apply-templates>
  1767 + </xsl:template>
  1768 + <xsl:template match="xsd:restriction[ parent::xsd:simpleType ]" mode="render-type">
  1769 + <xsl:param name="anti.recursion"/>
  1770 + <xsl:variable name="type-local-name" select="substring-after(@base, ':')"/>
  1771 + <xsl:variable name="type-name">
  1772 + <xsl:choose>
  1773 + <xsl:when test="$type-local-name">
  1774 + <xsl:value-of select="$type-local-name"/>
  1775 + </xsl:when>
  1776 + <xsl:when test="@base">
  1777 + <xsl:value-of select="@base"/>
  1778 + </xsl:when>
  1779 + <xsl:otherwise>undefined</xsl:otherwise>
  1780 + </xsl:choose>
  1781 + </xsl:variable>
  1782 +
  1783 + <xsl:text> - </xsl:text>
  1784 + <xsl:call-template name="render-type.write-name">
  1785 + <xsl:with-param name="type-local-name" select="$type-local-name"/>
  1786 + </xsl:call-template>
  1787 + <xsl:text> with </xsl:text>
  1788 + <xsl:value-of select="local-name()"/>
  1789 + <xsl:apply-templates select="*" mode="render-type">
  1790 + <xsl:with-param name="anti.recursion" select="$anti.recursion"/>
  1791 + </xsl:apply-templates>
  1792 + </xsl:template>
  1793 + <xsl:template match="xsd:simpleType/xsd:restriction/xsd:*[not(self::xsd:enumeration)]"
  1794 + mode="render-type">
  1795 + <xsl:text> </xsl:text>
  1796 + <xsl:value-of select="local-name()"/>
  1797 + <xsl:text>(</xsl:text>
  1798 + <xsl:value-of select="@value"/>
  1799 + <xsl:text>)</xsl:text>
  1800 + </xsl:template>
  1801 + <xsl:template match="xsd:restriction | xsd:extension" mode="render-type">
  1802 + <xsl:param name="anti.recursion"/>
  1803 + <xsl:variable name="type-local-name" select="substring-after(@base, ':')"/>
  1804 + <xsl:variable name="type-name">
  1805 + <xsl:choose>
  1806 + <xsl:when test="$type-local-name">
  1807 + <xsl:value-of select="$type-local-name"/>
  1808 + </xsl:when>
  1809 + <xsl:when test="@base">
  1810 + <xsl:value-of select="@base"/>
  1811 + </xsl:when>
  1812 + <xsl:otherwise>undefined</xsl:otherwise>
  1813 + </xsl:choose>
  1814 + </xsl:variable>
  1815 + <xsl:variable name="base-type" select="$consolidated-xsd[@name = $type-name][1]"/>
  1816 + <xsl:variable name="abstract">
  1817 + <xsl:if test="$base-type/@abstract">abstract </xsl:if>
  1818 + </xsl:variable>
  1819 +
  1820 + <xsl:if test="not($type-name = 'Array')">
  1821 + <xsl:value-of select="concat(' - ', local-name(), ' of ', $abstract)"/>
  1822 + <xsl:call-template name="render-type.write-name">
  1823 + <xsl:with-param name="type-local-name" select="$type-name"/>
  1824 + </xsl:call-template>
  1825 + </xsl:if>
  1826 +
  1827 + <xsl:apply-templates select="$base-type | *" mode="render-type">
  1828 + <xsl:with-param name="anti.recursion" select="$anti.recursion"/>
  1829 + </xsl:apply-templates>
  1830 + </xsl:template>
  1831 + <xsl:template match="xsd:attribute[ @*[local-name() = 'arrayType'] ]" mode="render-type">
  1832 + <xsl:param name="anti.recursion"/>
  1833 + <xsl:variable name="array-local-name"
  1834 + select="substring-after(@*[local-name() = 'arrayType'], ':')"/>
  1835 + <xsl:variable name="type-local-name" select="substring-before($array-local-name, '[')"/>
  1836 + <xsl:variable name="array-type" select="$consolidated-xsd[@name = $type-local-name][1]"/>
  1837 +
  1838 + <xsl:text> - array of </xsl:text>
  1839 + <xsl:call-template name="render-type.write-name">
  1840 + <xsl:with-param name="type-local-name" select="$type-local-name"/>
  1841 + </xsl:call-template>
  1842 +
  1843 + <xsl:apply-templates select="$array-type" mode="render-type">
  1844 + <xsl:with-param name="anti.recursion" select="$anti.recursion"/>
  1845 + </xsl:apply-templates>
  1846 + </xsl:template>
  1847 + <xsl:template match="xsd:enumeration" mode="render-type"/>
  1848 + <xsl:template match="xsd:enumeration[not(preceding-sibling::xsd:enumeration)]"
  1849 + mode="render-type">
  1850 + <xsl:text> - enum { </xsl:text>
  1851 + <xsl:apply-templates select="self::* | following-sibling::xsd:enumeration" mode="render-type.enum"/>
  1852 + <xsl:text> }</xsl:text>
  1853 + </xsl:template>
  1854 + <xsl:template match="xsd:enumeration" mode="render-type.enum">
  1855 + <xsl:if test="preceding-sibling::xsd:enumeration">
  1856 + <xsl:text>, </xsl:text>
  1857 + </xsl:if>
  1858 + <xsl:text disable-output-escaping="yes">'</xsl:text>
  1859 + <xsl:value-of select="@value"/>
  1860 + <xsl:text disable-output-escaping="yes">'</xsl:text>
  1861 + </xsl:template>
  1862 +
  1863 + <!--
  1864 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  1865 + End of included transformation: wsdl-viewer-xsd-tree.xsl
  1866 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  1867 +-->
  1868 +
  1869 +
  1870 +
  1871 +<!--
  1872 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  1873 + Begin of included transformation: wsdl-viewer-src.xsl
  1874 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  1875 +-->
  1876 +<xsl:template match="@*" mode="src.import">
  1877 + <xsl:param name="src.import.stack"/>
  1878 + <xsl:variable name="recursion.label" select="concat('[', string(.), ']')"/>
  1879 + <xsl:variable name="recursion.check" select="concat($src.import.stack, $recursion.label)"/>
  1880 +
  1881 + <xsl:choose>
  1882 + <xsl:when test="contains($src.import.stack, $recursion.label)">
  1883 + <h2 style="red">
  1884 + <xsl:value-of select="concat('Cyclic include / import: ', $recursion.check)"/>
  1885 + </h2>
  1886 + </xsl:when>
  1887 + <xsl:otherwise>
  1888 + <h2>
  1889 + <a name="{concat($SRC-FILE-PREFIX, generate-id(..))}">
  1890 + <xsl:choose>
  1891 + <xsl:when test="parent::xsd:include">Included </xsl:when>
  1892 + <xsl:otherwise>Imported </xsl:otherwise>
  1893 + </xsl:choose>
  1894 +
  1895 + <xsl:choose>
  1896 + <xsl:when test="name() = 'location'">WSDL </xsl:when>
  1897 + <xsl:otherwise>Schema </xsl:otherwise>
  1898 + </xsl:choose>
  1899 + <i>
  1900 + <xsl:value-of select="."/>
  1901 + </i>
  1902 + </a>
  1903 + </h2>
  1904 +
  1905 + <div class="box">
  1906 + <xsl:apply-templates select="document(string(.))" mode="src"/>
  1907 + </div>
  1908 +
  1909 + <xsl:apply-templates select="document(string(.))/*/*[local-name() = 'import'][@location]/@location"
  1910 + mode="src.import">
  1911 + <xsl:with-param name="src.import.stack" select="$recursion.check"/>
  1912 + </xsl:apply-templates>
  1913 + <xsl:apply-templates select="document(string(.))//xsd:import[@schemaLocation]/@schemaLocation"
  1914 + mode="src.import">
  1915 + <xsl:with-param name="src.import.stack" select="$recursion.check"/>
  1916 + </xsl:apply-templates>
  1917 + </xsl:otherwise>
  1918 + </xsl:choose>
  1919 + </xsl:template>
  1920 + <xsl:template match="*" mode="src">
  1921 + <div class="xml-element">
  1922 + <a name="{concat($SRC-PREFIX, generate-id(.))}">
  1923 + <xsl:apply-templates select="." mode="src.link"/>
  1924 + <xsl:apply-templates select="." mode="src.start-tag"/>
  1925 + </a>
  1926 + <xsl:apply-templates select="*|comment()|processing-instruction()|text()[string-length(normalize-space(.)) &gt; 0]"
  1927 + mode="src"/>
  1928 + <xsl:apply-templates select="." mode="src.end-tag"/>
  1929 + </div>
  1930 + </xsl:template>
  1931 + <xsl:template match="*" mode="src.start-tag">
  1932 + <xsl:call-template name="src.elem">
  1933 + <xsl:with-param name="src.elem.end-slash"> /</xsl:with-param>
  1934 + </xsl:call-template>
  1935 + </xsl:template>
  1936 + <xsl:template match="*[*|comment()|processing-instruction()|text()[string-length(normalize-space(.)) &gt; 0]]"
  1937 + mode="src.start-tag">
  1938 + <xsl:call-template name="src.elem"/>
  1939 + </xsl:template>
  1940 + <xsl:template match="*" mode="src.end-tag"/>
  1941 + <xsl:template match="*[*|comment()|processing-instruction()|text()[string-length(normalize-space(.)) &gt; 0]]"
  1942 + mode="src.end-tag">
  1943 + <xsl:call-template name="src.elem">
  1944 + <xsl:with-param name="src.elem.start-slash">/</xsl:with-param>
  1945 + </xsl:call-template>
  1946 + </xsl:template>
  1947 + <xsl:template match="*" mode="src.link-attribute">
  1948 + <xsl:if test="$ENABLE-LINK">
  1949 + <xsl:attribute name="href">
  1950 + <xsl:value-of select="concat('#', $SRC-PREFIX, generate-id(.))"/>
  1951 + </xsl:attribute>
  1952 + </xsl:if>
  1953 + </xsl:template>
  1954 + <xsl:template match="*[local-name() = 'import' or local-name() = 'include'][@location or @schemaLocation]"
  1955 + mode="src.link">
  1956 + <xsl:if test="$ENABLE-LINK">
  1957 + <xsl:attribute name="href">
  1958 + <xsl:value-of select="concat('#', $SRC-FILE-PREFIX, generate-id(.))"/>
  1959 + </xsl:attribute>
  1960 + </xsl:if>
  1961 + </xsl:template>
  1962 + <xsl:template match="*" mode="src.link"/>
  1963 + <xsl:template match="ws2:service|ws2:binding" mode="src.link">
  1964 + <xsl:variable name="iface-name">
  1965 + <xsl:apply-templates select="@interface" mode="qname.normalized"/>
  1966 + </xsl:variable>
  1967 + <xsl:apply-templates select="$consolidated-wsdl/ws2:interface[@name = $iface-name]"
  1968 + mode="src.link-attribute"/>
  1969 + </xsl:template>
  1970 + <xsl:template match="ws2:endpoint" mode="src.link">
  1971 + <xsl:variable name="binding-name">
  1972 + <xsl:apply-templates select="@binding" mode="qname.normalized"/>
  1973 + </xsl:variable>
  1974 + <xsl:apply-templates select="$consolidated-wsdl/ws2:binding[@name = $binding-name]"
  1975 + mode="src.link-attribute"/>
  1976 + </xsl:template>
  1977 + <xsl:template match="ws2:binding/ws2:operation" mode="src.link">
  1978 + <xsl:variable name="operation-name">
  1979 + <xsl:apply-templates select="@ref" mode="qname.normalized"/>
  1980 + </xsl:variable>
  1981 + <xsl:apply-templates select="$consolidated-wsdl/ws2:interface/ws2:operation[@name = $operation-name]"
  1982 + mode="src.link-attribute"/>
  1983 + </xsl:template>
  1984 + <xsl:template match="ws2:binding/ws2:fault|ws2:interface/ws2:operation/ws2:infault|ws2:interface/ws2:operation/ws2:outfault"
  1985 + mode="src.link">
  1986 + <xsl:variable name="operation-name">
  1987 + <xsl:apply-templates select="@ref" mode="qname.normalized"/>
  1988 + </xsl:variable>
  1989 + <xsl:apply-templates select="$consolidated-wsdl/ws2:interface/ws2:fault[@name = $operation-name]"
  1990 + mode="src.link-attribute"/>
  1991 + </xsl:template>
  1992 + <xsl:template match="ws2:interface/ws2:operation/ws2:input|ws2:interface/ws2:operation/ws2:output|ws2:interface/ws2:fault"
  1993 + mode="src.link">
  1994 + <xsl:variable name="elem-name">
  1995 + <xsl:apply-templates select="@element" mode="qname.normalized"/>
  1996 + </xsl:variable>
  1997 + <xsl:apply-templates select="$consolidated-xsd[@name = $elem-name]" mode="src.link-attribute"/>
  1998 + </xsl:template>
  1999 + <xsl:template match="ws:operation/ws:input[@message] | ws:operation/ws:output[@message] | ws:operation/ws:fault[@message] | soap:header[ancestor::ws:operation and @message]"
  2000 + mode="src.link">
  2001 + <xsl:apply-templates select="$consolidated-wsdl/ws:message[@name = substring-after( current()/@message, ':' )]"
  2002 + mode="src.link-attribute"/>
  2003 + </xsl:template>
  2004 + <xsl:template match="ws:operation/ws:input[@message] | ws:operation/ws:output[@message] | ws:operation/ws:fault[@message] | soap:header[ancestor::ws:operation and @message]"
  2005 + mode="src.link">
  2006 + <xsl:apply-templates select="$consolidated-wsdl/ws:message[@name = substring-after( current()/@message, ':' )]"
  2007 + mode="src.link-attribute"/>
  2008 + </xsl:template>
  2009 + <xsl:template match="ws:message/ws:part[@element or @type]" mode="src.link">
  2010 + <xsl:variable name="elem-local-name" select="substring-after(@element, ':')"/>
  2011 + <xsl:variable name="type-local-name" select="substring-after(@type, ':')"/>
  2012 + <xsl:variable name="elem-name">
  2013 + <xsl:choose>
  2014 + <xsl:when test="$elem-local-name">
  2015 + <xsl:value-of select="$elem-local-name"/>
  2016 + </xsl:when>
  2017 + <xsl:when test="$type-local-name">
  2018 + <xsl:value-of select="$type-local-name"/>
  2019 + </xsl:when>
  2020 + <xsl:when test="@element">
  2021 + <xsl:value-of select="@element"/>
  2022 + </xsl:when>
  2023 + <xsl:when test="@type">
  2024 + <xsl:value-of select="@type"/>
  2025 + </xsl:when>
  2026 + <xsl:otherwise>
  2027 + <xsl:call-template name="src.syntax-error"/>
  2028 + </xsl:otherwise>
  2029 + </xsl:choose>
  2030 + </xsl:variable>
  2031 +
  2032 + <xsl:apply-templates select="$consolidated-xsd[@name = $elem-name]" mode="src.link-attribute"/>
  2033 + </xsl:template>
  2034 + <xsl:template match="ws:service/ws:port[@binding]" mode="src.link">
  2035 + <xsl:variable name="binding-name">
  2036 + <xsl:apply-templates select="@binding" mode="qname.normalized"/>
  2037 + </xsl:variable>
  2038 + <xsl:apply-templates select="$consolidated-wsdl/ws:binding[@name = $binding-name]"
  2039 + mode="src.link-attribute"/>
  2040 + </xsl:template>
  2041 + <xsl:template match="ws:operation[@name and parent::ws:binding/@type]" mode="src.link">
  2042 + <xsl:variable name="type-name">
  2043 + <xsl:apply-templates select="../@type" mode="qname.normalized"/>
  2044 + </xsl:variable>
  2045 + <xsl:apply-templates select="$consolidated-wsdl/ws:portType[@name = $type-name]/ws:operation[@name = current()/@name]"
  2046 + mode="src.link-attribute"/>
  2047 + </xsl:template>
  2048 + <xsl:template match="xsd:element[@ref or @type]" mode="src.link">
  2049 + <xsl:variable name="ref-or-type">
  2050 + <xsl:choose>
  2051 + <xsl:when test="@type">
  2052 + <xsl:value-of select="@type"/>
  2053 + </xsl:when>
  2054 + <xsl:otherwise>
  2055 + <xsl:value-of select="@ref"/>
  2056 + </xsl:otherwise>
  2057 + </xsl:choose>
  2058 + </xsl:variable>
  2059 +
  2060 + <xsl:variable name="type-local-name" select="substring-after($ref-or-type, ':')"/>
  2061 + <xsl:variable name="xsd-name">
  2062 + <xsl:choose>
  2063 + <xsl:when test="$type-local-name">
  2064 + <xsl:value-of select="$type-local-name"/>
  2065 + </xsl:when>
  2066 + <xsl:when test="$ref-or-type">
  2067 + <xsl:value-of select="$ref-or-type"/>
  2068 + </xsl:when>
  2069 + <xsl:otherwise/>
  2070 + </xsl:choose>
  2071 + </xsl:variable>
  2072 +
  2073 + <xsl:if test="$xsd-name">
  2074 + <xsl:variable name="msg"
  2075 + select="$consolidated-xsd[@name = $xsd-name and contains(local-name(), 'Type')][1]"/>
  2076 + <xsl:apply-templates select="$msg" mode="src.link-attribute"/>
  2077 + </xsl:if>
  2078 + </xsl:template>
  2079 + <xsl:template match="xsd:attribute[contains(@ref, 'arrayType')]" mode="src.link">
  2080 + <xsl:variable name="att-array-type"
  2081 + select="substring-before(@*[local-name() = 'arrayType'], '[]')"/>
  2082 + <xsl:variable name="xsd-local-name" select="substring-after($att-array-type, ':')"/>
  2083 + <xsl:variable name="xsd-name">
  2084 + <xsl:choose>
  2085 + <xsl:when test="$xsd-local-name">
  2086 + <xsl:value-of select="$xsd-local-name"/>
  2087 + </xsl:when>
  2088 + <xsl:otherwise>
  2089 + <xsl:value-of select="$att-array-type"/>
  2090 + </xsl:otherwise>
  2091 + </xsl:choose>
  2092 + </xsl:variable>
  2093 + <xsl:if test="$xsd-name">
  2094 + <xsl:variable name="msg" select="$consolidated-xsd[@name = $xsd-name][1]"/>
  2095 + <xsl:apply-templates select="$msg" mode="src.link-attribute"/>
  2096 + </xsl:if>
  2097 + </xsl:template>
  2098 + <xsl:template match="xsd:extension | xsd:restriction" mode="src.link">
  2099 + <xsl:variable name="xsd-local-name" select="substring-after(@base, ':')"/>
  2100 + <xsl:variable name="xsd-name">
  2101 + <xsl:choose>
  2102 + <xsl:when test="$xsd-local-name">
  2103 + <xsl:value-of select="$xsd-local-name"/>
  2104 + </xsl:when>
  2105 + <xsl:otherwise>
  2106 + <xsl:value-of select="@type"/>
  2107 + </xsl:otherwise>
  2108 + </xsl:choose>
  2109 + </xsl:variable>
  2110 + <xsl:variable name="msg" select="$consolidated-xsd[@name = $xsd-name][1]"/>
  2111 + <xsl:apply-templates select="$msg" mode="src.link-attribute"/>
  2112 + </xsl:template>
  2113 + <xsl:template name="src.elem">
  2114 + <xsl:param name="src.elem.start-slash"/>
  2115 + <xsl:param name="src.elem.end-slash"/>
  2116 +
  2117 + <xsl:value-of select="concat('&lt;', $src.elem.start-slash, name(.))"
  2118 + disable-output-escaping="no"/>
  2119 + <xsl:if test="not($src.elem.start-slash)">
  2120 + <xsl:apply-templates select="@*" mode="src"/>
  2121 + <xsl:apply-templates select="." mode="src.namespace"/>
  2122 + </xsl:if>
  2123 + <xsl:value-of select="concat($src.elem.end-slash, '&gt;')" disable-output-escaping="no"/>
  2124 + </xsl:template>
  2125 + <xsl:template match="@*" mode="src">
  2126 + <xsl:text> </xsl:text>
  2127 + <span class="xml-att">
  2128 + <xsl:value-of select="concat(name(), '=')"/>
  2129 + <span class="xml-att-val">
  2130 + <xsl:value-of select="concat('&#34;', ., '&#34;')" disable-output-escaping="yes"/>
  2131 + </span>
  2132 + </span>
  2133 + </xsl:template>
  2134 + <xsl:template match="*" mode="src.namespace">
  2135 + <xsl:variable name="supports-namespace-axis" select="count(/*/namespace::*) &gt; 0"/>
  2136 + <xsl:variable name="current" select="current()"/>
  2137 +
  2138 + <xsl:choose>
  2139 + <xsl:when test="count(/*/namespace::*) &gt; 0">
  2140 + <!--
  2141 + When the namespace axis is present (e.g. Internet Explorer), we can simulate
  2142 + the namespace declarations by comparing the namespaces in scope on this element
  2143 + with those in scope on the parent element. Any difference must have been the
  2144 + result of a namespace declaration. Note that this doesn't reflect the actual
  2145 + source - it will strip out redundant namespace declarations.
  2146 + -->
  2147 + <xsl:for-each select="namespace::*[. != 'http://www.w3.org/XML/1998/namespace']">
  2148 + <xsl:if test="not($current/parent::*[namespace::*[. = current()]])">
  2149 + <div class="xml-att">
  2150 + <xsl:text> xmlns</xsl:text>
  2151 + <xsl:if test="string-length(name())">:</xsl:if>
  2152 + <xsl:value-of select="concat(name(), '=')"/>
  2153 + <span class="xml-att-val">
  2154 + <xsl:value-of select="concat('&#34;', ., '&#34;')" disable-output-escaping="yes"/>
  2155 + </span>
  2156 + </div>
  2157 + </xsl:if>
  2158 + </xsl:for-each>
  2159 + </xsl:when>
  2160 + <xsl:otherwise>
  2161 + <!--
  2162 + When the namespace axis isn't supported (e.g. Mozilla), we can simulate
  2163 + appropriate declarations from namespace elements.
  2164 + This currently doesn't check for namespaces on attributes.
  2165 + In the general case we can't reliably detect the use of QNames in content, but
  2166 + in the case of schema, we know which content could contain a QName and look
  2167 + there too. This mechanism is rather unpleasant though, since it records
  2168 + namespaces where they are used rather than showing where they are declared
  2169 + (on some parent element) in the source. Yukk!
  2170 + -->
  2171 + <xsl:if test="namespace-uri(.) != namespace-uri(parent::*) or not(parent::*)">
  2172 + <span class="xml-att">
  2173 + <xsl:text> xmlns</xsl:text>
  2174 + <xsl:if test="substring-before(name(),':') != ''">:</xsl:if>
  2175 + <xsl:value-of select="substring-before(name(),':')"/>
  2176 + <xsl:text>=</xsl:text>
  2177 + <span class="xml-att-val">
  2178 + <xsl:value-of select="concat('&#34;', namespace-uri(.), '&#34;')" disable-output-escaping="yes"/>
  2179 + </span>
  2180 + </span>
  2181 + </xsl:if>
  2182 + </xsl:otherwise>
  2183 + </xsl:choose>
  2184 +
  2185 + </xsl:template>
  2186 + <xsl:template match="text()" mode="src">
  2187 + <span class="xml-text">
  2188 + <xsl:value-of select="." disable-output-escaping="no"/>
  2189 + </span>
  2190 + </xsl:template>
  2191 + <xsl:template match="comment()" mode="src">
  2192 + <div class="xml-comment">
  2193 + <xsl:text disable-output-escaping="no">&lt;!-- </xsl:text>
  2194 + <xsl:value-of select="." disable-output-escaping="no"/>
  2195 + <xsl:text disable-output-escaping="no"> --&gt;
  2196 +</xsl:text>
  2197 + </div>
  2198 + </xsl:template>
  2199 + <xsl:template match="processing-instruction()" mode="src">
  2200 + <div class="xml-proc">
  2201 + <xsl:text disable-output-escaping="no">&lt;?</xsl:text>
  2202 + <xsl:copy-of select="name(.)"/>
  2203 + <xsl:value-of select="concat(' ', .)" disable-output-escaping="yes"/>
  2204 + <xsl:text disable-output-escaping="no"> ?&gt;
  2205 +</xsl:text>
  2206 + </div>
  2207 + </xsl:template>
  2208 +
  2209 + <!--
  2210 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  2211 + End of included transformation: wsdl-viewer-src.xsl
  2212 +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  2213 +-->
  2214 +
  2215 +
  2216 +
  2217 +
  2218 +
  2219 +<!--
  2220 +==================================================================
  2221 + Starting point
  2222 +==================================================================
  2223 +-->
  2224 +
  2225 +<xsl:template match="/">
  2226 + <html>
  2227 + <xsl:call-template name="head.render"/>
  2228 + <xsl:call-template name="body.render"/>
  2229 + </html>
  2230 + </xsl:template>
  2231 +
  2232 +
  2233 +
  2234 + <!--
  2235 +==================================================================
  2236 + Rendering: HTML head
  2237 +==================================================================
  2238 +-->
  2239 +
  2240 +<xsl:template name="head.render">
  2241 + <head>
  2242 + <title>
  2243 + <xsl:value-of select="concat($html-title, ' - ', 'Generated by wsdl-viewer.xsl')"/>
  2244 + </title>
  2245 + <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
  2246 + <meta http-equiv="content-script-type" content="text/javascript"/>
  2247 + <meta http-equiv="content-style-type" content="text/css"/>
  2248 + <meta name="Generator" content="http://tomi.vanek.sk/xml/wsdl-viewer.xsl"/>
  2249 +
  2250 + <meta http-equiv="imagetoolbar" content="false"/>
  2251 + <meta name="MSSmartTagsPreventParsing" content="true"/>
  2252 +
  2253 + <style type="text/css">
  2254 + <xsl:value-of select="$css" disable-output-escaping="yes"/>
  2255 + </style>
  2256 +
  2257 + <script src="wsdl-viewer.js" type="text/javascript" language="javascript">
  2258 + <xsl:comment>
  2259 + <xsl:text>
  2260 + // </xsl:text>
  2261 + </xsl:comment>
  2262 + </script>
  2263 + </head>
  2264 + </xsl:template>
  2265 +
  2266 +
  2267 +
  2268 + <!--
  2269 +==================================================================
  2270 + Rendering: HTML body
  2271 +==================================================================
  2272 +-->
  2273 +
  2274 +<xsl:template name="body.render">
  2275 + <body id="operations">
  2276 + <div id="outer_box">
  2277 + <div id="inner_box" onload="pagingInit()">
  2278 + <xsl:call-template name="title.render"/>
  2279 +
  2280 +
  2281 + <!-- TODO: pages with tabs for selecting some aspect of the WSDL
  2282 + <xsl:call-template name="navig.render"/>
  2283 +-->
  2284 +
  2285 + <xsl:call-template name="content.render"/>
  2286 + <xsl:call-template name="footer.render"/>
  2287 + </div>
  2288 + </div>
  2289 + </body>
  2290 + </xsl:template>
  2291 +
  2292 +
  2293 +
  2294 + <!--
  2295 +==================================================================
  2296 + Rendering: heading
  2297 +==================================================================
  2298 +-->
  2299 +
  2300 +<xsl:template name="title.render">
  2301 + <div id="header">
  2302 + <h1>
  2303 + <xsl:value-of select="$html-title"/>
  2304 + </h1>
  2305 + </div>
  2306 + </xsl:template>
  2307 +
  2308 +
  2309 +
  2310 + <!--
  2311 +==================================================================
  2312 + Rendering: navigation
  2313 +==================================================================
  2314 +-->
  2315 +
  2316 +<xsl:template name="navig.render">
  2317 + <div id="outer_nav">
  2318 + <div id="nav" class="floatcontainer">
  2319 + <ul>
  2320 + <li id="nav-service">
  2321 + <a href="#page.service">Service</a>
  2322 + </li>
  2323 + <li id="nav-operations">
  2324 + <a href="#page.operations">Operations</a>
  2325 + </li>
  2326 + <li id="nav-wsdl">
  2327 + <a href="#page.src">Source Code</a>
  2328 + </li>
  2329 +
  2330 +
  2331 + <!-- <li id="nav-client"><a href="#TODO-1">Client</a></li>
  2332 +-->
  2333 +
  2334 + <li id="nav-about">
  2335 + <a href="#page.about" class="current">About</a>
  2336 + </li>
  2337 + </ul>
  2338 + </div>
  2339 + </div>
  2340 + </xsl:template>
  2341 +
  2342 +
  2343 +
  2344 + <!--
  2345 +==================================================================
  2346 + Rendering: content
  2347 +==================================================================
  2348 +-->
  2349 +
  2350 +<xsl:template name="content.render">
  2351 + <div id="content">
  2352 + <xsl:if test="$ENABLE-SERVICE-PARAGRAPH">
  2353 + <xsl:call-template name="service.render"/>
  2354 + </xsl:if>
  2355 + <xsl:if test="$ENABLE-OPERATIONS-PARAGRAPH">
  2356 + <xsl:call-template name="operations.render"/>
  2357 + </xsl:if>
  2358 + <xsl:if test="$ENABLE-SRC-CODE-PARAGRAPH">
  2359 + <xsl:call-template name="src.render"/>
  2360 + </xsl:if>
  2361 + <xsl:if test="$ENABLE-ABOUT-PARAGRAPH">
  2362 + <xsl:call-template name="about.render">
  2363 + <xsl:with-param name="version" select="$wsdl-viewer.version"/>
  2364 + </xsl:call-template>
  2365 + </xsl:if>
  2366 + </div>
  2367 + </xsl:template>
  2368 +
  2369 +
  2370 +
  2371 + <!--
  2372 +==================================================================
  2373 + Rendering: footer
  2374 +==================================================================
  2375 +-->
  2376 +
  2377 +<xsl:template name="footer.render">
  2378 + <div id="footer">
  2379 + This page was generated by wsdl-viewer.xsl (<a href="http://tomi.vanek.sk">http://tomi.vanek.sk</a>)
  2380 +</div>
  2381 + </xsl:template>
  2382 +
  2383 +
  2384 +
  2385 + <!--
  2386 +==================================================================
  2387 + Rendering: WSDL service information
  2388 +==================================================================
  2389 +-->
  2390 +
  2391 +<xsl:template name="service.render">
  2392 + <div class="page">
  2393 + <a class="target" name="page.service">
  2394 + <h2>
  2395 + <xsl:value-of select="$html-title"/>
  2396 + </h2>
  2397 + </a>
  2398 + <xsl:apply-templates select="$consolidated-wsdl/*[local-name(.) = 'documentation']"
  2399 + mode="documentation.render"/>
  2400 + <xsl:apply-templates select="$consolidated-wsdl/ws:service|$consolidated-wsdl/ws2:service"
  2401 + mode="service-start"/>
  2402 + <xsl:if test="not($consolidated-wsdl/*[local-name() = 'service']/@name)">
  2403 +
  2404 +
  2405 +<!-- If the WS is without implementation, just with binding points = WS interface -->
  2406 +
  2407 + <xsl:apply-templates select="$consolidated-wsdl/ws:binding" mode="service-start"/>
  2408 + <xsl:apply-templates select="$consolidated-wsdl/ws2:interface" mode="service"/>
  2409 + </xsl:if>
  2410 + </div>
  2411 + </xsl:template>
  2412 +
  2413 +
  2414 +
  2415 + <!--
  2416 +==================================================================
  2417 + Rendering: WSDL operations - detail
  2418 +==================================================================
  2419 +-->
  2420 +
  2421 +<xsl:template name="operations.render">
  2422 + <div class="page">
  2423 + <a class="target" name="page.operations">
  2424 + <h2>Operations</h2>
  2425 + </a>
  2426 + <ul>
  2427 + <xsl:apply-templates select="$consolidated-wsdl/ws:portType" mode="operations">
  2428 + <xsl:sort select="@name"/>
  2429 + </xsl:apply-templates>
  2430 +
  2431 + <xsl:choose>
  2432 + <xsl:when test="$consolidated-wsdl/*[local-name() = 'service']/@name">
  2433 + <xsl:variable name="iface-name">
  2434 + <xsl:apply-templates select="$consolidated-wsdl/*[local-name() = 'service']/@interface"
  2435 + mode="qname.normalized"/>
  2436 + </xsl:variable>
  2437 + <xsl:apply-templates select="$consolidated-wsdl/ws2:interface[@name = $iface-name]"
  2438 + mode="operations">
  2439 + <xsl:sort select="@name"/>
  2440 + </xsl:apply-templates>
  2441 + </xsl:when>
  2442 + <xsl:when test="$consolidated-wsdl/ws2:interface/@name">
  2443 +
  2444 +
  2445 +<!-- TODO: What to do if there are more interfaces? -->
  2446 +
  2447 + <xsl:apply-templates select="$consolidated-wsdl/ws2:interface[1]" mode="operations"/>
  2448 + </xsl:when>
  2449 + <xsl:otherwise>
  2450 +
  2451 +
  2452 +<!-- TODO: Error message or handling somehow this unexpected situation -->
  2453 +
  2454 + </xsl:otherwise>
  2455 + </xsl:choose>
  2456 + </ul>
  2457 + </div>
  2458 + </xsl:template>
  2459 +
  2460 +
  2461 +
  2462 + <!--
  2463 +==================================================================
  2464 + Rendering: WSDL and XSD source code files
  2465 +==================================================================
  2466 +-->
  2467 +
  2468 +<xsl:template name="src.render">
  2469 + <div class="page">
  2470 + <a class="target" name="page.src">
  2471 + <h2>WSDL source code</h2>
  2472 + </a>
  2473 + <div class="box">
  2474 + <div class="xml-proc">
  2475 + <xsl:text>&lt;?xml version="1.0"?&gt;</xsl:text>
  2476 + </div>
  2477 + <xsl:apply-templates select="/" mode="src"/>
  2478 + </div>
  2479 +
  2480 + <xsl:apply-templates select="/*/*[local-name() = 'import'][@location]/@location" mode="src.import"/>
  2481 + <xsl:apply-templates select="$consolidated-wsdl/*[local-name() = 'types']//xsd:import[@schemaLocation]/@schemaLocation | $consolidated-wsdl/*[local-name() = 'types']//xsd:include[@schemaLocation]/@schemaLocation"
  2482 + mode="src.import"/>
  2483 + </div>
  2484 + </xsl:template>
  2485 +
  2486 +
  2487 +
  2488 + <!--
  2489 +==================================================================
  2490 + Rendering: About
  2491 +==================================================================
  2492 +-->
  2493 +
  2494 +<xsl:template name="about.render">
  2495 + <xsl:param name="version"/>
  2496 + <div class="page">
  2497 + <a class="target" name="page.about">
  2498 + <h2>About <em>wsdl-viewer.xsl</em>
  2499 + </h2>
  2500 + </a>
  2501 + <div class="floatcontainer">
  2502 + <div id="fix_column">
  2503 + <div class="shadow">
  2504 + <div class="box">
  2505 + <xsl:call-template name="processor-info.render"/>
  2506 + </div>
  2507 + </div>
  2508 + </div>
  2509 +
  2510 + <div id="flexi_column">
  2511 + <xsl:call-template name="about.detail">
  2512 + <xsl:with-param name="version" select="$wsdl-viewer.version"/>
  2513 + </xsl:call-template>
  2514 + </div>
  2515 + </div>
  2516 + </div>
  2517 + </xsl:template>
  2518 +
  2519 +
  2520 +</xsl:stylesheet>
0 2521 \ No newline at end of file
... ...
index.html
... ... @@ -18,7 +18,7 @@
18 18 <div id="couvercle"></div>
19 19  
20 20 <div id="TousLesBoutons">
21   -<div id="Btn_FirstVisit" onclick="location.href='help.html';""></div>
  21 +<div id="Btn_FirstVisit" onclick="location.href='help.html';"></div>
22 22 <div id="Btn_Rules" onclick="location.href='help/policy.html';"></div>
23 23 <form method="POST" action="desktop.php">
24 24 <input type="text" name="username" placeholder="LOGIN" id="Btn_EnterLogin" class="PlaceHolder" />
... ... @@ -27,6 +27,7 @@
27 27 </form>
28 28 <a href="mailto:amda@irap.omp.eu?subject=AMDA registration" id="Btn_Register"></a>
29 29 <a href="mailto:amda@irap.omp.eu?subject=AMDA contact" id="Btn_Contact"></a>
  30 +<div id="Btn_About" onclick="location.href='help/info.html';"></div><div id="textAbout">AMDA Info</div>
30 31 <a href="http://www.cdpp.eu/" id="Logo_CDPP"></a>
31 32 <div id="PaveGuest">
32 33 <div id="TitrePaveGuest">Try AMDA as a guest</div>
... ...
js/app/views/PlotComponents/PlotPreviewUI.js
... ... @@ -25,6 +25,8 @@ Ext.define(&#39;amdaPlotComp.PlotPreviewUI&#39;, {
25 25 panelImage : null,
26 26 crtContext : null,
27 27 sliderPage : null,
  28 + contextualMenu : null,
  29 + hiddenForm: null,
28 30  
29 31 constructor: function(config) {
30 32 this.init(config);
... ... @@ -54,7 +56,10 @@ Ext.define(&#39;amdaPlotComp.PlotPreviewUI&#39;, {
54 56 this.panelImage = Ext.create('amdaPlotComp.PlotResultImage', {
55 57 src : this.getImageUrl(resultFolder, plotFile),
56 58 width : size.width,
57   - height : size.height
  59 + height : size.height,
  60 + onContextMenu : function(absoluteX, absoluteY, imageX, imageY) {
  61 + me.contextualMenu.showAt(absoluteX, absoluteY);
  62 + }
58 63 });
59 64  
60 65 return this.panelImage;
... ... @@ -72,6 +77,8 @@ Ext.define(&#39;amdaPlotComp.PlotPreviewUI&#39;, {
72 77 },
73 78  
74 79 init: function(configResult){
  80 + var me = this;
  81 +
75 82 this.crtContext = configResult.context;
76 83 this.tabId = configResult.tabId;
77 84  
... ... @@ -104,6 +111,41 @@ Ext.define(&#39;amdaPlotComp.PlotPreviewUI&#39;, {
104 111 this.sliderPage
105 112 ]
106 113 };
  114 +
  115 + this.contextualMenu = Ext.create('Ext.menu.Menu', {
  116 + width: 200,
  117 + plain: true,
  118 + items: [
  119 + {
  120 + text: 'Save Plot',
  121 + handler : function ()
  122 + {
  123 + if (me.hiddenForm == null)
  124 + me.hiddenForm = Ext.create('Ext.form.Panel', {
  125 + title:'hiddenForm',
  126 + renderTo: Ext.getBody(),
  127 + standardSubmit: true,
  128 + url: 'php/downloadPlot.php',
  129 + timeout: 120000,
  130 + height:100,
  131 + width: 100,
  132 + hidden:true,
  133 + items:[]
  134 + });
  135 +
  136 + me.hiddenForm.getForm().submit({
  137 + params: {
  138 + sessionId: sessionID,
  139 + tabId : me.tabId,
  140 + preview: true
  141 + },
  142 + success: function(form, action) {},
  143 + failure: function(form, action) {}
  144 + });
  145 + }
  146 + }
  147 + ]
  148 + });
107 149  
108 150 var plotPreviewPanelConfig = {
109 151 preventHeader : true,
... ... @@ -116,4 +158,4 @@ Ext.define(&#39;amdaPlotComp.PlotPreviewUI&#39;, {
116 158  
117 159 Ext.apply(this , plotPreviewPanelConfig);
118 160 }
119   -});
120 161 \ No newline at end of file
  162 +});
... ...
js/resources/css/AccueilAmda.css
1   -@charset "UTF-8"; @import url("../fonts/stylesheet.css"); /* CSS Document */ body{ text-align: left; background-color: #FFF; } /*•••••••••••••• couvercle et trou ••••••••••••*/ #trou{ position: relative; margin-right: 50%; margin-left: 50%; left: -1050px; top: -10px; width: 1920px; height: 1170px; z-index: 1; background-attachment: scroll; background-image: url(../images/trou.jpg); background-repeat: no-repeat; } #couvercle{ position: relative; margin-right: auto; margin-left: auto; left: -276px; top: -130px; width: 676px; height: 676px; z-index: 1; background: url(../images/Couvercle_complet.png) 0 0 no-repeat scroll; background-repeat: no-repeat; background-image: url(../images/Couvercle_complet.png); -webkit-transition: all 0.5s ease-in-out; -moz-transition: all 0.5s ease-in-out; } #couvercle:hover{ left: -400px; top: -100px; /* -webkit-transform: rotate(-5deg)*/ } /*•••••••••••••• boutons ••••••••••••*/ #TousLesBoutons{ left: 937px; top: -608px; z-index: 6; position: relative; width: 350px; height: 500px; } #Btn_FirstVisit, #Btn_Rules, #Btn_Login, #Btn_Register, #Btn_Contact{ background: url(../images/bouton_off.png) 0 0 no-repeat scroll; z-index: 6; position: relative; width: 40px; height: 40px; } #Btn_FirstVisit:hover, #Btn_Rules:hover, #Btn_Login:hover, #Btn_Register:hover, #Btn_Contact:hover{ background: url(../images/bouton_over.png) 0 0 no-repeat scroll; } #Btn_EnterLogin, #Btn_EnterPassword{ left: 90px; z-index: 6; position: relative; width: 230px; height: 25px; background-color: rgba(0, 0, 0, 1); border-radius:5px 0px 10px 5px; padding: 1px 0px 0px 15px; border:none; } #Btn_EnterLogin:hover, #Btn_EnterPassword:hover{ background-color: rgba(66, 66, 66, 1); } #Btn_EnterLogin, #Btn_EnterPassword{ font-family: orbitronbold; font-size: 10px; text-align: left; } .PlaceHolder { color: #0CF; } /*••••••••••••••••••••••••••• positionnement des boutons ••••••••••••••••••*/ #Btn_FirstVisit{ left: 83px; top: 0px; } #Btn_Rules{ left: 92px; top: 13px; } #Btn_EnterLogin{ top: 35px; } #Btn_EnterPassword{ top: 45px; } #Btn_Login{ left: 83px; top: 75px; border: none; } #Btn_Register{ left: 62px; top: 95px; display: block; } #Btn_Contact{ left: 30px; top: 112px; display: block; } #Logo_CDPP{ width: 209px; height: 144px; display: block; top: -70px; left:400px; z-index: 50; position: absolute; background: url(../images/Logo_CDPP_off.png) 0 0 no-repeat scroll; } #Logo_CDPP:hover{ background: url(../images/Logo_CDPP_over.png) 0 0 no-repeat scroll; z-index: 100; } #Logos_partenaires{ margin-right: auto; margin-left: auto; left:15%; right:10%; width: 1500px; height: 42px; bottom: 50px; z-index: 50; position: fixed; background: url(../images/LogosPartenaires.png) 0px 0px no-repeat scroll; } #PaveGuest{ font-family: orbitronbold; font-size: 15px; color: rgba(0, 0, 42, 0.3); left: 350px; top: -178px; width: 300px; height: 30px; z-index: 100; padding:20px 20px 20px 20px; position: relative; background-color: rgba(255, 255, 255, 0); border-radius:0px 30px 0px 30px; } #TitrePaveGuest{ font-family: orbitronlight; font-size: 17px; color: rgba(0, 0, 0, 0.3); background-color: rgba(255, 100, 255, 0); margin-top:20px; } #TextePaveGuest{ font-family: orbitronlight; font-size: 14px; color: rgba(0, 0, 0, 0.5); background-color: rgba(255, 255, 255, 0.2); padding:5px 10px 2px 5px; border-radius:0px 0px 20px 0px; } /* •••••••••••••••••••••••••••••••• ANNOUCEMENTS••••••••••••••••••••••••••••••••••••*/ #PaveAnnoucements{ font-family: orbitronbold; font-size: 30px; color: rgba(0, 0, 42, 0.3); left: 300px; top: -100px; width: 300px; height: 300px; z-index: 100; padding:20px 20px 20px 20px; position: relative; background-color: rgba(255, 255, 255, 0); border-radius:0px 30px 0px 30px; } #TitrePaveAnnoucement{ font-family: orbitronlight; font-size: 35px; color: rgba(0, 0, 0, 0.2); background-color: rgba(255, 100, 255, 0); margin-top:20px; } #DateAnnoucement{ font-family: orbitronbold; font-size: 12px; color: rgba(163, 224, 255, 1); background-color: rgba(0, 0, 0, 1); padding:4px 5px 2px 5px; border-radius:3px 3px 3px 3px; width: 100px; } #DateAnnoucementRed{ font-family: orbitronbold; font-size: 12px; color: #F00; background-color: rgba(0, 0, 0, 1); padding:4px 5px 2px 5px; border-radius:3px 3px 3px 3px; width: 100px; } #TexteAnnoucement{ font-family: orbitronlight; font-size: 14px; color: rgba(0, 0, 0, 0.5); background-color: rgba(255, 255, 255, 0.2); padding:5px 10px 5px 10px; border-top:1px solid rgba(255, 255, 255, 1); border-radius:0px 0px 20px 0px; } #TexteAnnoucementRed{ font-family: orbitronbold; font-size: 14px; color: #F00; text-decoration: blink; background-color: rgba(255, 255, 255, 0.2); padding:5px 10px 5px 10px; border-top:1px solid rgba(255, 255, 255, 1); border-radius:0px 0px 20px 0px; }
2 1 \ No newline at end of file
  2 +@charset "UTF-8"; @import url("../fonts/stylesheet.css"); /* CSS Document */ body{ text-align: left; background-color: #FFF; } /*•••••••••••••• couvercle et trou ••••••••••••*/ #trou{ position: relative; margin-right: 50%; margin-left: 50%; left: -1050px; top: -10px; width: 1920px; height: 1170px; z-index: 1; background-attachment: scroll; background-image: url(../images/trou.jpg); background-repeat: no-repeat; } #couvercle{ position: relative; margin-right: auto; margin-left: auto; left: -276px; top: -130px; width: 676px; height: 676px; z-index: 1; background: url(../images/Couvercle_complet.png) 0 0 no-repeat scroll; background-repeat: no-repeat; background-image: url(../images/Couvercle_complet.png); -webkit-transition: all 0.5s ease-in-out; -moz-transition: all 0.5s ease-in-out; } #couvercle:hover{ left: -400px; top: -100px; /* -webkit-transform: rotate(-5deg)*/ } /*•••••••••••••• boutons ••••••••••••*/ #TousLesBoutons{ left: 937px; top: -608px; z-index: 6; position: relative; width: 350px; height: 500px; } #Btn_About, #Btn_FirstVisit, #Btn_Rules, #Btn_Login, #Btn_Register, #Btn_Contact{ background: url(../images/bouton_off.png) 0 0 no-repeat scroll; z-index: 6; position: relative; width: 40px; height: 40px; } #Btn_About:hover, #Btn_FirstVisit:hover, #Btn_Rules:hover, #Btn_Login:hover, #Btn_Register:hover, #Btn_Contact:hover{ background: url(../images/bouton_over.png) 0 0 no-repeat scroll; } #Btn_EnterLogin, #Btn_EnterPassword{ left: 90px; z-index: 6; position: relative; width: 230px; height: 25px; background-color: rgba(0, 0, 0, 1); border-radius:5px 0px 10px 5px; padding: 1px 0px 0px 15px; border:none; } #Btn_EnterLogin:hover, #Btn_EnterPassword:hover{ background-color: rgba(66, 66, 66, 1); } #Btn_EnterLogin, #Btn_EnterPassword{ font-family: orbitronbold; font-size: 10px; text-align: left; } .PlaceHolder { color: #0CF; } /*••••••••••••••••••••••••••• positionnement des boutons ••••••••••••••••••*/ #Btn_FirstVisit{ left: 83px; top: 0px; } #Btn_Rules{ left: 92px; top: 13px; } #Btn_EnterLogin{ top: 35px; } #Btn_EnterPassword{ top: 45px; } #Btn_Login{ left: 83px; top: 75px; border: none; } #Btn_Register{ left: 62px; top: 95px; display: block; } #Btn_Contact{ left: 30px; top: 112px; display: block; } #Btn_About{ left: -10px; top: 125px; } #Logo_CDPP{ width: 209px; height: 144px; display: block; top: -70px; left:400px; z-index: 50; position: absolute; background: url(../images/Logo_CDPP_off.png) 0 0 no-repeat scroll; } #Logo_CDPP:hover{ background: url(../images/Logo_CDPP_over.png) 0 0 no-repeat scroll; z-index: 100; } #Logos_partenaires{ margin-right: auto; margin-left: auto; left:15%; right:10%; width: 1500px; height: 42px; bottom: 50px; z-index: 50; position: fixed; background: url(../images/LogosPartenaires.png) 0px 0px no-repeat scroll; } #PaveGuest{ font-family: orbitronbold; font-size: 15px; color: rgba(0, 0, 42, 0.3); left: 350px; top: -178px; width: 300px; height: 30px; z-index: 100; padding:20px 20px 20px 20px; position: relative; background-color: rgba(255, 255, 255, 0); border-radius:0px 30px 0px 30px; } #TitrePaveGuest{ font-family: orbitronlight; font-size: 17px; color: rgba(0, 0, 0, 0.3); background-color: rgba(255, 100, 255, 0); margin-top:20px; } #TextePaveGuest{ font-family: orbitronlight; font-size: 14px; color: rgba(0, 0, 0, 0.5); background-color: rgba(255, 255, 255, 0.2); padding:5px 10px 2px 5px; border-radius:0px 0px 20px 0px; } /* •••••••••••••••••••••••••••••••• ANNOUCEMENTS••••••••••••••••••••••••••••••••••••*/ #textAbout { z-index: 6; position: relative; left: 40px; top: 100px; font-family: orbitronlight; font-size: 14px; color: rgba(255, 255, 255, 0.5); font-weight: bold; } /* •••••••••••••••••••••••••••••••• ANNOUCEMENTS••••••••••••••••••••••••••••••••••••*/ #PaveAnnoucements{ font-family: orbitronbold; font-size: 30px; color: rgba(0, 0, 42, 0.3); left: 300px; top: -100px; width: 300px; height: 300px; z-index: 100; padding:20px 20px 20px 20px; position: relative; background-color: rgba(255, 255, 255, 0); border-radius:0px 30px 0px 30px; } #TitrePaveAnnoucement{ font-family: orbitronlight; font-size: 35px; color: rgba(0, 0, 0, 0.2); background-color: rgba(255, 100, 255, 0); margin-top:20px; } #DateAnnoucement{ font-family: orbitronbold; font-size: 12px; color: rgba(163, 224, 255, 1); background-color: rgba(0, 0, 0, 1); padding:4px 5px 2px 5px; border-radius:3px 3px 3px 3px; width: 100px; } #DateAnnoucementRed{ font-family: orbitronbold; font-size: 12px; color: #F00; background-color: rgba(0, 0, 0, 1); padding:4px 5px 2px 5px; border-radius:3px 3px 3px 3px; width: 100px; } #TexteAnnoucement{ font-family: orbitronlight; font-size: 14px; color: rgba(0, 0, 0, 0.5); background-color: rgba(255, 255, 255, 0.2); padding:5px 10px 5px 10px; border-top:1px solid rgba(255, 255, 255, 1); border-radius:0px 0px 20px 0px; } #TexteAnnoucementRed{ font-family: orbitronbold; font-size: 14px; color: #F00; text-decoration: blink; background-color: rgba(255, 255, 255, 0.2); padding:5px 10px 5px 10px; border-top:1px solid rgba(255, 255, 255, 1); border-radius:0px 0px 20px 0px; }
3 3 \ No newline at end of file
... ...
js/resources/css/styles.css
... ... @@ -50,7 +50,7 @@ background: #F6F3E7;
50 50 #main2
51 51 {
52 52 width: 710px;
53   -height: 750px;
  53 +height: 830px;
54 54 padding: 10px;
55 55 padding-top: 20px;
56 56 /*background: #ffffff; */
... ...
php/classes/AmdaNews.php
1 1 <?php
2 2 /**
3 3 * @class AmdaNews
4   - * @version $Id: AmdaNews.php 2957 2015-06-25 13:40:38Z elena $
5   - *
6 4 */
7 5  
8 6 class AmdaNews {
9 7  
10   - public $user, $userdir, $infodir;
  8 + public $user, $userdir, $infodir;
11 9  
12   - public function __construct($user) {
13   - if ($user) {
14   - $this->user = $user;
15   - $this->userdir = USERPATH."/".$user."/";
16   - $this->infodir = HELPPATH."INFO/";
17   - }
18   - }
  10 + public function __construct($user) {
  11 + if ($user) {
  12 + $this->user = $user;
  13 + $this->userdir = USERPATH."/".$user."/";
  14 + $this->infodir = HELPPATH."INFO/";
  15 + }
  16 + }
19 17  
20 18 /**
21 19 * Add new info message and mark user dir with newInfo file
22 20 */
23   - public function addInfo($group){
24   -
25   - // special dir for group news
26   - if ($group) $this->infodir = BASE_PATH.'help/'.$group.'_INFO/';
27   - else $this->infodir = BASE_PATH.'help/INFO/';
28   -
29   - $timeStamp = time();
30   - $stringDate = date("Y-m-d",$timeStamp);
31   -
32   - if (!is_dir($this->infodir)) mkdir($this->infodir);
33   -
34   - $ff = fopen($this->infodir.'info.'.$timeStamp,'w');
35   - $infoToWrite = $_POST['info'];
36   -
37   - if (strpos($infoToWrite,"<a href=") !== false) {
38   - $infoToWrite = str_replace("<a href=","<a target='new' href=", $infoToWrite);
39   - }
40   - fwrite($ff,'<li><b>'.$stringDate.'</b><br/>'.$infoToWrite.PHP_EOL);
41   - fclose($ff);
42   -
43   - $userDir = BASE_PATH."data/";
44   -
45   - $users = glob($userDir."*");
46   - foreach ($users as $user) {
47   -
48   - $file = $user.'/newInfo';
49   - touch($file);
50   - chmod($file, 0775);
51   - }
52   -
53   - return array("msg" => "New Info is saved", "success" => true);
54   -
55   - }
  21 + public function addInfo($group){
  22 +
  23 + // special dir for group news
  24 + if ($group) $this->infodir = BASE_PATH.'help/'.$group.'_INFO/';
  25 + else $this->infodir = BASE_PATH.'help/INFO/';
  26 +
  27 + $timeStamp = time();
  28 + $stringDate = date("Y-m-d",$timeStamp);
  29 +
  30 + if (!is_dir($this->infodir)) mkdir($this->infodir);
  31 +
  32 + $ff = fopen($this->infodir.'info.'.$timeStamp,'w');
  33 + $infoToWrite = $_POST['info'];
  34 +
  35 + if (strpos($infoToWrite,"<a href=") !== false) {
  36 + $infoToWrite = str_replace("<a href=","<a target='new' href=", $infoToWrite);
  37 + }
  38 + fwrite($ff,'<li><b>'.$stringDate.'</b><br/>'.$infoToWrite.PHP_EOL);
  39 + fclose($ff);
  40 +
  41 + $userDir = BASE_PATH."data/";
  42 +
  43 + $users = glob($userDir."*");
  44 + foreach ($users as $user) {
  45 +
  46 + $file = $user.'/newInfo';
  47 + touch($file);
  48 + chmod($file, 0775);
  49 + }
  50 +
  51 + return array("msg" => "New Info is saved", "success" => true);
  52 +
  53 + }
56 54  
57 55 /**
58   -* Concate individual info messages inti one to be shown to user
  56 +* Concate individual info messages into one to be shown to user
59 57 */
60   - public function makeInfo($groups){
61   -
62   - if (file_exists($this->userdir.'lastLogin')) {
63   -
64   - $timeStamp = filemtime($this->userdir.'lastLogin');
65   -
66   - $ff = fopen($this->userdir.'INFO','w');
67   - fwrite($ff,'<IMG align="right" SRC="help/images/picto_amda.png"/><br/><h2>AMDA Latest News</h2><br/>');
68   - fclose($ff);
69   -
70   - $userGrps = explode(',',strtoupper($groups));
71   -
72   - foreach ($userGrps as $grp) {
73   - if (is_dir(HELPPATH.$grp."_INFO")) {
74   - $grpDir = HELPPATH.$grp."_INFO/";
75   - $grpInfoFiles = glob($grpDir."info*");
76   - $grpFileList = array();
77   -
78   - foreach ($grpInfoFiles as $file) {
79   - $grpFileList[filemtime($file)] = $file;
80   - }
81   -
82   - ksort($grpFileList);
83   - $grpFileList = array_reverse($grpFileList, TRUE);
84   -
85   - foreach ($grpFileList as $info) {
86   - if (filemtime($info) > $timeStamp) {
87   - file_put_contents($this->userdir.'INFO', file_get_contents($info), FILE_APPEND);
88   - $NN++;
89   - }
90   - }
91   - }
92   - }
93   -
94   - $publicInfoFiles = glob($this->infodir."info*");
95   - $fileList = array();
96   -
97   - foreach ($publicInfoFiles as $file) {
98   - $fileList[filemtime($file)] = $file;
99   - }
100   -
101   - ksort($fileList);
102   - $fileList = array_reverse($fileList, TRUE);
103   -
104   - $NN = 0;
105   -
106   - foreach ($fileList as $info) {
107   - if (filemtime($info) > $timeStamp) {
108   - file_put_contents($this->userdir.'INFO', file_get_contents($info), FILE_APPEND);
109   - $NN++;
110   - }
111   - }
112   -
113   - if ($NN == 0) {
114   - unlink($this->userdir.'INFO'); // No news
115   - return 0;
116   - }
117   - else return 1;
118   - }
119   - else return 0;
120   - }
  58 + public function makeInfo($groups){
  59 +
  60 + if (file_exists($this->userdir.'lastLogin')) {
  61 +
  62 + $timeStamp = filemtime($this->userdir.'lastLogin');
  63 +
  64 + $ff = fopen($this->userdir.'INFO','w');
  65 + fwrite($ff,'<IMG align="right" SRC="help/images/picto_amda.png"/><br/><h2>AMDA Latest News</h2><br/>');
  66 + fclose($ff);
  67 +
  68 + $userGrps = explode(',',strtoupper($groups));
  69 +
  70 + foreach ($userGrps as $grp) {
  71 + if (is_dir(HELPPATH.$grp."_INFO")) {
  72 + $grpDir = HELPPATH.$grp."_INFO/";
  73 + $grpInfoFiles = glob($grpDir."info*");
  74 + $grpFileList = array();
  75 +
  76 + foreach ($grpInfoFiles as $file) {
  77 + $grpFileList[filemtime($file)] = $file;
  78 + }
  79 +
  80 + ksort($grpFileList);
  81 + $grpFileList = array_reverse($grpFileList, TRUE);
  82 +
  83 + foreach ($grpFileList as $info) {
  84 + if (filemtime($info) > $timeStamp) {
  85 + file_put_contents($this->userdir.'INFO', file_get_contents($info), FILE_APPEND);
  86 + $NN++;
  87 + }
  88 + }
  89 + }
  90 + }
  91 +
  92 + $publicInfoFiles = glob($this->infodir."info*");
  93 + $fileList = array();
  94 +
  95 + foreach ($publicInfoFiles as $file) {
  96 + $fileList[filemtime($file)] = $file;
  97 + }
  98 +
  99 + ksort($fileList);
  100 + $fileList = array_reverse($fileList, TRUE);
  101 +
  102 + $NN = 0;
  103 +
  104 + foreach ($fileList as $info) {
  105 + if (filemtime($info) > $timeStamp) {
  106 + file_put_contents($this->userdir.'INFO', file_get_contents($info), FILE_APPEND);
  107 + $NN++;
  108 + }
  109 + }
  110 +
  111 + if ($NN == 0) {
  112 + unlink($this->userdir.'INFO'); // No news
  113 + return 0;
  114 + }
  115 + else return 1;
  116 + }
  117 + else return 0;
  118 + }
121 119 }
122 120 ?>
... ...
php/classes/UserMgr.php
... ... @@ -554,18 +554,18 @@ class UserMgr
554 554 // if new info exists it will be shown to :
555 555 // public => to all
556 556 // special => to group members
557   -// if (file_exists($this->userdir.'newInfo'))
558   -// {
559   -// $amdaInfo = new AmdaNews($this->user);
560   -// // if status = 0 - it is special info to group members only
561   -// // else to all
562   -// $info = $this->getUserInfo($this->user);
563   -// $status = $amdaInfo->makeInfo($info['group']);
564   -//
565   -// if ($status) $this->isNewInfo = true;
566   -//
567   -// unlink($this->userdir.'newInfo');
568   -// }
  557 + if (file_exists($this->userdir.'newInfo'))
  558 + {
  559 + $amdaInfo = new AmdaNews($this->user);
  560 + // if status = 0 - it is special info to group members only
  561 + // else to all
  562 + $info = $this->getUserInfo($this->user);
  563 + $status = $amdaInfo->makeInfo($info['group']);
  564 +
  565 + if ($status) $this->isNewInfo = true;
  566 +
  567 + unlink($this->userdir.'newInfo');
  568 + }
569 569 touch($this->userdir.'newLogin');
570 570  
571 571 $this->setPath();
... ...
php/downloadPlot.php
... ... @@ -18,9 +18,11 @@ if (!isset($_POST[&#39;tabId&#39;]))
18 18 }
19 19 $tabId = $_POST['tabId'];
20 20  
21   -download_plot($sessionId, $tabId);
  21 +$preview = empty($_POST['preview']) ? FALSE : $_POST['preview'];
22 22  
23   -function download_plot($sessionId, $tabId)
  23 +download_plot($sessionId, $tabId, $preview);
  24 +
  25 +function download_plot($sessionId, $tabId, $preview)
24 26 {
25 27 // Must be fresh start
26 28 if( headers_sent() )
... ... @@ -35,7 +37,12 @@ function download_plot($sessionId, $tabId)
35 37 ini_set('zlib.output_compression', 'Off');
36 38  
37 39 //Build file path
38   - $fullPath = USERPATH."/".$sessionId."/RES/Plot_/".$tabId.".png";
  40 + if (!$preview) {
  41 + $fullPath = USERPATH."/".$sessionId."/RES/Plot_/".$tabId.".png";
  42 + }
  43 + else {
  44 + $fullPath = USERPATH."/".$sessionId."/RES/Plot_/".str_replace('plot_','instant',$tabId).".png";
  45 + }
39 46 // File Exists?
40 47 if( file_exists($fullPath) ){
41 48  
... ... @@ -64,4 +71,4 @@ function download_plot($sessionId, $tabId)
64 71 }
65 72 }
66 73  
67   -?>
68 74 \ No newline at end of file
  75 +?>
... ...
php/my_config.template.php
... ... @@ -32,4 +32,6 @@ define(&#39;NEWMETA&#39;, &#39;{:NEWMETA:}&#39;);
32 32 define('AMDA_SPASE_INTERFACE', '{:AMDA_SPASE_INTERFACE:}');
33 33 define('AMDAINTERNALDIR', '{:AMDAINTERNALDIR:}');
34 34  
  35 +define('REST_API_URL', '{:REST_API_URL:}');
  36 +define('API_DOC_PATH', '{:API_DOC_PATH:}');
35 37 ?>
... ...
php/rest/apidoc.json
... ... @@ -2,6 +2,6 @@
2 2 "name": "AMDA web-services Rest API",
3 3 "description": "The web-services provided by AMDA aim at giving to a user access public data as well as its private data. These data may be private or shared Time Tables, public or user-defined parameters. All these webservices are also available through a SOAP interface.",
4 4 "title": "AMDA Web-services Rest API documentation",
5   - "url": "http://amda.irap.omp.eu/php/rest/",
6   - "sampleUrl": "http://amda.irap.omp.eu/php/rest/"
  5 + "url": "{:REST_API_URL:}/php/rest/",
  6 + "sampleUrl": "{:REST_API_URL:}/php/rest/"
7 7 }
... ...
scripts/apiDoc.php 0 → 100644
... ... @@ -0,0 +1,12 @@
  1 +<?php
  2 +require_once dirname(__FILE__) . '/../php/config.php';
  3 +
  4 +$restFolderPath = AMDA_IHM . "php/rest";
  5 +$apidocConfigFile = $restFolderPath . "apidoc.json";
  6 +$tempConfigFile = tempnam(sys_get_temp_dir(), 'apidoc.json');
  7 +
  8 +$apidocConfig = str_replace("{:REST_API_URL:}", REST_API_URL, file_get_contents($apidocConfigFile));
  9 +file_put_contents($tempConfigFile, $apidocConfig);
  10 +
  11 +echo exec("apidoc -v -c $tempConfigFile -i $restFolderPath -o " . API_DOC_PATH);
  12 +?>
... ...
update_amda/updateAmda
... ... @@ -71,10 +71,6 @@
71 71 $UPDATEDIR/cleanNewMetaLight
72 72 echo "clean in NEWMETA : done"
73 73  
74   - echo "cleaning in AMDA_IHM/generic_data ..."
75   - $UPDATEDIR/cleanExistingInstallation
76   - echo "clean in AMDA_IHM/generic_data : done"
77   -
78 74 echo "making Amda From Spase..."
79 75 if [ $SYNCHRO ]
80 76 then
... ... @@ -88,6 +84,10 @@
88 84 php $UPDATEDIR/makeTree.php
89 85 echo "make Tree : done"
90 86  
  87 + echo "cleaning in AMDA_IHM/generic_data ..."
  88 + $UPDATEDIR/cleanExistingInstallation
  89 + echo "clean in AMDA_IHM/generic_data : done"
  90 +
91 91 echo "copying 2 amda..."
92 92 $UPDATEDIR/cp2amda
93 93 echo "copy 2 amda : done"
... ...