[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

[xsl] What is the appropriate XPath 2.0 expression to reference an XSD simpleType ?


Subject: [xsl] What is the appropriate XPath 2.0 expression to reference an XSD simpleType ?
From: "Costello, Roger L. costello@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 29 Dec 2015 14:08:59 -0000

Hi Folks,

My XSLT program needs to add a new simpleType to this schema:

<schema xmlns="http://www.w3.org/2001/XMLSchema"
               targetNamespace="T"
               xmlns:t="T">

    <simpleType name="base">
        <restriction base="string" />
    </simpleType>

</schema>

My XSLT needs to add this:

    <simpleType name="titleType">
        <restriction base="t:base">
            <maxLength value="20" />
        </restriction>
    </simpleType>

Of course, if the schema is designed like this:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
                   targetNamespace="T"
                   xmlns="T">

    <xs:simpleType name="base">
        <xs:restriction base="xs:string" />
    </xs:simpleType>

</xs:schema>

Then my XSLT needs to add this:

    <xs:simpleType name="titleType">
        <xs:restriction base="base">
            <xs:maxLength value="20" />
        </xs:restriction>
    </xs:simpleType>

And if the schema does not have a targetNamespace:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

    <xs:simpleType name="base">
        <xs:restriction base="xs:string" />
    </xs:simpleType>

</xs:schema>

Then my XSLT needs to add this:

    <xs:simpleType name="titleType">
        <xs:restriction base="base">
            <xs:maxLength value="20" />
        </xs:restriction>
    </xs:simpleType>

I am struggling with the appropriate XPath 2.0 expression to reference the
base simpleType. In the first schema, referencing the base simpleType must be
expressed this way:

	t:base

In the second and third schemas, referencing the base simpleType must be
expressed this way:

	base

My XSLT has a template rule containing this:

    <xs:simpleType name="titleType">
        <xs:restriction base="_____">
            <xs:maxLength value="20" />
        </xs:restriction>
    </xs:simpleType>

What is the appropriate XPath 2.0 expression to use in _____?

/Roger


Current Thread
Keywords