xml – 使用带有for-each选择的变量的XSLT
发布时间:2020-12-16 22:52:24 所属栏目:百科 来源:网络整理
导读:我对 XML XSLT刚刚开始工作,我的一个项目需要我使用它.我正在尝试使用动态变量(稍后此变量不会被硬编码)来获取某个模块的属性. 这是我的XSL的精简版本: ?xml version="1.0" encoding="UTF-8"?xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transfo
我对
XML& XSLT刚刚开始工作,我的一个项目需要我使用它.我正在尝试使用动态变量(稍后此变量不会被硬编码)来获取某个模块的属性.
这是我的XSL的精简版本: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" indent="yes"/> <xsl:template match="/"> <style type="text/css"> .details { margin:25px 25px; } </style> <xsl:variable name="name" select="1234"/> <xsl:for-each select="Root/Row[Module_Name='$name']"> <html> <div class="details"> <pre> <b>Module:</b> <xsl:value-of select="Module_Name"/><br></br> <b>Description:</b> <xsl:value-of select="Description"/> </pre> </div> </html> </xsl:for-each> </xsl:template> </xsl:stylesheet> 示例XML: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Row> <SI_NO>1</SI_NO> <Module_Name>1234</Module_Name> <Description>This is the description</Description> </Row> </Root> 现在输出是空白的.我想我不能用这种方式使用变量,我希望有人可以用正确的方式指导我. 谢谢. 解决方法
输入:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Row> <SI_NO>1</SI_NO> <Module_Name>1234</Module_Name> <Description>This is the description</Description> </Row> </Root> XSL: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" indent="yes" /> <xsl:template match="/"> <style type="text/css">.details { margin:25px 25px; }</style> <xsl:variable name="name" select="1234" /> <xsl:for-each select="Root/Row[Module_Name=$name]"> <html> <div class="details"> <pre> <b>Module:</b> <xsl:value-of select="Module_Name" /> <br /> <b>Description:</b> <xsl:value-of select="Description" /> </pre> </div> </html> </xsl:for-each> </xsl:template> </xsl:stylesheet> 输出: <?xml version="1.0" encoding="UTF-8"?> <style type="text/css"> .details { margin:25px 25px; } </style> <html> <div class="details"> <pre> <b>Module:</b>1234<br/> <b>Description:</b>This is the description</pre> </div> </html> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |