mwtoxml.xtr

来自「Delphi XML & XPATH源代码」· XTR 代码 · 共 371 行

XTR
371
字号
<XmlTransformation Version="1.0">
<Transform Direction="ToXml" DataEncoding="ISO-8859-1">
  <SelectEach from="DATAPACKET\ROWDATA\ROW" dest="\movie-watcher">
    <SelectEach from="movie\ROWmovie" dest="\movies\movie">
      <Select from="@id" dest="@id"/>
      <Select from="@rating" dest="@rating"/>
      <Select from="@logo-url" dest="@logo-url"/>
      <Select from="@url" dest="@url"/>
      <Select from="@name" dest="\name"/>
      <Select from="@length" dest="\length"/>
      <Select from="@director" dest="\director"/>
      <Select from="@synopsis" dest="\synopsis"/>
      <SelectEach from="star\ROWstar" dest="\starring\star">
        <Select from="@star" dest="\star"/>
      </SelectEach>
    </SelectEach>
    <SelectEach from="cinema\ROWcinema" dest="\cinemas\cinema">
      <Select from="@id" dest="@id"/>
      <Select from="@name" dest="\name"/>
      <Select from="@phone" dest="\phone"/>
      <Select from="@address" dest="\address"/>
      <Select from="@directions" dest="\directions"/>
      <Select from="@candy-bar" dest="\facilities\candy-bar"/>
      <Select from="@disabled-access" dest="\facilities\disabled-access"/>
      <SelectEach from="prices\ROWprices" dest="\pricing\prices">
        <Select from="@pid" dest="@id"/>
        <Select from="@name" dest="\name"/>
        <Select from="@period" dest="\period"/>
        <Select from="@adult" dest="\adult"/>
        <Select from="@child" dest="\child"/>
        <Select from="@discount" dest="\discount"/>
      </SelectEach>
    </SelectEach>
    <SelectEach from="screening\ROWscreening" dest="\screenings\screening">
      <Select from="@movie-id" dest="@movie-id"/>
      <Select from="@cinema-id" dest="@cinema-id"/>
      <Select from="@start-date" Format_Date="MM/dd/yyyy" dest="\start-date"/>
      <Select from="@end-date" Format_Date="MM/dd/yyyy" dest="\end-date"/>
      <Select from="@digital-sound" dest="\features\digital-sound"/>
      <Select from="@no-passes" dest="\restrictions\no-passes"/>
      <SelectEach from="sessions\ROWsessions" dest="\sessions\session">
        <Select from="@session" Format_Time="h:mm AMPM" dest="\session"/>
        <Select from="@price-id" dest="@price-id"/>
      </SelectEach>
    </SelectEach>
  </SelectEach>
