Solved

generate xml from xsl using xsl v2

Posted on 2013-12-09
8
254 Views
Last Modified: 2013-12-24
Dear all,
I use this <xsl:template name="ignorewhatever" match="template[state = 1]" > 
to select template with state =1
how to select state =1 and template/template_type[type_id=1 ??
Also need to wrapper the xml output with <ROOT>
thanks
0
Comment
Question by:ethar1
  • 4
  • 4
8 Comments
 
LVL 60

Expert Comment

by:Geert Bormans
ID: 39705905
to wrap the XML output with ROOT

<xsl:template match="/">
<ROOT>
<xsl:apply-templates/>
</ROOT>
</xsl:template>

and the other test
<xsl:template name="ignorewhatever" match="template[state = 1][template_type[type_id=1]]" >
0
 

Author Comment

by:ethar1
ID: 39706042
<xsl:template match="/">
 
<ROOT>

<xsl:template match="template[not(state = 1)]"/>


</ROOT>
</xsl:template>

give an error
0
 

Author Comment

by:ethar1
ID: 39706053
I think  this expression has a problem
match="template[state = 1][template_type[type_id=1]]"
0
Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

 
LVL 60

Expert Comment

by:Geert Bormans
ID: 39706070
The expression does not have a problem.
You made a copying error,
you can't have a template nested inside a template
look at what I posted and what you made from it
0
 

Author Comment

by:ethar1
ID: 39706102
ok, what about this
<xsl:template match="template[not(state = 1)][ template_type[not(type_id=24)]]"/>
0
 
LVL 60

Expert Comment

by:Geert Bormans
ID: 39706201
seems a valid XPath expression
Of course, I have no idea what the source XML is
0
 

Author Comment

by:ethar1
ID: 39706638
	<template id="47253">
		<id>47253</id>
		<state>1</state>
		<price>75</price>
		<exc_price>4500</exc_price>
		<downloads>1</downloads>
		<is_flash>0</is_flash>
		<is_adult>0</is_adult>
		<is_full_site>0</is_full_site>
		<inserted_date>2013-11-05 00:00:00</inserted_date>
		<update_date>2013-11-25 21:33:32</update_date>
		<width>1680px</width>
		<is_real_size>1</is_real_size>
		<template_type>
			<type_id>24</type_id>
			<type_name>Joomla Templates</type_name>
		</template_type>
		<author>
			<author_id>247</author_id>
			<author_nick>Jenny</author_nick>
		</author>
		<live_preview_url>joomla_47253</live_preview_url>
		<package>
			<package_id>248</package_id>
		</package>
		<properties>
			<property>
				<propertyName>Features</propertyName>
				<propertyValues>
					<propertyValue>Admin Panel</propertyValue>
					<propertyValue>Responsive</propertyValue>
				</propertyValues>
			</property>
			<property>
				<propertyName>Animation</propertyName>
				<propertyValues>
					<propertyValue>HTML plus JS</propertyValue>
				</propertyValues>
			</property>
			<property>
				<propertyName>Functionality</propertyName>
				<propertyValues>
					<propertyValue>blog</propertyValue>
				</propertyValues>
			</property>
			<property>
				<propertyName>Layout</propertyName>
				<propertyValues>
					<propertyValue>2 columns</propertyValue>
				</propertyValues>
			</property>
			<property>
				<propertyName>livePreviewURL</propertyName>
				<propertyValues>
					<propertyValue>joomla_47253</propertyValue>
				</propertyValues>
			</property>
			<property>
				<propertyName>width</propertyName>
				<propertyValues>
					<propertyValue>1680px</propertyValue>
				</propertyValues>
			</property>
			<property>
				<propertyName>Language support</propertyName>
				<propertyValues>
					<propertyValue>English</propertyValue>
				</propertyValues>
			</property>
			<property>
				<propertyName>joomla-engine</propertyName>
				<propertyValues>
					<propertyValue>2.5.9</propertyValue>
				</propertyValues>
			</property>
			<property>
				<propertyName>joomla-compatibility</propertyName>
				<propertyValues>
					<propertyValue>2.5.9</propertyValue>
					<propertyValue>2.5.8</propertyValue>
					<propertyValue>2.5.7</propertyValue>
				</propertyValues>
			</property>
			<property>
				<propertyName>Installation</propertyName>
				<propertyValues>
					<propertyValue>Installation and set up instructions are attached (look for Documentation folder).</propertyValue>
				</propertyValues>
			</property>
		</properties>
		<screenshots_list>
			<screenshot>
				<uri>47200/47253-joom-b-p.jpg</uri>
				<filemtime>2013-10-31 05:10:14</filemtime>
			</screenshot>
			<screenshot>
				<uri>47200/47253-rs.jpg</uri>
				<filemtime>2013-10-31 05:10:15</filemtime>
			</screenshot>
			<screenshot>
				<uri>47200/47253-joom-b.jpg</uri>
				<filemtime>2013-10-31 05:10:14</filemtime>
				<main_preview>1</main_preview>
			</screenshot>
			<screenshot>
				<uri>47200/47253-banner.jpg</uri>
				<filemtime>2013-10-31 05:10:14</filemtime>
			</screenshot>
			<screenshot>
				<uri>47200/47253-origin.jpg</uri>
				<filemtime>2013-10-31 05:10:14</filemtime>
			</screenshot>
			<screenshot>
				<uri>47200/47253-original-1200.jpg</uri>
				<filemtime>2013-10-31 05:10:15</filemtime>
			</screenshot>
			<screenshot>
				<uri>47200/47253-modules.jpg</uri>
				<filemtime>2013-10-31 05:10:14</filemtime>
			</screenshot>
			<screenshot>
				<uri>47200/47253-m.jpg</uri>
				<filemtime>2013-10-31 05:10:14</filemtime>
				<small_preview>1</small_preview>
			</screenshot>
			<screenshot>
				<uri>47200/47253-origin-1200.jpg</uri>
				<filemtime>2013-10-31 05:10:14</filemtime>
			</screenshot>
			<screenshot>
				<uri>47200/47253-smart1-responsive.jpg</uri>
				<filemtime>2013-10-31 05:10:15</filemtime>
			</screenshot>
			<screenshot>
				<uri>47200/47253-big.jpg</uri>
				<filemtime>2013-11-22 10:11:28</filemtime>
			</screenshot>
			<screenshot>
				<uri>47200/47253-tablet-responsive.jpg</uri>
				<filemtime>2013-10-31 05:10:15</filemtime>
			</screenshot>
			<screenshot>
				<uri>47200/47253-med.jpg</uri>
				<filemtime>2013-10-31 05:10:14</filemtime>
			</screenshot>
			<screenshot>
				<uri>47200/47253-smart2-responsive.jpg</uri>
				<filemtime>2013-10-31 05:10:15</filemtime>
			</screenshot>
			<screenshot>
				<uri>47200/47253-joom.html</uri>
				<filemtime>2013-10-31 05:10:14</filemtime>
			</screenshot>
			<screenshot>
				<uri>47200/47253-original.jpg</uri>
				<filemtime>2013-10-31 05:10:15</filemtime>
			</screenshot>
		</screenshots_list>
		<keywords>yoga studio club health body mind spirit stress specials services announcement benefits classes practice hatha kripalu yoga basics pilates ashtanga &amp;amp; anusara pre-natal specialized karma teacher training iyengar kids yoga meditation therapeutic</keywords>
		<styles/>
		<categories>
			<category>
				<category_id>14</category_id>
				<category_name>Sport</category_name>
			</category>
		</categories>
		<sources_available_list>
			<source>
				<source_id>3</source_id>
			</source>
			<source>
				<source_id>12</source_id>
			</source>
		</sources_available_list>
		<sources> .PSD&lt;br&gt;.PHP</sources>
		<software_required_list>
			<software>
				<software_id>8</software_id>
			</software>
			<software>
				<software_id>26</software_id>
			</software>
			<software>
				<software_id>53</software_id>
			</software>
			<software>
				<software_id>238</software_id>
			</software>
		</software_required_list>
		<software_required> Adobe Photoshop CS+; Adobe Dreamweaver 8+ (or any php-editor); For uncompressing a template ZIP package:&lt;br&gt; WinZip 9+ (Windows);&lt;br&gt; Stuffit Expander 10+ (Mac); Joomla! 2.5.9</software_required>
		<pages>
			<page>
				<name>Main Page</name>
				<screenshots>
					<scr>
						<description>Real Size Screenshot</description>
						<uri>47200/47253-rs.jpg</uri>
						<scr_type_id>78</scr_type_id>
						<width>970</width>
						<height>280</height>
						<href/>
					</scr>
					<scr>
						<description/>
						<uri>47200/47253-joom.html</uri>
						<scr_type_id>179</scr_type_id>
						<width>430</width>
						<height>60</height>
						<href/>
					</scr>
					<scr>
						<description>Joomla Main Page preview</description>
						<uri>47200/47253-joom-b.jpg</uri>
						<scr_type_id>178</scr_type_id>
						<width>430</width>
						<height>376</height>
						<href/>
					</scr>
					<scr>
						<description>Joomla Modules Positions</description>
						<uri>47200/47253-joom-b-p.jpg</uri>
						<scr_type_id>182</scr_type_id>
						<width>430</width>
						<height>376</height>
						<href/>
					</scr>
					<scr>
						<description>Tablet Layout </description>
						<uri>47200/47253-tablet-responsive.jpg</uri>
						<scr_type_id>298</scr_type_id>
						<width>430</width>
						<height>574</height>
						<href/>
					</scr>
					<scr>
						<description>Smartphone Layout 1 </description>
						<uri>47200/47253-smart1-responsive.jpg</uri>
						<scr_type_id>299</scr_type_id>
						<width>430</width>
						<height>900</height>
						<href/>
					</scr>
					<scr>
						<description>Smartphone Layout 2</description>
						<uri>47200/47253-smart2-responsive.jpg</uri>
						<scr_type_id>300</scr_type_id>
						<width>320</width>
						<height>900</height>
						<href/>
					</scr>
				</screenshots>
			</page>
		</pages>
		<basic_colors>
			<red>0</red>
			<orange>1</orange>
			<yellow>32</yellow>
			<green>38</green>
			<cyan>126</cyan>
			<blue>21</blue>
			<pink>56</pink>
			<purple>50</purple>
			<brown>2</brown>
			<grey>190</grey>
			<white>231</white>
			<black>19</black>
		</basic_colors>
		<colors_mixes>
			<cyan>126</cyan>
			<cyan_grey>23940</cyan_grey>
			<cyan_grey_pink>1340640</cyan_grey_pink>
			<cyan_grey_purple>1197000</cyan_grey_purple>
			<cyan_grey_white>5530140</cyan_grey_white>
			<cyan_pink>7056</cyan_pink>
			<cyan_pink_purple>352800</cyan_pink_purple>
			<cyan_pink_white>1629936</cyan_pink_white>
			<cyan_purple>6300</cyan_purple>
			<cyan_purple_white>1455300</cyan_purple_white>
			<cyan_white>29106</cyan_white>
			<grey>190</grey>
			<grey_pink>10640</grey_pink>
			<grey_pink_purple>532000</grey_pink_purple>
			<grey_pink_white>2457840</grey_pink_white>
			<grey_purple>9500</grey_purple>
			<grey_purple_white>2194500</grey_purple_white>
			<grey_white>43890</grey_white>
			<pink>56</pink>
			<pink_purple>2800</pink_purple>
			<pink_purple_white>646800</pink_purple_white>
			<pink_white>12936</pink_white>
			<purple>50</purple>
			<purple_white>11550</purple_white>
			<white>231</white>
		</colors_mixes>
	</template>

Open in new window

0
 
LVL 60

Accepted Solution

by:
Geert Bormans earned 500 total points
ID: 39718010
well, I am not sure whether that helps

Here is an XSLT that wraps your root around the result.
But I have no clue of what else you are trying to do.
Your example has only one template, so what is there to filter.
Please try to explain clear and concise what exactly you need beside the wrapping

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    version="1.0">
    
    <xsl:strip-space elements="*"/>
    <xsl:output indent="yes"/>
    
    <xsl:template match="/">
        <ROOT>
            <xsl:apply-templates select="node()"/>
        </ROOT>
    </xsl:template>
    
    <xsl:template match="node()">
        <xsl:copy>
            <xsl:copy-of select="@*"/>
            <xsl:apply-templates select="node()"/>
        </xsl:copy>
    </xsl:template>
    
</xsl:stylesheet>

Open in new window

0

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

The Client Need Led Us to RSS I recently had an investment company ask me how they might notify their constituents about their newsworthy publications.  Probably you would think "Facebook" or "Twitter" but this is an interesting client.  Their cons…
The Confluence of Individual Knowledge and the Collective Intelligence At this writing (summer 2013) the term API (http://dictionary.reference.com/browse/API?s=t) has made its way into the popular lexicon of the English language.  A few years ago, …
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…

773 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question