forked from geodmms/xdgnjobs

?? ?
2008-05-14 fe4bda7d456c106e1061afaa29d452e5553e9d96
update for EOFM-83
15 files modified
963 ■■■■ changed files
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/ArcElement.java 67 ●●●●● patch | view | raw | blame | history
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/ComplexChainElement.java 6 ●●●●● patch | view | raw | blame | history
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/ComplexShapeElement.java 4 ●●●● patch | view | raw | blame | history
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/Element.java 28 ●●●● patch | view | raw | blame | history
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/EllipseElement.java 43 ●●●●● patch | view | raw | blame | history
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/LineElement.java 17 ●●●●● patch | view | raw | blame | history
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/LineStringElement.java 4 ●●●● patch | view | raw | blame | history
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/ShapeElement.java 7 ●●●● patch | view | raw | blame | history
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/TcbElement.java 4 ●●●● patch | view | raw | blame | history
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/TextElement.java 24 ●●●●● patch | view | raw | blame | history
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/TextNodeElement.java 4 ●●●● patch | view | raw | blame | history
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/Utility.java 75 ●●●● patch | view | raw | blame | history
xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml 2 ●●● patch | view | raw | blame | history
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeneralDgnConvertJobContext.java 3 ●●●●● patch | view | raw | blame | history
xdgnjobs/ximple-spatialjob/src/main/resources/conf/DefaultConvertShpFilter.xml 675 ●●●●● patch | view | raw | blame | history
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/ArcElement.java
@@ -1,6 +1,8 @@
package com.ximple.io.dgn7;
//~--- non-JDK imports --------------------------------------------------------
import java.nio.ByteOrder;
import org.apache.log4j.Logger;
import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.Geometry;
@@ -15,17 +17,16 @@
 */