</Transform>
<XmlSchema RootName="movie-watcher"><![CDATA[<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="name" type="nameType"/>
  <xs:simpleType name="nameType">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>
  <xs:element name="length" type="lengthType"/>
  <xs:simpleType name="lengthType">
    <xs:restriction base="xs:integer"/>
  </xs:simpleType>
  <xs:element name="director" type="directorType"/>
  <xs:simpleType name="directorType">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>
  <xs:element name="star" type="starType"/>
  <xs:simpleType name="starType">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>
  <xs:element name="starring" type="starringType"/>
  <xs:complexType name="starringType">
    <xs:sequence>
      <xs:element name="star" type="starType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="synopsis" type="synopsisType"/>
  <xs:simpleType name="synopsisType">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>
  <xs:element name="movie" type="movieType"/>
  <xs:complexType name="movieType">
    <xs:sequence>
      <xs:element name="name" type="nameType"/>
      <xs:element name="length" type="lengthType"/>
      <xs:element name="director" type="directorType"/>
      <xs:element name="starring" type="starringType" minOccurs="1" maxOccurs="unbounded"/>
      <xs:element name="synopsis" type="synopsisType"/>
    </xs:sequence>
    <xs:attribute name="id" type="xs:string" use="required"/>
    <xs:attribute name="rating" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="NR=NR"/>
          <xs:enumeration value="G=G"/>
          <xs:enumeration value="PG=PG"/>
          <xs:enumeration value="PG-13=PG-13"/>
          <xs:enumeration value="R=R"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="logo-url" type="xs:string"/>
    <xs:attribute name="url" type="xs:string"/>
  </xs:complexType>
  <xs:element name="movies" type="moviesType"/>
  <xs:complexType name="moviesType">
    <xs:sequence>
      <xs:element name="movie" type="movieType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="phone" type="phoneType"/>
  <xs:simpleType name="phoneType">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>
  <xs:element name="address" type="addressType"/>
  <xs:simpleType name="addressType">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>
  <xs:element name="directions" type="directionsType"/>
  <xs:simpleType name="directionsType">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>
  <xs:element name="candy-bar" type="candy-barType"/>
  <xs:simpleType name="candy-barType">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>
  <xs:element name="disabled-access" type="disabled-accessType"/>
  <xs:simpleType name="disabled-accessType">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>
  <xs:element name="facilities" type="facilitiesType"/>
  <xs:complexType name="facilitiesType">
    <xs:sequence>
      <xs:element name="candy-bar" type="candy-barType"/>
      <xs:element name="disabled-access" type="disabled-accessType"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="period" type="periodType"/>
  <xs:simpleType name="periodType">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>
  <xs:element name="adult" type="adultType"/>
  <xs:simpleType name="adultType">
    <xs:restriction base="xs:float"/>
  </xs:simpleType>
  <xs:element name="child" type="childType"/>
  <xs:simpleType name="childType">
    <xs:restriction base="xs:float"/>
  </xs:simpleType>
  <xs:element name="discount" type="discountType"/>
  <xs:simpleType name="discountType">
    <xs:restriction base="xs:float"/>
  </xs:simpleType>
  <xs:element name="prices" type="pricesType"/>
  <xs:complexType name="pricesType">
    <xs:sequence>
      <xs:element name="name" type="nameType"/>
      <xs:element name="period" type="periodType"/>
      <xs:element name="adult" type="adultType"/>
      <xs:element name="child" type="childType"/>
      <xs:element name="discount" type="discountType"/>
    </xs:sequence>
    <xs:attribute name="id" type="xs:string" use="required"/>
  </xs:complexType>
  <xs:element name="pricing" type="pricingType"/>
  <xs:complexType name="pricingType">
    <xs:sequence>
      <xs:element name="prices" type="pricesType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="cinema" type="cinemaType"/>
  <xs:complexType name="cinemaType">
    <xs:sequence>
      <xs:element name="name" type="nameType"/>
      <xs:element name="phone" type="phoneType"/>
      <xs:element name="address" type="addressType"/>
      <xs:element name="directions" type="directionsType"/>
      <xs:element name="facilities" type="facilitiesType"/>
      <xs:element name="pricing" type="pricingType"/>
    </xs:sequence>
    <xs:attribute name="id" type="xs:string" use="required"/>
  </xs:complexType>
  <xs:element name="cinemas" type="cinemasType"/>
  <xs:complexType name="cinemasType">
    <xs:sequence>
      <xs:element name="cinema" type="cinemaType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="start-date" type="start-dateType"/>
  <xs:simpleType name="start-dateType">
    <xs:restriction base="xs:date"/>
  </xs:simpleType>
  <xs:element name="end-date" type="end-dateType"/>
  <xs:simpleType name="end-dateType">
    <xs:restriction base="xs:date"/>
  </xs:simpleType>
  <xs:element name="digital-sound" type="digital-soundType"/>
  <xs:simpleType name="digital-soundType">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>
  <xs:element name="features" type="featuresType"/>
  <xs:complexType name="featuresType">
    <xs:sequence>
      <xs:element name="digital-sound" type="digital-soundType"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="no-passes" type="no-passesType"/>
  <xs:simpleType name="no-passesType">
    <xs:restriction base="xs:string"/>
  </xs:simpleType>
  <xs:element name="restrictions" type="restrictionsType"/>
  <xs:complexType name="restrictionsType">
    <xs:sequence>
      <xs:element name="no-passes" type="no-passesType"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="session" type="sessionType"/>
  <xs:complexType name="sessionType">
    <xs:sequence/>
    <xs:attribute name="price-id" type="xs:string" use="required"/>
  </xs:complexType>
  <xs:element name="sessions" type="sessionsType"/>
  <xs:complexType name="sessionsType">
    <xs:sequence>
      <xs:element name="session" type="sessionType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="screening" type="screeningType"/>
  <xs:complexType name="screeningType">
    <xs:sequence>
      <xs:element name="start-date" type="start-dateType"/>
      <xs:element name="end-date" type="end-dateType"/>
      <xs:element name="features" type="featuresType"/>
      <xs:element name="restrictions" type="restrictionsType"/>
      <xs:element name="sessions" type="sessionsType"/>
    </xs:sequence>
    <xs:attribute name="movie-id" type="xs:string" use="required"/>
    <xs:attribute name="cinema-id" type="xs:string" use="required"/>
  </xs:complexType>
  <xs:element name="screenings" type="screeningsType"/>
  <xs:complexType name="screeningsType">
    <xs:sequence>
      <xs:element name="screening" type="screeningType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="movie-watcher" type="movie-watcherType"/>
  <xs:complexType name="movie-watcherType">
    <xs:sequence>
      <xs:element name="movies" type="moviesType"/>
      <xs:element name="cinemas" type="cinemasType"/>
      <xs:element name="screenings" type="screeningsType"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>]]></XmlSchema>
