gpt4 book ai didi

php - 使用 XML、模式、DOM、PHP 等

转载 作者:可可西里 更新时间:2023-10-31 23:34:44 26 4
gpt4 key购买 nike

我似乎在兜圈子,或者可能根本没有掌握这里的一些概念。我正在重新设计一组 PHP 模板类,这些模板类以前使用一些奇特的正则表达式来组合和复制文档和文档区域,从而生成输出页面。我以前的方法的一个例子(为了完整起见):

<div id="myId">
<!-- {{ region:myRegion }} -->
<div class="myClass">
<h1>{{ var:myHeading }}</h1>
<h2>{{ var:myDatetime format:datetime(Y-m-d H:i:s) }}</h2>
<p>{{ var:myText format:maxLength(300) }}</p>
</div>
<!-- {{ region:myRegion }} -->
</div>

无论如何,它工作得很好,但我真的想将它提升到一个新的水平,并认为这在逻辑上会扩展标记本身,变成类似这样的东西:

<div id="myId">
<zuq:region name="myRegion">
<div class="myClass">
<h1><zuq:var name="myHeading" /></h1>
<h2><zuq:var name="myDatetime" format="datetime" param="Y-m-d H:i:s" /></h2>
<p><zuq:var name="myText" format="maxLength" param="300" /></p>
</div>
</zuq:region>
</div>

我一直在阅读 W3 规范,甚至是 W3Schools 各种相关技术的教程,例如用于编写模板规范的 XML Schema。显然,我希望在所有使用的命名空间中保持所有格式良好且有效。这主要与 XHTML 标记混合使用。

无论如何,任何人都可以给我一些关于理解XML 命名空间混合命名空间 的限制和最佳实践的好读物,我认为最重要的是,使用 PHP/DOM/XML。我的方法是否存在任何人都能看到的严重缺陷? PHP 似乎并没有特别强大的实现来处理命名空间标记文档,无论是通过 DOMDocument(和兄弟们)还是 SimpleXML

欢迎任何建议、阅读 Material 建议或批评!


编辑:以防万一有人好奇,zuq 命名空间中的元素不应在输出呈现时出现,因为它们已被解析并以其他方式删除。然而,除了保持文档有效的良好做法外,我还打算利用模板中的标记,以便管理员可以通过 CMS 所见即所得编辑器快速编辑页面。

最佳答案

命名空间确实是一个非常简单的概念,但不知何故被夸大了。参见 http://www.xml.com/pub/a/1999/01/namespaces.html获取有关 XML 命名空间的优秀教程。

至于从 PHP 处理命名空间的 XML,DOM界面工作得很好。例如,您可以 getElementsByTagNameNS , 你可以 lookupNamespaceURI , look up a given URI's prefix ...

除此之外,这个问题令人难以置信的主观和模糊,所以如果你想编辑它或发布进一步的问题来改进它,也许你可以获得一些更具体的帮助。

关于php - 使用 XML、模式、DOM、PHP 等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4507498/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com