вот пример: | Код | <?xml version="1.0"?> <ArrayOfVacancy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Vacancy> <Id xmlns="http://www.сайт.ru/">6185</Id> <CreationDatetime xmlns="http://www.сайт.ru/">2009-08-04T12:16:10</CreationDatetime> <ModificationDatetimeString xmlns="http://www.сайт.ru/">04.08.2009 12:16</ModificationDatetimeString> <Comment xmlns="http://www.сайт.ru/" /> <ShowsCount xmlns="http://www.сайт.ru/">13</ShowsCount> <Company xmlns="http://www.сайт.ru/"> <Id>192</Id> <Name>Этис-недвижимость</Name> <Description>Все услуги на рыне недвижимости. Жилелям Амурского поселка - скидка на услуги -20%.</Description> <Inn xsi:nil="true" /> </Company> <Title xmlns="http://www.сайт.ru/">Сварщик</Title> <TextFormattedPrice xmlns="http://www.сайт.ru/">не указана</TextFormattedPrice> <ActualDatetime xmlns="http://www.сайт.ru/">2009-08-11T14:11:52</ActualDatetime> <UniqueId xmlns="http://www.сайт.ru/">3b4520f3-229b-4145-9f87-8da42d86d900</UniqueId> <Location xmlns="http://www.сайт.ru/"> <Id>21</Id> </Location> <ViewURL xmlns="http://www.сайт.ru/">/rabota/vacancy/Show.aspx?id=6185</ViewURL> <AgeFrom xsi:nil="true" xmlns="http://www.сайт.ru/" /> <AgeTo xsi:nil="true" xmlns="http://www.сайт.ru/" /> <EducationLevel xmlns="http://www.сайт.ru/"> <Id>6</Id> <Name>Незаконченное высшее</Name> <ShortName>н/в</ShortName> </EducationLevel> <Seniority xmlns="http://www.сайт.ru/"> <Id>18</Id> <Value>16</Value> </Seniority> <WorkSchedule xmlns="http://www.сайт.ru/"> <Id>5</Id> <Name>Удаленно / на дому</Name> </WorkSchedule> </Vacancy> </ArrayOfVacancy>
|
как видите, здесь у вакансий есть ID и у компаний тоже и вообще много таких пересекающихся моментов. К чему все это я - у меня в итоге получается пустой rss, хотя xslt-шаблон, которым я пользуюсь нормально преобразовывал вот этот исходник: | Код | <?xml version="1.0"?> <ArrayOfVacancy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Vacancy> <Id xmlns="http://www.сайт.ru/">6185</Id> <CreationDatetime xmlns="http://www.сайт.ru/">2009-08-04T12:16:10</CreationDatetime> <ModificationDatetimeString xmlns="http://www.сайт.ru/">04.08.2009 12:16</ModificationDatetimeString> <Comment xmlns="http://www.сайт.ru/" /> <ShowsCount xmlns="http://www.сайт.ru/">13</ShowsCount> <Title xmlns="http://www.сайт.ru/">Сварщик</Title> <TextFormattedPrice xmlns="http://www.сайт.ru/">не указана</TextFormattedPrice> <ActualDatetime xmlns="http://www.сайт.ru/">2009-08-11T14:11:52</ActualDatetime> <UniqueId xmlns="http://www.сайт.ru/">3b4520f3-229b-4145-9f87-8da42d86d900</UniqueId> <ViewURL xmlns="http://www.сайт.ru/">/rabota/vacancy/Show.aspx?id=6185</ViewURL> <AgeFrom xsi:nil="true" xmlns="http://www.сайт.ru/" /> <AgeTo xsi:nil="true" xmlns="http://www.сайт.ru/" /> </Vacancy> </ArrayOfVacancy>
|
Как видите, это тот же XML, только в него не добавлены компания и т.п. узлы внутри Вакансии. Вот xslt-шаблон: | Код | <?xml version="1.0" encoding="utf-8" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"> <xsl:output method="xml" encoding="utf-8" version="1.0" standalone="yes"/>
<xsl:param name="main_url" />
<xsl:template match="/"> <xsl:element name="rss"> <xsl:attribute name="version">2.0</xsl:attribute> <xsl:element name="channel"> <xsl:element name="title">Работа</xsl:element> <xsl:element name="link"> <xsl:value-of select="$main_url"/> </xsl:element> <xsl:element name="description">Курсы сайта Работа</xsl:element> <xsl:for-each select="ArrayOfEducationAd/EducationAd"> <xsl:variable name="b"> <xsl:value-of select="ViewURL"/> </xsl:variable> <xsl:element name="item"> <xsl:element name="title"> <xsl:value-of select="Title"/> </xsl:element> <xsl:element name="link"> <xsl:value-of select="concat($main_url,$b)"/> </xsl:element> <xsl:element name="description"> <xsl:value-of select="Description"></xsl:value-of> </xsl:element> </xsl:element> </xsl:for-each> </xsl:element> </xsl:element> </xsl:template> </xsl:stylesheet>
|
Тут в качестве main_url передается название домена сайта, чтоб можно было URL составить потом. В общем у меня не получается преобразовать. Все элементы - пустые, как если бы исходник был пустой, а он как раз заполнен данными. Может ли это быть следствием добавления внутрь Вакансии еще узлов, в которых, в свою очередь, тоже есть узлы? Когда был один уровень (список вакансий/вакансия) все работало на ура. Это сообщение отредактировал(а) lankin - 5.10.2009, 13:57
|