<CdsSkeleton><![CDATA[<DATAPACKET Version="2.0">
<METADATA>
  <FIELDS>
    <FIELD attrname="id" fieldtype="string" WIDTH="3" required="true"/>
    <FIELD attrname="movie" fieldtype="nested">
      <FIELDS>
        <FIELD attrname="id" fieldtype="string" WIDTH="3" required="true"/>
        <FIELD attrname="rating" fieldtype="string" WIDTH="5" required="true"/>
        <FIELD attrname="logo-url" fieldtype="string" WIDTH="50"/>
        <FIELD attrname="url" fieldtype="string" WIDTH="50"/>
        <FIELD attrname="name" fieldtype="string" WIDTH="40"/>
        <FIELD attrname="length" fieldtype="i4"/>
        <FIELD attrname="director" fieldtype="string" WIDTH="30"/>
        <FIELD attrname="synopsis" fieldtype="string" WIDTH="1000"/>
        <FIELD attrname="star" fieldtype="nested">
          <FIELDS>
            <FIELD attrname="star" fieldtype="string" WIDTH="30"/>
          </FIELDS>
          <PARAMS/>
        </FIELD>
      </FIELDS>
      <PARAMS/>
    </FIELD>
    <FIELD attrname="cinema" fieldtype="nested">
      <FIELDS>
        <FIELD attrname="id" fieldtype="string" WIDTH="3" required="true"/>
        <FIELD attrname="name" fieldtype="string" WIDTH="30" required="true"/>
        <FIELD attrname="phone" fieldtype="string" WIDTH="12" required="true"/>
        <FIELD attrname="address" fieldtype="string" WIDTH="50" required="true"/>
        <FIELD attrname="directions" fieldtype="string" WIDTH="1000"/>
        <FIELD attrname="candy-bar" fieldtype="string" WIDTH="1"/>
        <FIELD attrname="disabled-access" fieldtype="string" WIDTH="1"/>
        <FIELD attrname="prices" fieldtype="nested">
          <FIELDS>
            <FIELD attrname="pid" fieldtype="string" WIDTH="5" required="true"/>
            <FIELD attrname="name" fieldtype="string" WIDTH="30" required="true"/>
            <FIELD attrname="period" fieldtype="string" WIDTH="30" required="true"/>
            <FIELD attrname="adult" fieldtype="r8" required="true"/>
            <FIELD attrname="child" fieldtype="r8" required="true"/>
            <FIELD attrname="discount" fieldtype="r8"/>
          </FIELDS>
          <PARAMS/>
        </FIELD>
      </FIELDS>
      <PARAMS/>
    </FIELD>
    <FIELD attrname="screening" fieldtype="nested">
      <FIELDS>
        <FIELD attrname="movie-id" fieldtype="string" WIDTH="3" required="true"/>
        <FIELD attrname="cinema-id" fieldtype="string" WIDTH="2" required="true"/>
        <FIELD attrname="start-date" fieldtype="date" required="true"/>
        <FIELD attrname="end-date" fieldtype="date" required="true"/>
        <FIELD attrname="digital-sound" fieldtype="string" WIDTH="3"/>
        <FIELD attrname="no-passes" fieldtype="string" WIDTH="1"/>
        <FIELD attrname="sessions" fieldtype="nested">
          <FIELDS>
            <FIELD attrname="session" fieldtype="time" required="true"/>
            <FIELD attrname="price-id" fieldtype="string" WIDTH="5" required="true"/>
          </FIELDS>
          <PARAMS/>
        </FIELD>
      </FIELDS>
      <PARAMS/>
    </FIELD>
  </FIELDS>
  <PARAMS/>
</METADATA><ROWDATA/></DATAPACKET>
]]></CdsSkeleton>
<XslTransform/>
<Skeleton><![CDATA[<?xml version="1.0"?>
<!-- Movie watchers data -->
<movie-watcher>
  <movies>
    <movie id="" rating="" logo-url="" url="">
      <name></name>
      <length></length>
      <director></director>
      <starring>
        <star></star>
      </starring>
      <synopsis></synopsis>
    </movie>
  </movies>
  <cinemas>
    <cinema id="">
      <name></name>
      <phone></phone>
      <address></address>
      <directions></directions>
      <facilities>
        <candy-bar></candy-bar>
        <disabled-access></disabled-access>
      </facilities>
      <pricing>
        <prices id="">
          <name></name>
          <period></period>
          <adult></adult>
          <child></child>
          <discount></discount>
        </prices>
      </pricing>
    </cinema>
  </cinemas>
  <screenings>
    <screening movie-id="" cinema-id="">
      <start-date></start-date>
      <end-date></end-date>
      <features>
        <digital-sound></digital-sound>
      </features>
      <restrictions>
        <no-passes></no-passes>
      </restrictions>
      <sessions>
        <session price-id=""/>
      </sessions>
    </screening>
  </screenings>
</movie-watcher>
]]></Skeleton>
</XmlTransformation>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?