草庐IT

xslt2processor

全部标签

php - 使用应用模板在 XSLT 输出中保留 和其他特殊字符

我正在使用XSLT从XML文件中提取一些带有特殊字符(如 )的HTML内容。内容存储在中节点。我定义了大多数特殊字符,如下所示:,所以这个表达式工作得很好:现在,我想添加target="_blank"到该内容中找到的每个链接。这是我想出的解决方案:_blank我使用这个代替“复制”元素:现在所有这些特殊字符(以及nbsp也)从输出中消失了。我如何保留它们?好像disable-output-escaping="yes"在这里没有帮助。好的,我在PHP中使用XSLTProcessor类。disable-output-escaping属性实际上并没有给出错误,但是当我删除它时,输出

php - 如何将包含单引号和双引号的字符串作为参数传递给 PHP 中的 XSLT?

我有一个简单的基于PHP的XSLT转换代码,看起来像这样:$xsl=newXSLTProcessor();$xsl->registerPHPFunctions();$xsl->setParameter("","searchterms",$searchterms);$xsl->importStylesheet($xslDoc);echo$xsl->transformToXML($doc);代码将包含字符串的变量$searchterms作为参数传递给XSLT样式表,XSLT样式表又将其用作文本:searchfeedfor这工作正常,直到你尝试传递一个包含mixes的字符串,比如:$sear

php - DomDoc/SimpleXML/XSLT : parsing to add auto-incrementing id attributes to each unique element child of an element

我已经解决这个问题一段时间了,我对编程有点陌生。即使当我发现错误时,也很难想出如何纠正它。现在,我想弄清楚我是如何错误地使用xpath的,因为有人告诉我我错误地使用了xpath。我希望有人可以告诉我我做错了什么,特别是迭代,如果我做错了什么,可以让我快速入门。这是我在这个项目上工作的最后一晚,如果可以的话,我真的很想完成它。所以,我真的需要帮助。这是我正在使用的代码,带有注释:$xml=@simplexml_load_file("original.xml");//Loadingtheoriginalfile,dubbedoriginal.xml.$array_key_target_pa

PHP : different behaviour of XSLT Processor in Windows WRT to Linux

我有这个php代码段:$xsltPath=$argv[1];$xmlPath=$argv[2];$xslt=file_get_contents($xsltPath);$xml=file_get_contents($xmlPath);$templateCMSObj=new\DOMDocument();$templateCMSObj->loadXML($xslt);$ekbXMLObj=new\DOMDocument();$ekbXMLObj->loadXML($xml);$proc=new\XSLTProcessor();$proc->importStylesheet($template

php - 如何使用 XSLT 创建 PHP/JSP/ERB 标签?

我有一堆用于生成HTML页面的XML文件。这些页面最终会(手动)标记一些标记并制成Ruby.erb模板。有没有办法生成特殊标签或直接在XSL转换期间?我试过使用block,但随后会生成<的输出和>而不是和>. 最佳答案 IsthereawaytogeneratethespecialtagsordirectlyduringtheXSLtransform?不是“特殊标记”——这是XPath数据模型中的标准节点类型——aprocessinginstruction.还有一个用于创建PI的XSLT指令:最后,如果您使用textou

php - 使用 xslt 获取属性节点并打印不同的值

如何获取tab的dim属性的值并使用xslt取出不同的值。意味着它会打印30,40,70 最佳答案 要选择不同的属性值,您可以使用此XPath:/page/tab[not(@dim=preceding-sibling::tab/@dim)]/@dim一个可能的XSLT模板是收件人transformthesourcedocumentwiththestylesheetinPHP,你可以使用:$xml=newDOMDocument;$xml->load('collection.xml');$xsl=newDOMDocument;$xsl-

php - 使用 text() 匹配 XSLT 中的自定义实体名称

我正在使用匹配我的XML文档中的文本,它适用于纯文本和已知实体,即它适用于像&这样的实体或unicode实体,如π.但是不起作用的是匹配自定义实体名称。例如我有一个实体π在我的XML文档中,应该使用text()进行匹配.出于某种原因,它不会将该实体视为文本,这意味着没有任何匹配项。请注意,我确实在XML文档和XSLT文档的Doctype声明中声明了实体名称:]>是text()匹配自定义实体名称的正确方法,还是我需要使用其他函数?(也许我在声明实体名称时也做错了什么?)谢谢编辑XML]>πtestπXSLT]>变量$content应该打

php - 如何实现 XSLT 分词功能?

PHPXSLTProcessor(XSLT1.0)似乎无法使用EXSLT标记化函数。我试图用纯XSL实现它,但我无法让它工作:预期结果:abc实际结果:abc我知道这个问题已经发布了很多次,但我找不到简单的解决方案。感谢您的帮助。 最佳答案 引用http://www.exslt.org/str/functions/tokenize/index.htmlThefollowingXSLTprocessorssupportstr:tokenize:4XSLT,from4Suite.(version0.12.0a3)libxsltfromD

php - 将变量传递给 XSLT

我是XML/XSL的新手。我希望能够在规则字符串中传递一个var并让它返回正确的数据。现在我有这个PHP:$_GET['id']);$xslDoc=newDOMDocument();$xslDoc->load("test.xsl");$xmlDoc=newDOMDocument();$xmlDoc->load("test.xml");$xsltProcessor=newXSLTProcessor();$xsltProcessor->registerPHPFunctions();$xsltProcessor->importStyleSheet($xslDoc);foreach($para

php - Zend 框架和 XML/XSLT 集成

我尝试在ZendFramework中使用XML文件和XSL样式表而不是普通的phtml模板。不过,我不确定如何实现。到目前为止我尝试过的事情:我使用.xsl样式表而不是.phtmlView我使用.xml布局这是我在每个Controller的init()方法中所做的:$this->view->xmlStylesheet='/../application/modules/default/views/scripts/'.$this->_request->getControllerName().'/'.$this->_request->getActionName().'.xsl';这给了我一条