【发布时间】:2014-10-10 22:39:23
【问题描述】:
我是开发新手,在此先向您道歉和感谢。 我有一个案例,我的 XML 和 XSD 文件中有:
xml:
<paragraph>
My
<a href="www.google.co.nz">Googlefoo</a>
is not strong.
</paragraph>
xsd:
<xsd:element name="paragraph">
<xsd:complexType mixed="true">
<xsd:sequence>
<xsd:element name="a"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="a">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="href" type="xsd:anyURI"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
还有一个可能有用的 DTD。
<!ELEMENT paragraph (#PCDATA | a )*>
<!ELEMENT a (#PCDATA)>
<!ATTLIST a href CDATA #REQUIRED>
这些文件托管在异地,我无法控制它们。它们用于站点内容生成。我可以通过 PHP 获取元素和属性并将它们拼接在一起,这样就可以使用现有的数据。然而,有没有办法将 XSD 应用到 XML 上,以便输出保持原样,即:混合内容,当拉出时看起来所有 HTML 都很高兴。
我相信 .XSD only 真正用于定义您可以验证的数据格式,或者可能是错误的。
我没有 .XSL,据我所知,XSLT 转换需要并且可以为我执行此操作。理想情况下,如果可以实现的话,这就是我想做的事情。
不确定我是否可以以某种方式将 CData 应用于元素然后对其进行解析。 我还没有找到动态生成 xsl 的方法。
任何指导或指向资源的指针都会很棒。橡皮鸭万岁。
【问题讨论】:
-
很不清楚你在问什么。您可以将*.xsd(一种XML Schema)应用于XML 文档,然后,此过程称为验证。这是你想做的吗?还是您生成 HTML?如果是,怎么做?