簡體   English   中英

XSD XSOM:如何使用XSOM Java庫解析xs:anyAttribute?

[英]XSD XSOM : How to parse xs:anyAttribute using XSOM Java library?

我正在嘗試解析此復雜類型,但無法使用XSOM JAVA獲得<xsd:anyAttribute元素。 我已經嘗試過getAttributeUses()和粒子,但無法獲取它。

關於如何解析的任何想法?

      <xsd:sequence>

      <xsd:any namespace="##other" processContents="lax" maxOccurs="unbounded"/>

      </xsd:sequence>

      <xsd:anyAttribute namespace="##other" processContents="lax"/>

假設測試XSD:

<?xml version="1.0" encoding="utf-8" ?>
<!--XML Schema generated by QTAssistant/XML Schema Refactoring (XSR) Module (http://www.paschidev.com)-->
<xsd:schema targetNamespace="http://tempuri.org/XMLSchema.xsd" elementFormDefault="qualified" xmlns="http://tempuri.org/XMLSchema.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:complexType name="test">
        <xsd:sequence>
            <xsd:any namespace="##other" processContents="lax" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:anyAttribute namespace="##other" processContents="lax"/>
    </xsd:complexType>
</xsd:schema>

您需要以下代碼:

    XSOMParser parser = new XSOMParser();
    //parser.setErrorHandler(...);
    //parser.setEntityResolver(...);

    parser.parse(new File(...));

    XSSchemaSet sset = parser.getResult();
    XSComplexType xt = sset.getComplexType("http://tempuri.org/XMLSchema.xsd", "test");
    XSWildcard anyAttr = xt.getAttributeWildcard();

關鍵是getAttributeWildcard API。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM