Subject: [xsl] Schema keys and XSLT implementation From: iwantto keepanon <iwanttokeepanon@xxxxxxxx> Date: Thu, 28 Jul 2005 05:26:05 +0400 (MSD) |
I have a XLST that reads XML from zap2it.com (via SOAP) and I declare several keys. I was reading their schema and it also has similar 'xsd:key', 'xsd:keyref', and 'xsd:unique' elements. My question is -- is my xsl:key statements redundant? And can I just phrase a "key()" search function based on the schema, or is the schema for documentation only? I have read "XSL Transformations" (http://www.w3.org/TR/xslt), but they dont mention a schema connection. BTW, this is a general XSLT language question ... but if it depends on implementation I am using xmlsoft.org (aka. Gnome) libxslt v1.1.12. These are my xsl:key statements: <xsl:key name="station_keyref_schedule" match="./ns1:schedules/ns1:schedule" use="@station" /> <xsl:key name="program_key" match="./ns1:programs/ns1:program" use="@id" /> <xsl:key name="genre_keyref" match="./ns1:genres/ns1:programGenre" use="@program" /> <xsl:key name="crew_keyref" match="./ns1:productionCrew/ns1:crew" use="@program" /> And the relevant schema portion (http://docs.tms.tribune.com/tech/xml/schemas/tmsxtvd.xsd): <xsd:key name="station_key"> <xsd:selector xpath="./stations/station"/> <xsd:field xpath="@id"/> </xsd:key> <xsd:keyref name="station_keyref_schedule" refer="tms:station_key"> <xsd:selector xpath="./schedules/schedule"/> <xsd:field xpath="@station"/> </xsd:keyref> <xsd:unique name="program_key"> <xsd:selector xpath="./programs/program"/> <xsd:field xpath="@id"/> </xsd:unique> <xsd:keyref name="crew_keyref" refer="tms:program_key"> <xsd:selector xpath="./productionCrew/crew"/> <xsd:field xpath="@program"/> </xsd:keyref> <xsd:keyref name="genre_keyref" refer="tms:program_key"> <xsd:selector xpath="./genres/programGenre"/> <xsd:field xpath="@program"/> </xsd:keyref> The XML outline is: <xtvd from='2005-07-20T11:30:00Z' to='2005-07-21T00:00:00Z' schemaVersion='1.3' xmlns='urn: TMSWebServices' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn: TMSWebServices http://docs.tms.tribune.com/tech/xml/schemas/tmsxtvd.xsd'> ... <stations> <station id="10398"> <callSign>KDAF</callSign><name>KDAF</name><fccChannelNumber>33</fccChannelNumber><affiliate>WB Affiliate</affiliate> </station> <station id="10402"> <callSign>KDFW</callSign><name>KDFW</name><fccChannelNumber>4</fccChannelNumber><affiliate>Fox Affiliate</affiliate> </station> </stations> <schedules><schedule program="SH6948700000" station="10398" time="2005-07-20T11:30:00Z" duration="PT00H30M"/> ... <schedule program="SH1966900000" station="10402" time="2005-07-20T11:00:00Z" duration="PT01H00M"/> ... </schedules> <programs> ... <program id="EP0000510180"><title>A Different World</title><subtitle>When One Door Closes ... <subtitle><description>A Japanese corporation woos Dwayne for his software; Whitley is pregnant; guests Diahann Carroll, Patti LaBelle.</description><showType>Series</showType><series>SH000051</ series><syndicatedEpisodeNumber>9216B</syndicatedEpisodeNumber><originalAirDate>1993-05-08</ originalAirDate></program> ... <program id="SH1966900000"><title>Good Day at 6:00AM</title><description>Henderson, Ryan.</ description><showType>Series</showType><series>SH196690</series><originalAirDate>2001-06-21</ originalAirDate></program> ... </programs> <productionCrew><crew program="EP0000510180"><member><role>Actor</role><givenname>Jasmine</ givenname><surname>Guy</surname></member> ... </crew> ... </productionCrew> <genres><programGenre program="EP0000510180"><genre><class>Sitcom</class><relevance>0</relevance></ genre></programGenre> ... </genres> </xtvd> Thx for any pointers .... -- Rodman
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Need to override previous, Taco Fleur \(@DataBr | Thread | RE: [xsl] Schema keys and XSLT impl, Michael Kay |
[xsl] Need to override previously c, Taco Fleur | Date | [xsl] Antenna House Tutorial update, Keiko Hiraide |
Month |