public class ArcElement extends Element implements GeometryConverter
{
    public ArcElement(short[] raw)
    private static final Logger logger = Logger.getLogger(ArcElement.class);
    public ArcElement(byte[] raw)
    {
        super(raw);
    }
    public double getStartAngle()
    {
        int angle = (raw[18] << 16 & 0xffff0000);
        angle |= raw[19] & 0x0000ffff;
        int angle = (raw[18] & 0x0000ffff) << 16 | (raw[19] & 0x0000ffff);
        return Utility.converIntToRotation(angle);
    }
@@ -39,9 +40,9 @@
    public double getSweepAngle()
    {
        int angle = (raw[20] << 16 & 0xffff0000);
        angle |= raw[21] & 0x0000ffff;
        int angle = (raw[20] & 0x0000ffff) << 16 | (raw[21] & 0x0000ffff);
        if (angle < 0)
            angle = -1 * (angle & 0x7fffffff);
        return Utility.converIntToRotation(angle);
    }
@@ -49,6 +50,11 @@
    public void setSweepAngle(double value)
    {
        int angle = Utility.converRotatioToInt(value);
        if (angle < 0)
        {
            angle &= 0x7fffffff;
            angle |= 0x80000000;
        }
        raw[20] = (short) (angle >> 16 & 0x0000ffff);
        raw[21] = (short) (angle & 0x0000ffff);
@@ -56,10 +62,12 @@
    public double getPrimary()
    {
        short[] primary = new short[4];
        System.arraycopy(raw, 22, primary, 0, 4);
        rawBuffer.position(22 * 2);
        ByteOrder bo = rawBuffer.order();
        rawBuffer.order(ByteOrder.BIG_ENDIAN);
        byte[] primary = new byte[8];
        rawBuffer.get(primary);
        rawBuffer.order(bo);
        return Utility.convertDGNToIEEEDouble(primary) / 1000.0;
    }
@@ -73,10 +81,12 @@
    public double getSecondary()
    {
        short[] secondary = new short[4];
        System.arraycopy(raw, 26, secondary, 0, 4);
        rawBuffer.position(26 * 2);
        ByteOrder bo = rawBuffer.order();
        rawBuffer.order(ByteOrder.BIG_ENDIAN);
        byte[] secondary = new byte[8];
        rawBuffer.get(secondary);
        rawBuffer.order(bo);
        return Utility.convertDGNToIEEEDouble(secondary) / 1000.0;
    }
@@ -91,7 +101,6 @@
    public double getRotationAngle()
    {
        int rotation = (raw[30] << 16 & 0xffff0000);
        rotation |= raw[31] & 0x0000ffff;
        return Utility.converIntToRotation(rotation);
@@ -107,16 +116,18 @@
    public Coordinate getOrigin()
    {
        short[] x = new short[4];
        rawBuffer.position(32 * 2);
        ByteOrder bo = rawBuffer.order();
        rawBuffer.order(ByteOrder.BIG_ENDIAN);
        byte[] rawValue = new byte[8];
        System.arraycopy(raw, 32, x, 0, 4);
        rawBuffer.get(rawValue); // x
        double dx = Utility.converUnitToCoord(Utility.convertDGNToIEEEDouble(rawValue));
        double  dx = Utility.converUnitToCoord((int) Utility.convertDGNToIEEEDouble(x));
        short[] y  = new short[4];
        rawBuffer.get(rawValue); // y
        double dy = Utility.converUnitToCoord(Utility.convertDGNToIEEEDouble(rawValue));
        System.arraycopy(raw, 36, y, 0, 4);
        double dy = Utility.converUnitToCoord((int) Utility.convertDGNToIEEEDouble(y));
        rawBuffer.order(bo);
        return new Coordinate(dx, dy);
    }
@@ -136,7 +147,9 @@
    public Geometry toGeometry(GeometryFactory factory)
    {
        double temp = Math.abs(getStartAngle() - getSweepAngle());
        double start = getStartAngle();
        double end = getSweepAngle();
        double temp = Math.abs(start - end);
        temp /= 4;
        int pts = (temp < 3) ? 3 : (int) temp;
        return factory.createLineString(convertToLineString(pts));
@@ -190,7 +203,7 @@
            return instance;
        }
        protected Element createElement(short[] raw)
        protected Element createElement(byte[] raw)
        {
            return new ArcElement(raw);
        }
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/ComplexChainElement.java
@@ -23,7 +23,7 @@
{
    protected ArrayList list = new ArrayList();
    public ComplexChainElement(short[] raw)
    public ComplexChainElement(byte[] raw)
    {
        super(raw);
        attrOffset = 4;
@@ -195,9 +195,11 @@
                {
                    list.add(((LineElement) element).toGeometry(factory));
                }
            /*
            } else if (element instanceof ArcElement)
            {
                list.add(((ArcElement) element).toGeometry(factory));
            */
            }
        }
@@ -240,7 +242,7 @@
            return instance;
        }
        protected Element createElement(short[] raw)
        protected Element createElement(byte[] raw)
        {
            return new ComplexChainElement(raw);
        }
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/ComplexShapeElement.java
@@ -23,7 +23,7 @@
{
    ArrayList list = new ArrayList();
    public ComplexShapeElement(short[] raw)
    public ComplexShapeElement(byte[] raw)
    {
        super(raw);
    }
@@ -198,7 +198,7 @@
            return instance;
        }
        protected Element createElement(short[] raw)
        protected Element createElement(byte[] raw)
        {
            return new ComplexShapeElement(raw);
        }
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/Element.java
@@ -35,10 +35,15 @@
    protected short[]   raw;
    protected byte      attrOffset = 0;
    protected ByteBuffer    rawBuffer;
    public Element(short[] raw)
    public Element(byte[] raw)
    {
        this.raw = raw;
        // this.raw = raw;
        this.raw = new short[raw.length / 2];
        rawBuffer = ByteBuffer.wrap(raw);
        rawBuffer.order(ByteOrder.LITTLE_ENDIAN);
        rawBuffer.asShortBuffer().get(this.raw);
    }
    public int getLineStyle()
@@ -217,6 +222,10 @@
        }
    }
    protected static int getOffsetPosition(int offset)
    {
        return offset * 2;
    }
    public static class ElementHandler implements IElementHandler
    {
@@ -234,23 +243,30 @@
        public Object read(ByteBuffer buffer, short signature, int length)
        {
            byte[] dst = new byte[length - 4];
            byte[] dst = new byte[length];
            try
            {
                buffer.get(dst, 0, dst.length);
                buffer.get(dst, 4, dst.length - 4);
            } catch (BufferUnderflowException exception)
            {
                throw exception;   
            }
            ByteBuffer tmpBuffer = ByteBuffer.wrap(dst);
            tmpBuffer.order(ByteOrder.LITTLE_ENDIAN);
            tmpBuffer.position(0);
            tmpBuffer.putShort(signature);
            tmpBuffer.putShort((short) ((length / 2) - 2));
            /*
            ShortBuffer sbuffer = tmpBuffer.asShortBuffer();
            short[] rawMem = new short[(length / 2)];
            sbuffer.get(rawMem, 2, rawMem.length - 2);
            rawMem[0] = signature;
            rawMem[1] = (short) ((length / 2) - 2);
            Element elm = createElement(rawMem);
            */
            Element elm = createElement(dst);
            return elm;
        }
@@ -264,7 +280,7 @@
            return ((Element) element).raw.length;
        }
        protected Element createElement(short[] raw)
        protected Element createElement(byte[] raw)
        {
            return new Element(raw);
        }
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/EllipseElement.java
@@ -1,12 +1,14 @@
package com.ximple.io.dgn7;
import java.nio.ByteOrder;
import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.Geometry;
import com.vividsolutions.jts.geom.GeometryFactory;
public class EllipseElement extends Element implements GeometryConverter
{
    public EllipseElement(short[] raw)
    public EllipseElement(byte[] raw)
    {
        super(raw);
    }
@@ -31,10 +33,12 @@
    public double getPrimary()
    {
        short[] primary = new short[4];
        System.arraycopy(raw, 18, primary, 0, 4);
        rawBuffer.position(18 * 2);
        ByteOrder bo = rawBuffer.order();
        rawBuffer.order(ByteOrder.BIG_ENDIAN);
        byte[] primary = new byte[8];
        rawBuffer.get(primary);
        rawBuffer.order(bo);
        return Utility.convertDGNToIEEEDouble(primary) / 1000.0;
    }
@@ -48,10 +52,12 @@
    public double getSecondary()
    {
        short[] secondary = new short[4];
        System.arraycopy(raw, 22, secondary, 0, 4);
        rawBuffer.position(22 * 2);
        ByteOrder bo = rawBuffer.order();
        rawBuffer.order(ByteOrder.BIG_ENDIAN);
        byte[] secondary = new byte[8];
        rawBuffer.get(secondary);
        rawBuffer.order(bo);
        return Utility.convertDGNToIEEEDouble(secondary) / 1000.0;
    }
@@ -66,7 +72,6 @@
    public double getRotationAngle()
    {
        int rotation = (raw[26] << 16 & 0xffff0000);
        rotation |= raw[27] & 0x0000ffff;
        return Utility.converIntToRotation(rotation);
@@ -82,16 +87,18 @@
    public Coordinate getOrigin()
    {
        short[] x = new short[4];
        rawBuffer.position(28 * 2);
        ByteOrder bo = rawBuffer.order();
        rawBuffer.order(ByteOrder.BIG_ENDIAN);
        byte[] rawValue = new byte[8];
        System.arraycopy(raw, 28, x, 0, 4);
        rawBuffer.get(rawValue); // x
        double dx = Utility.converUnitToCoord(Utility.convertDGNToIEEEDouble(rawValue));
        double dx = Utility.converUnitToCoord((int) Utility.convertDGNToIEEEDouble(x));
        short[] y = new short[4];
        rawBuffer.get(rawValue); // y
        double dy = Utility.converUnitToCoord(Utility.convertDGNToIEEEDouble(rawValue));
        System.arraycopy(raw, 32, y, 0, 4);
        double dy = Utility.converUnitToCoord((int) Utility.convertDGNToIEEEDouble(y));
        rawBuffer.order(bo);
        return new Coordinate(dx, dy);
    }
@@ -165,7 +172,7 @@
            return instance;
        }
        protected Element createElement(short[] raw)
        protected Element createElement(byte[] raw)
        {
            return new EllipseElement(raw);
        }
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/LineElement.java
@@ -15,7 +15,7 @@
 */
public class LineElement extends Element implements GeometryConverter
{
    public LineElement(short[] raw)
    public LineElement(byte[] raw)
    {
        super(raw);
    }
@@ -27,15 +27,11 @@
    public Coordinate getEndPoint()
    {
        int endX = (int) ((raw[22] << 16) & 0xffff0000);
        int endX = ((raw[22] << 16) & 0xffff0000) | (raw[23] & 0x0000ffff);
        int endY = ((raw[24] << 16) & 0xffff0000) | (raw[25] & 0x0000ffff);
        endX = endX + (raw[23] & 0x0000ffff);
        double x    = Utility.converUnitToCoord(endX);
        int    endY = (int) ((raw[24] << 16) & 0xffff0000);
        endY = endY + (raw[25] & 0x0000ffff);
        double y = Utility.converUnitToCoord(endY);
        return new Coordinate(x, y);
@@ -53,12 +49,11 @@
    public Coordinate getStartPoint()
    {
        int startX = (int) ((raw[18] << 16) & 0xffff0000);
        int startX = ((raw[18] << 16) & 0xffff0000);
        startX = startX + (raw[19] & 0x0000ffff);
        double x      = Utility.converUnitToCoord(startX);
        int    startY = (int) ((raw[20] << 16) & 0xffff0000);
        int    startY = ((raw[20] << 16) & 0xffff0000);
        startY = startY + (raw[21] & 0x0000ffff);
@@ -121,7 +116,7 @@
            return instance;
        }
        protected Element createElement(short[] raw)
        protected Element createElement(byte[] raw)
        {
            return new LineElement(raw);
        }
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/LineStringElement.java
@@ -15,7 +15,7 @@
 */
public class LineStringElement extends Element implements GeometryConverter
{
    public LineStringElement(short[] raw)
    public LineStringElement(byte[] raw)
    {
        super(raw);
    }
@@ -158,7 +158,7 @@
            return instance;
        }
        protected Element createElement(short[] raw)
        protected Element createElement(byte[] raw)
        {
            return new LineStringElement(raw);
        }
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/ShapeElement.java
@@ -1,10 +1,7 @@
package com.ximple.io.dgn7;
//~--- non-JDK imports --------------------------------------------------------
import org.apache.log4j.Logger;
import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.Geometry;
import com.vividsolutions.jts.geom.GeometryFactory;
import com.vividsolutions.jts.geom.LinearRing;
@@ -20,7 +17,7 @@
{
    static final Logger logger = Logger.getLogger(ShapeElement.class);
    public ShapeElement(short[] raw)
    public ShapeElement(byte[] raw)
    {
        super(raw);
    }
@@ -57,7 +54,7 @@
            return instance;
        }
        protected Element createElement(short[] raw)
        protected Element createElement(byte[] raw)
        {
            return new ShapeElement(raw);
        }
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/TcbElement.java
@@ -9,7 +9,7 @@
 */
public class TcbElement extends Element
{
    public TcbElement(short[] raw)
    public TcbElement(byte[] raw)
    {
        super(raw);
    }
@@ -82,7 +82,7 @@
            return instance;
        }
        protected Element createElement(short[] raw)
        protected Element createElement(byte[] raw)
        {
            return new TcbElement(raw);
        }
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/TextElement.java
@@ -51,19 +51,19 @@
//  Right/center text justification.
    public static final int TXTJUST_RT = 0;
    public TextElement(short[] raw)
    public TextElement(byte[] raw)
    {
        super(raw);
    }
    public Coordinate getOrigin()
    {
        int x = (int) (raw[25] << 16 & 0xffff0000);
        int x = (raw[25] << 16 & 0xffff0000);
        x += raw[26] & 0x0000ffff;
        double dx = Utility.converUnitToCoord(x);
        int    y  = (int) (raw[27] << 16 & 0xffff0000);
        int y = (raw[27] << 16 & 0xffff0000);
        y += raw[28] & 0x0000ffff;
@@ -182,7 +182,7 @@
    public double getTextHeight()
    {
        int height = (int) ((raw[21] << 16) & 0xffff0000);
        int height = ((raw[21] << 16) & 0xffff0000);
        height += raw[22] & 0x0000ffff;
@@ -191,7 +191,7 @@
    public double getTextWidth()
    {
        int length = (int) (raw[19] << 16 & 0xffff0000);
        int length = (raw[19] << 16 & 0xffff0000);
        length += raw[20] & 0x0000ffff;
@@ -200,12 +200,12 @@
    public int getJustification()
    {
        return (int) ((raw[18] >>> 8) & 0x00000000ff);
        return ((raw[18] >>> 8) & 0x00000000ff);
    }
    public double getRotationAngle()
    {
        int totation = (int) ((raw[23] << 16) & 0xffff0000);
        int totation = ((raw[23] << 16) & 0xffff0000);
        totation += raw[24] & 0x0000ffff;
@@ -216,13 +216,7 @@
    {
        int isChinese = raw[30] & 0x0000ffff;
        if (isChinese == 0xfdff)
        {
            return true;
        } else
        {
            return false;
        }
        return (isChinese == 0xfdff);
    }
    public int getTextLength()
@@ -288,7 +282,7 @@
            return instance;
        }
        protected Element createElement(short[] raw)
        protected Element createElement(byte[] raw)
        {
            return new TextElement(raw);
        }
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/TextNodeElement.java
@@ -23,7 +23,7 @@
{
    ArrayList list = new ArrayList();
    public TextNodeElement(short[] raw)
    public TextNodeElement(byte[] raw)
    {
        super(raw);
    }
@@ -283,7 +283,7 @@
            return instance;
        }
        protected Element createElement(short[] raw)
        protected Element createElement(byte[] raw)
        {
            return new TextNodeElement(raw);
        }
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/Utility.java
@@ -1,5 +1,10 @@
package com.ximple.io.dgn7;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import org.apache.log4j.Logger;
import com.vividsolutions.jts.geom.Envelope;
/**
@@ -11,9 +16,10 @@
 */
public final class Utility
{
    private static final Logger logger = Logger.getLogger(Utility.class);
    public static double converIntToDouble(int src)
    {
        return (double) ((long) ((src * 6) / 1000.0 + 0.5)) / 1000.0;
    }
@@ -71,6 +77,16 @@
        return newVal;
    }
    public static double converUnitToCoord(double aValue)
    {
        double newVal;
        newVal = aValue / 1000.0;
        newVal += 2147483.648;    // 2147483.648 = 2 ^ 31
        return newVal;
    }
    public static int converCoordToUnit(double aValue)
    {
        double newVal = aValue;
@@ -103,22 +119,29 @@
                                         converCoordToUnit(range.getMinY()), converCoordToUnit(range.getMaxY()));
    }
    public static double convertDGNToIEEEDouble(short[] src)
    public static long convertDGNToRAWIEEEDouble(byte[] org)
    {
        ByteBuffer buf = ByteBuffer.allocate(8);
        buf.order(ByteOrder.LITTLE_ENDIAN);
        buf.mark();
        buf.put(org[2]);
        buf.put(org[3]);
        buf.put(org[0]);
        buf.put(org[1]);
        buf.put(org[6]);
        buf.put(org[7]);
        buf.put(org[4]);
        buf.put(org[5]);
        buf.position(0);
        int[] tmp = new int[2];
        long  des;
        int   sign;
        tmp[0]   = buf.getInt();
        tmp[1]   = buf.getInt();
        int   exponent;
        int   rndbits;
        if (src == null)
        {
            throw new RuntimeException("Source short array is null");
        }
        tmp[0]   = ((src[0] << 16) & 0xffff0000) | (src[1] & 0x0000ffff);
        tmp[1]   = ((src[2] << 16) & 0xffff0000) | (src[3] & 0x0000ffff);
        sign     = (tmp[0] & 0x80000000);
        int sign     = (tmp[0] & 0x80000000);
        exponent = (tmp[0] >>> 23) & 0x000000ff;
        if (exponent != 0)
@@ -126,7 +149,7 @@
            exponent = exponent - 129 + 1023;
        }
        rndbits = tmp[1] & 0x00000007;
        int rndbits = tmp[1] & 0x00000007;
        tmp[1]  = tmp[1] >>> 3;
        tmp[1]  = (tmp[1] & 0x1fffffff) | (tmp[0] << 29);
@@ -137,10 +160,28 @@
        tmp[0] = (tmp[0] >>> 3) & 0x000fffff;
        tmp[0] = tmp[0] | (exponent << 20) | sign;
        des    = (((long) tmp[0] << 32));
        des    = des | (long) tmp[1];
        return Double.longBitsToDouble(des);
        buf.position(0);
        buf.order(ByteOrder.BIG_ENDIAN);
        buf.putInt(tmp[0]);
        buf.putInt(tmp[1]);
        buf.position(0);
        byte[] tmpRaw = new byte[8];
        buf.get(tmpRaw);
        buf.position(0);
        buf.order(ByteOrder.LITTLE_ENDIAN);
        for (int i = tmpRaw.length; i > 0 ; i--)
        {
            buf.put(tmpRaw[i-1]);
        }
        buf.position(0);
        long result = buf.getLong();
        return result;
    }
    public static double convertDGNToIEEEDouble(byte[] src)
    {
        return Double.longBitsToDouble(convertDGNToRAWIEEEDouble(src));
    }
    public static short[] convertIEEEDoubleToDGN(double src)
xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml
@@ -46,7 +46,7 @@
        </entry>
        <entry>
          <key>CONVERTDB</key>
          <value>true</value>
          <value>false</value>
        </entry>
        <entry>
          <key>CONVERTFILE</key>
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeneralDgnConvertJobContext.java
@@ -336,6 +336,9 @@
        } else if (element instanceof ArcElement)
        {
            ArcElement arcElement = (ArcElement) element;
            logger.fatal("" + arcElement.getPrimary() + ":" + arcElement.getSecondary() +
                    "-" + arcElement.getStartAngle() + ":" + arcElement.getSweepAngle() + ":" +
            arcElement.getRotationAngle() + ":" + arcElement.getOrigin());
            convertDecorator.setConverter(arcElement);
            Geometry geom = convertDecorator.toGeometry(geometryFactory);
            if (geom != null)
xdgnjobs/ximple-spatialjob/src/main/resources/conf/DefaultConvertShpFilter.xml
@@ -11,6 +11,33 @@
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-106.C-1">
    <tid>106</tid>
    <cid>1</cid>
    <description>°ªÀ£½u¤Þ½u</description>
    <elementCriterion>
      <elementType>7</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-106.C-2">
    <tid>106</tid>
    <cid>2</cid>
    <description>°ªÀ£½u¤Þ½uµù°O</description>
    <elementCriterion>
      <elementType>7</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-106.C-4">
    <tid>106</tid>
    <cid>4</cid>
    <description>°ªÀ£½uõX½u¥N¸¹¤Þ½uµù°O</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-402.C-0">
    <tid>402</tid>
    <cid>0</cid>
@@ -26,6 +53,7 @@
    <description>Åܹq©Òµù°O</description>
    <elementCriterion>
      <elementType>7</elementType>
      <elementType>17</elementType>
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
@@ -76,6 +104,123 @@
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-411.C-7">
    <tid>411</tid>
    <cid>7</cid>
    <description>°t¹q³õ1/600¤Þ¤W¤U²Å¸¹</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-420.C-0">
    <tid>420</tid>
    <cid>0</cid>
    <description>ºÞ·¾</description>
    <elementCriterion>
      <elementType>6</elementType>
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-420.C-1">
    <tid>420</tid>
    <cid>1</cid>
    <description>ºÞ·¾µù°O</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-421.C-0">
    <tid>421</tid>
    <cid>0</cid>
    <description>¦@¦PºÞ¹D</description>
    <elementCriterion>
      <elementType>6</elementType>
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-421.C-1">
    <tid>421</tid>
    <cid>1</cid>
    <description>¦@¦PºÞ¹Dµù°O</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-423.C-0">
    <tid>423</tid>
    <cid>0</cid>
    <description>ºÞ¸ôÂ_­±</description>
    <elementCriterion>
      <elementType>7</elementType>
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-423.C-1">
    <tid>423</tid>
    <cid>1</cid>
    <description>ºÞ¸ôÂ_­±¤Þ½u</description>
    <elementCriterion>
      <elementType>12</elementType>
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-424.C-0">
    <tid>424</tid>
    <cid>0</cid>
    <description>¯S®í¤uªkºX¼Ð²Å¸¹</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-501.C-0">
    <tid>501</tid>
    <cid>0</cid>
    <description>»Ùê³òÆX</description>
    <elementCriterion>
      <elementType>6</elementType>
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-501.C-1">
    <tid>501</tid>
    <cid>1</cid>
    <description>»Ùê³òÆX¤å¦rµù°O</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-502.C-0">
    <tid>502</tid>
    <cid>0</cid>
    <description>°ÝÃD³òÆX</description>
    <elementCriterion>
      <elementType>6</elementType>
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-502.C-1">
    <tid>502</tid>
    <cid>1</cid>
    <description>°ÝÃD³òÆX¤å¦rµù°O</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-503.C-0">
    <tid>503</tid>
    <cid>0</cid>
    <description>¤å¦rµù°O</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-407.C-0">
    <tid>407</tid>
    <cid>0</cid>
@@ -110,6 +255,51 @@
    <description>¹q±ì-1/600µù°O</description>
    <elementCriterion>
      <elementType>7</elementType>
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-407.C-7">
    <tid>407</tid>
    <cid>7</cid>
    <description>1/600¹q±ì¤Þ¤W¤U²Å¸¹</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-407.C-8">
    <tid>407</tid>
    <cid>8</cid>
    <description>1/1200¹q±ì¤Þ¤W¤U²Å¸¹</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-407.C-9">
    <tid>407</tid>
    <cid>9</cid>
    <description>¹q±ì¤ô¥­¤ä½u</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-407.C-10">
    <tid>407</tid>
    <cid>10</cid>
    <description>¹q±ì±ì¸¹</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-407.C-11">
    <tid>407</tid>
    <cid>11</cid>
    <description>¹q±ì¤ô¥­¤ä½u³»»\</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
@@ -327,6 +517,70 @@
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-115.C-2">
    <tid>115</tid>
    <cid>2</cid>
    <description>¸ô¿O¨t²Î¹ÏÅÜÀ£¾¹</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-115.C-3">
    <tid>115</tid>
    <cid>3</cid>
    <description>¸ô¿O¨t²Î¹ÏÅÜÀ£¾¹µù°O</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-115.C-4">
    <tid>115</tid>
    <cid>4</cid>
    <description>§CÀ£¨t²Î¹ÏÅÜÀ£¾¹</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-115.C-5">
    <tid>115</tid>
    <cid>5</cid>
    <description>§CÀ£¨t²Î¹ÏÅÜÀ£¾¹µù°O</description>
    <elementCriterion>
      <elementType>7</elementType>
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-115.C-6">
    <tid>115</tid>
    <cid>6</cid>
    <description>§CÀ£¨t²Î¹Ï-°t¹q«Ç®y¼Ðµù°O</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-115.C-7">
    <tid>115</tid>
    <cid>7</cid>
    <description>§CÀ£¨t²Î¹Ï-°t¹q«Ç®y¼Ðµù°O</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-115.C-8">
    <tid>115</tid>
    <cid>8</cid>
    <description>¬[ªÅÅÜÀ£¾¹(¦a¤U§CÀ£¥Î)µù°O</description>
    <elementCriterion>
      <elementType>7</elementType>
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-118.C-0">
    <tid>118</tid>
    <cid>0</cid>
@@ -357,12 +611,49 @@
  <TypeCompFilter name="FSC-140.C-0">
    <tid>140</tid>
    <cid>0</cid>
    <description>°ªÀ£½u¸ô</description>
    <description>°ªÀ£½u¸ô(½u¸ô¹Ï¥Î)</description>
    <elementCriterion>
      <elementType>12</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-140.C-1">
    <tid>140</tid>
    <cid>1</cid>
    <description>¤Þ½u(½u¸ô¹Ï¥Î)</description>
    <elementCriterion>
      <elementType>12</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-140.C-2">
    <tid>140</tid>
    <cid>2</cid>
    <description>¾É½uµù°O(½u¸ô¹Ï¥Î)</description>
    <elementCriterion>
      <elementType>7</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-140.C-3">
    <tid>140</tid>
    <cid>3</cid>
    <description>õX½u¥N¸¹¤Þ½u(½u¸ô¹Ï¥Î)</description>
    <elementCriterion>
      <elementType>12</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-140.C-4">
    <tid>140</tid>
    <cid>4</cid>
    <description>õX½u¥N¸¹µù°O(½u¸ô¹Ï¥Î)</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-151.C-0">
    <tid>150</tid>
    <cid>0</cid>
@@ -388,6 +679,7 @@
    <cid>0</cid>
    <description>±µ¤á½u</description>
    <elementCriterion>
      <elementType>12</elementType>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
@@ -425,6 +717,7 @@
    <description>±µ¤áÂIªùµPµù°O</description>
    <elementCriterion>
      <elementType>7</elementType>
      <elementType>17</elementType>
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
@@ -658,6 +951,33 @@
    </elementCriterion>
    <SymbolCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-216.C-1">
    <tid>216</tid>
    <cid>1</cid>
    <description>§CÀ£ºÊµø¾¹µù°O</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <SymbolCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-216.C-2">
    <tid>216</tid>
    <cid>2</cid>
    <description>§CÀ£ºÊµø¾¹ªùµPµù°O</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <SymbolCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-217.C-0">
    <tid>217</tid>
    <cid>0</cid>
    <description>§CÀ£¦a¤U´å¥ð</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <SymbolCreateStrategy/>
  </TypeCompFilter>
  <!-- ¥úÆl -->
  <TypeCompFilter name="FSC-300.C-0">
    <tid>300</tid>
@@ -665,6 +985,7 @@
    <description>³q°T¥úÆl½u</description>
    <elementCriterion>
      <elementType>4</elementType>
      <elementType>12</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
@@ -710,6 +1031,25 @@
    <description>¸ô¿O±±¨î½u</description>
    <elementCriterion>
      <elementType>4</elementType>
      <elementType>12</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-301.C-1">
    <tid>301</tid>
    <cid>1</cid>
    <description>¸ô¿O±±¨î½u¤Þ½u²Å¸¹</description>
    <elementCriterion>
      <elementType>12</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-301.C-3">
    <tid>301</tid>
    <cid>3</cid>
    <description>¸ô¿O±±¨î½uµù°O</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
@@ -723,6 +1063,339 @@
    </elementCriterion>
    <TextCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-113.C-0">
    <tid>113</tid>
    <cid>0</cid>
    <description>°ªÀ£¦a¤U´å¥ð</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-403.C-0">
    <tid>403</tid>
    <cid>0</cid>
    <description>°ª§CÀ£¤H¤â¤Õ</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-403.C-1">
    <tid>403</tid>
    <cid>1</cid>
    <description>°ª§CÀ£¤H¤â¤Õ®y¼Ðµù°O</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-403.C-2">
    <tid>403</tid>
    <cid>2</cid>
    <description>°ª§CÀ£¤H¤â¤Õ¶ê°é²Å¸¹</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-403.C-4">
    <tid>403</tid>
    <cid>4</cid>
    <description>¸ô¿O¤Õ¶ê°é</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-403.C-5">
    <tid>403</tid>
    <cid>5</cid>
    <description>¸ô¿O¤Õ®y¼Ðµù°O</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-403.C-6">
    <tid>403</tid>
    <cid>6</cid>
    <description>¥úÅÖ¤Õ¶ê°é²Å¸¹</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-403.C-7">
    <tid>403</tid>
    <cid>7</cid>
    <description>¥úÆl¤Õ®y¼Ðµù°O(¥úÆl¹Ï¥Î)</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-401.C-0">
    <tid>401</tid>
    <cid>0</cid>
    <description>ºÞ¸ô</description>
    <elementCriterion>
      <elementType>12</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-401.C-1">
    <tid>401</tid>
    <cid>1</cid>
    <description>ºÞ¸ô¤Þ½u</description>
    <elementCriterion>
      <elementType>12</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-401.C-2">
    <tid>401</tid>
    <cid>2</cid>
    <description>ºÞ¸ôºÞ´U</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-401.C-3">
    <tid>401</tid>
    <cid>3</cid>
    <description>ºÞ¸ô¤å¦r»¡©úµù°O</description>
    <elementCriterion>
      <elementType>7</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-401.C-5">
    <tid>401</tid>
    <cid>5</cid>
    <description>ºÞ¸ôÂ_­±°Ï¬q°Ï¹j</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-302.C-0">
    <tid>302</tid>
    <cid>0</cid>
    <description>¸ô¿O­t¸ü½u</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-302.C-1">
    <tid>302</tid>
    <cid>1</cid>
    <description>¸ô¿O­t¸ü½uµù°O</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-303.C-0">
    <tid>303</tid>
    <cid>0</cid>
    <description>¸ô¿O¾Þ§@½u</description>
    <elementCriterion>
      <elementType>12</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-303.C-1">
    <tid>303</tid>
    <cid>1</cid>
    <description>¸ô¿O¾Þ§@½u¤Þ½u</description>
    <elementCriterion>
      <elementType>12</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-303.C-3">
    <tid>303</tid>
    <cid>3</cid>
    <description>¸ô¿O¾Þ§@½uµù°O</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-305.C-0">
    <tid>305</tid>
    <cid>0</cid>
    <description>¸ô¿OÂI·À¾¹</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-306.C-0">
    <tid>306</tid>
    <cid>0</cid>
    <description>¸ô¿O®É±±¶}Ãö</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-307.C-0">
    <tid>307</tid>
    <cid>0</cid>
    <description>¸ô¿O¤Àª[ÂI</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-308.C-0">
    <tid>308</tid>
    <cid>0</cid>
    <description>¸ô¿O²×ºÝ</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-311.C-0">
    <tid>311</tid>
    <cid>0</cid>
    <description>¸ô¿O¥x±b</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-311.C-1">
    <tid>311</tid>
    <cid>1</cid>
    <description>¸ô¿O¥x±b¹Ï¸¹(®e¶q.·ø¼Æ)µù°O</description>
    <elementCriterion>
      <elementType>7</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-314.C-0">
    <tid>314</tid>
    <cid>0</cid>
    <description>¬[ªÅ¸ô¿O­t¸ü½u</description>
    <elementCriterion>
      <elementType>12</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-314.C-1">
    <tid>314</tid>
    <cid>1</cid>
    <description>¬[ªÅ¸ô¿O­t¸ü½uµù°O</description>
    <elementCriterion>
      <elementType>7</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-315.C-0">
    <tid>315</tid>
    <cid>0</cid>
    <description>¬[ªÅ¸ô¿O±±¨î½u</description>
    <elementCriterion>
      <elementType>12</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-315.C-1">
    <tid>315</tid>
    <cid>1</cid>
    <description>¬[ªÅ¸ô¿O±±¨î½u</description>
    <elementCriterion>
      <elementType>7</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-316.C-0">
    <tid>316</tid>
    <cid>0</cid>
    <description>¸ô¿Oª½¸ô</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-317.C-0">
    <tid>317</tid>
    <cid>0</cid>
    <description>¸ô¿O±±¨î¶}Ãö</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-317.C-1">
    <tid>317</tid>
    <cid>1</cid>
    <description>¸ô¿O±±¨î¶}Ãöµù°O</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-318.C-0">
    <tid>318</tid>
    <cid>0</cid>
    <description>¸ô¿O¶×¬y±Æ</description>
    <elementCriterion>
      <elementType>12</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-319.C-0">
    <tid>319</tid>
    <cid>0</cid>
    <description>¥úÅÖ¦¬®e</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-320.C-0">
    <tid>320</tid>
    <cid>0</cid>
    <description>¥úÅÖ³q°T±µÀY</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-323.C-0">
    <tid>323</tid>
    <cid>0</cid>
    <description>¥ú¹qÂà´«¾¹</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-324.C-0">
    <tid>324</tid>
    <cid>0</cid>
    <description>¦Û°Ê¤Æ»»±±¾¹</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <TypeCompFilter name="FSC-324.C-1">
    <tid>324</tid>
    <cid>1</cid>
    <description>¦Û°Ê¤Æ»»±±¾¹µù°O</description>
    <elementCriterion>
      <elementType>17</elementType>
    </elementCriterion>
    <LineCreateStrategy/>
  </TypeCompFilter>
  <!-- Dummy
  <TypeCompLevelFilter name="DemoFeature3">
    <tid>999</tid>