草庐IT

xml - 使用 XSLT 将 XML 标记转换为任意位置的属性

我们有一个XML格式,它实际上只是带有一些额外gubbins的HTML。它定义了哪些HTML元素是可编辑的,以及哪些属性是可编辑的。举个例子XML使模板更易于编写,但我需要将其转换为有效的HTML。为此,我想将其折叠成:我可以为做这个,但问题是标签实际上可以作为页面中任何元素的子元素出现。在所有情况下,将其转换为属性的算法都是相同的,但我不知道该怎么做是指定一个可以匹配的父元素的XSLT模板。标签。我试过match="var/.."但事实证明这是无效的。另一种方法是匹配s并将它们作为属性添加到它们的父级,但我相信在处理的这一点上,特定的船已经起航了。这可行吗?谢谢回答!我将更完整的答案

xml - xsd 中的元素可以有任意名称吗?

我是xsd验证的新手,我正在尝试验证一个选择标签是否有一组特定的元素,但也有任意命名的元素。类似于以下内容:......XML:...exampletextexampletextagainexampletext...这在xsd中可能吗?验证新的任意命名节点? 最佳答案 您可以使用xs:any通配符来允许使用任何元素名称,或一组特定命名空间中的任何名称。您不能进一步限制名称(除非在XSD1.1中使用断言)。使用具有内部结构的名称(例如address-line-1、address-line-2、address-line-3)在XML设计

java - 在 Java 中序列化 Document 对象,同时保留任意元素的格式

我正在使用下面的函数将DOM文档对象转换为Java中的字符串。publicstaticStringconvertDocumentToString(finalDocumentdoc){finalDOMImplementationLSdomImplementation=(DOMImplementationLS)doc.getImplementation();finalLSSerializerlsSerializer=domImplementation.createLSSerializer();lsSerializer.getDomConfig().setParameter("format-

xml - XSD:允许序列中任意位置来自不同 namespace 的元素

我一直在尝试以下方法。我想为XML创建一个XSD,其中某些元素只允许出现一次并且需要有效,并且允许来自其他namespace的元素出现在任何地方,并且没有必须用于验证的架构。应该允许的XML:book1,2,3和4只能在XML中出现一次并且需要被验证,其他命名空间中的元素然后ns:应该被允许而不被验证。为此,我在我的XSD中使用xs:any和processContents松散:在这个解决方案中,其他命名空间中的元素只能出现在序列之后,而不能出现在必填元素之间。理想的解决方案(但我知道它在XSD中是不允许的)是更改xs:all中的xs:sequence(但xs:all中不允许xs:any

xml - 有没有办法正确连接两个任意 XPath 表达式以产生新的有效 XPath 表达式?

我正在寻找一种方法来连接两个任意有效的XPath表达式以构建一个新的XPath表达式。实际上,我想将第二个XPath表达式应用于第一个XPath表达式的结果。例如,采用这个XML:XPath表达式/foo显然会返回根元素,而/bar什么都不会返回。但是/bar应用于/foo的结果应该返回元素。现在最天真的实现是只使用字符串连接来构建/foo/bar并对其进行评估以获得.这适用于这种特定情况。现在我的问题是:它总是那么简单吗?是否有任何类型的XPath表达式不会生成有效表达式或会导致意外结果?如果某些晦涩的XPath表达式无法通过这种方式进行验证,这不是什么大问题,但我希望常用的表达式能

css - 如何使用 CSS 将任意 XML 样式设置为列表?

我想要这个:Item1Item2在浏览器中显示为HTML中的foo为ol,bar为li。这可能吗?这不起作用:foo{display:block;}bar{display:list-item;list-item-style:decimal;}但我知道有些东西在起作用,因为通过将显示样式设置为列表项,元素被分成单独的行。 最佳答案 它有效,我认为你只是没有看到它。首先,确保文件是.xml。接下来,我从未听说过CSS属性list-item-style。将其更改为:bar{display:list-item;list-style:deci

xml - 具有无序必需、可选和任意标记的 XSD 架构

我正在尝试提出具有以下约束的XSD1.0架构:没有顺序有些元素必须恰好出现一次某些元素可能出现零次或无限次允许无法识别的元素(不验证它们)3.的原因是如果元素存在,我想验证类型。例如,一个人必须只有一个名字、一个可选的年龄(最多一个)、可选的电话号码(无限制)和任何其他标签。这些应该验证:Bob33123456789123456788AliceJohncitylaywer然而,这些应该不验证:123456789SallyMaryJoshnotanumber这是无效的XSD,它以人类可理解的方式捕获了我正在尝试做的事情:此XSD无效,因为您不能在下包含,并且因为XSD1.0不允许您在ma

xml - 在 LISP 中使用任意定界符解析 S 表达式

(我对Lisp还很陌生,不知道如何做到这一点,但足够熟悉,知道必须是一个简单的方法。)最近读到的一篇文章让我很感兴趣,这篇文章提倡将日志文件存储为Lisp风格的S表达式,这样日志文件就可以很容易地转换为DSL。这让我开始考虑其他DSL的类似语法,但我遇到了障碍。解析分隔符为括号的s表达式很容易"(my-functionfoobar)"可以从文件/流中读取并简单地评估。如果XML真的只是一个S表达式,难道不应该有一种简单的方法来转换像这样简单的东西吗foobaretc-1etc-2进入(functionfoobaretc-1etc-2)我可以用字符串操作技术伪造这种行为(哎呀,正则表达式

xml - 当兄弟元素任意存在时,XSLT 按顺序创建元素?

假设您有一个具有如下内容模型的元素:换句话说,在一个包装元素中,有一个指定顺序的子元素,这些子元素可以任意存在。您需要在包装器中创建一个新元素(例如m),同时保留已经存在的元素并确保输出符合内容模型。这是一种解决方案:Thisisnew但是,此解决方案将删除包装器元素中的所有空格、注释或处理指令。我提出了一些不会放弃这些东西的解决方案,但没有一个让我满意。解决此问题且不会丢弃节点的最优雅的解决方案是什么?XSLT3和模式感知解决方案很好。以下是一些示例输入和输出:ThisisnewThisisnewThisisnewThisisnewThisisnew插入元素周围的非元素节点出现在之前

xml - XSD 任意元素任意顺序任意次数

我已经尝试了所有,,and这些都不能令人满意地帮助我的案例。有谁知道你会如何验证这样的事情。在哪里,下标签和/或可以以任何顺序出现任意次数(0-n)。但至少其中之一必须至少出现一次。忽略SubMenu标签内的验证。非常感谢在此问题上的任何帮助。 最佳答案 如果我正确理解了您的要求,那么您可以将该模型表述为“其中一个SubMenu或MenuItem后跟零个或多个SubMenu或MenuItem元素”。这可以很容易地表示为两个选择的序列:您可以使用Menu和SubMenu的共享全局类型更清晰地对此进行建模,但我希望这种方式相对明显。